summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/base.py7
-rw-r--r--gitlab/mixins.py25
-rw-r--r--gitlab/v4/objects/access_requests.py8
-rw-r--r--gitlab/v4/objects/appearance.py6
-rw-r--r--gitlab/v4/objects/applications.py5
-rw-r--r--gitlab/v4/objects/award_emojis.py16
-rw-r--r--gitlab/v4/objects/badges.py8
-rw-r--r--gitlab/v4/objects/boards.py12
-rw-r--r--gitlab/v4/objects/branches.py8
-rw-r--r--gitlab/v4/objects/broadcast_messages.py6
-rw-r--r--gitlab/v4/objects/clusters.py8
-rw-r--r--gitlab/v4/objects/commits.py10
-rw-r--r--gitlab/v4/objects/container_registry.py8
-rw-r--r--gitlab/v4/objects/custom_attributes.py10
-rw-r--r--gitlab/v4/objects/deploy_keys.py8
-rw-r--r--gitlab/v4/objects/deploy_tokens.py10
-rw-r--r--gitlab/v4/objects/deployments.py6
-rw-r--r--gitlab/v4/objects/discussions.py12
-rw-r--r--gitlab/v4/objects/environments.py6
-rw-r--r--gitlab/v4/objects/epics.py8
-rw-r--r--gitlab/v4/objects/events.py22
-rw-r--r--gitlab/v4/objects/export_import.py12
-rw-r--r--gitlab/v4/objects/features.py7
-rw-r--r--gitlab/v4/objects/files.py9
-rw-r--r--gitlab/v4/objects/geo_nodes.py6
-rw-r--r--gitlab/v4/objects/groups.py8
-rw-r--r--gitlab/v4/objects/hooks.py8
-rw-r--r--gitlab/v4/objects/issues.py15
-rw-r--r--gitlab/v4/objects/jobs.py8
-rw-r--r--gitlab/v4/objects/labels.py8
-rw-r--r--gitlab/v4/objects/ldap.py7
-rw-r--r--gitlab/v4/objects/members.py8
-rw-r--r--gitlab/v4/objects/merge_request_approvals.py12
-rw-r--r--gitlab/v4/objects/merge_requests.py12
-rw-r--r--gitlab/v4/objects/milestones.py10
-rw-r--r--gitlab/v4/objects/namespaces.py6
-rw-r--r--gitlab/v4/objects/notes.py20
-rw-r--r--gitlab/v4/objects/notification_settings.py10
-rw-r--r--gitlab/v4/objects/packages.py8
-rw-r--r--gitlab/v4/objects/pages.py8
-rw-r--r--gitlab/v4/objects/pipelines.py16
-rw-r--r--gitlab/v4/objects/projects.py15
-rw-r--r--gitlab/v4/objects/push_rules.py6
-rw-r--r--gitlab/v4/objects/runners.py12
-rw-r--r--gitlab/v4/objects/services.py7
-rw-r--r--gitlab/v4/objects/settings.py7
-rw-r--r--gitlab/v4/objects/sidekiq.py5
-rw-r--r--gitlab/v4/objects/snippets.py10
-rw-r--r--gitlab/v4/objects/statistics.py8
-rw-r--r--gitlab/v4/objects/tags.py10
-rw-r--r--gitlab/v4/objects/templates.py12
-rw-r--r--gitlab/v4/objects/todos.py6
-rw-r--r--gitlab/v4/objects/triggers.py8
-rw-r--r--gitlab/v4/objects/users.py37
-rw-r--r--gitlab/v4/objects/variables.py10
-rw-r--r--gitlab/v4/objects/wikis.py6
56 files changed, 557 insertions, 9 deletions
diff --git a/gitlab/base.py b/gitlab/base.py
index ad35339..6d92fdf 100644
--- a/gitlab/base.py
+++ b/gitlab/base.py
@@ -18,6 +18,13 @@
import importlib
+__all__ = [
+ "RESTObject",
+ "RESTObjectList",
+ "RESTManager",
+]
+
+
class RESTObject(object):
"""Represents an object built from server data.
diff --git a/gitlab/mixins.py b/gitlab/mixins.py
index 9c00c32..645f87a 100644
--- a/gitlab/mixins.py
+++ b/gitlab/mixins.py
@@ -23,6 +23,31 @@ from gitlab import types as g_types
from gitlab import utils
+__all__ = [
+ "GetMixin",
+ "GetWithoutIdMixin",
+ "RefreshMixin",
+ "ListMixin",
+ "RetrieveMixin",
+ "CreateMixin",
+ "UpdateMixin",
+ "SetMixin",
+ "DeleteMixin",
+ "CRUDMixin",
+ "NoUpdateMixin",
+ "SaveMixin",
+ "ObjectDeleteMixin",
+ "UserAgentDetailMixin",
+ "AccessRequestMixin",
+ "DownloadMixin",
+ "SubscribableMixin",
+ "TodoMixin",
+ "TimeTrackingMixin",
+ "ParticipantsMixin",
+ "BadgeRenderMixin",
+]
+
+
class GetMixin(object):
@exc.on_http_error(exc.GitlabGetError)
def get(self, id, lazy=False, **kwargs):
diff --git a/gitlab/v4/objects/access_requests.py b/gitlab/v4/objects/access_requests.py
index 2acae50..a38b98e 100644
--- a/gitlab/v4/objects/access_requests.py
+++ b/gitlab/v4/objects/access_requests.py
@@ -2,6 +2,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupAccessRequest",
+ "GroupAccessRequestManager",
+ "ProjectAccessRequest",
+ "ProjectAccessRequestManager",
+]
+
+
class GroupAccessRequest(AccessRequestMixin, ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/appearance.py b/gitlab/v4/objects/appearance.py
index 4854e2a..f48a0c1 100644
--- a/gitlab/v4/objects/appearance.py
+++ b/gitlab/v4/objects/appearance.py
@@ -3,6 +3,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ApplicationAppearance",
+ "ApplicationAppearanceManager",
+]
+
+
class ApplicationAppearance(SaveMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/applications.py b/gitlab/v4/objects/applications.py
index 3fa1983..3fc3def 100644
--- a/gitlab/v4/objects/applications.py
+++ b/gitlab/v4/objects/applications.py
@@ -1,6 +1,11 @@
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Application",
+ "ApplicationManager",
+]
+
class Application(ObjectDeleteMixin, RESTObject):
_url = "/applications"
diff --git a/gitlab/v4/objects/award_emojis.py b/gitlab/v4/objects/award_emojis.py
index fe87109..43efa2c 100644
--- a/gitlab/v4/objects/award_emojis.py
+++ b/gitlab/v4/objects/award_emojis.py
@@ -2,6 +2,22 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectIssueAwardEmoji",
+ "ProjectIssueAwardEmojiManager",
+ "ProjectIssueNoteAwardEmoji",
+ "ProjectIssueNoteAwardEmojiManager",
+ "ProjectMergeRequestAwardEmoji",
+ "ProjectMergeRequestAwardEmojiManager",
+ "ProjectMergeRequestNoteAwardEmoji",
+ "ProjectMergeRequestNoteAwardEmojiManager",
+ "ProjectSnippetAwardEmoji",
+ "ProjectSnippetAwardEmojiManager",
+ "ProjectSnippetNoteAwardEmoji",
+ "ProjectSnippetNoteAwardEmojiManager",
+]
+
+
class ProjectIssueAwardEmoji(ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/badges.py b/gitlab/v4/objects/badges.py
index 5e11354..94b97a9 100644
--- a/gitlab/v4/objects/badges.py
+++ b/gitlab/v4/objects/badges.py
@@ -2,6 +2,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupBadge",
+ "GroupBadgeManager",
+ "ProjectBadge",
+ "ProjectBadgeManager",
+]
+
+
class GroupBadge(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/boards.py b/gitlab/v4/objects/boards.py
index cd5aa14..3936259 100644
--- a/gitlab/v4/objects/boards.py
+++ b/gitlab/v4/objects/boards.py
@@ -2,6 +2,18 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupBoardList",
+ "GroupBoardListManager",
+ "GroupBoard",
+ "GroupBoardManager",
+ "ProjectBoardList",
+ "ProjectBoardListManager",
+ "ProjectBoard",
+ "ProjectBoardManager",
+]
+
+
class GroupBoardList(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/branches.py b/gitlab/v4/objects/branches.py
index c6ff1e8..f14fd79 100644
--- a/gitlab/v4/objects/branches.py
+++ b/gitlab/v4/objects/branches.py
@@ -4,6 +4,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectBranch",
+ "ProjectBranchManager",
+ "ProjectProtectedBranch",
+ "ProjectProtectedBranchManager",
+]
+
+
class ProjectBranch(ObjectDeleteMixin, RESTObject):
_id_attr = "name"
diff --git a/gitlab/v4/objects/broadcast_messages.py b/gitlab/v4/objects/broadcast_messages.py
index 66933a1..f6d6507 100644
--- a/gitlab/v4/objects/broadcast_messages.py
+++ b/gitlab/v4/objects/broadcast_messages.py
@@ -2,6 +2,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "BroadcastMessage",
+ "BroadcastMessageManager",
+]
+
+
class BroadcastMessage(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/clusters.py b/gitlab/v4/objects/clusters.py
index d136365..8c8744e 100644
--- a/gitlab/v4/objects/clusters.py
+++ b/gitlab/v4/objects/clusters.py
@@ -3,6 +3,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupCluster",
+ "GroupClusterManager",
+ "ProjectCluster",
+ "ProjectClusterManager",
+]
+
+
class GroupCluster(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/commits.py b/gitlab/v4/objects/commits.py
index 3f2232b..712a49f 100644
--- a/gitlab/v4/objects/commits.py
+++ b/gitlab/v4/objects/commits.py
@@ -5,6 +5,16 @@ from gitlab.mixins import * # noqa
from .discussions import ProjectCommitDiscussionManager
+__all__ = [
+ "ProjectCommit",
+ "ProjectCommitManager",
+ "ProjectCommitComment",
+ "ProjectCommitCommentManager",
+ "ProjectCommitStatus",
+ "ProjectCommitStatusManager",
+]
+
+
class ProjectCommit(RESTObject):
_short_print_attr = "title"
_managers = (
diff --git a/gitlab/v4/objects/container_registry.py b/gitlab/v4/objects/container_registry.py
index a6d0983..80d8922 100644
--- a/gitlab/v4/objects/container_registry.py
+++ b/gitlab/v4/objects/container_registry.py
@@ -4,6 +4,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectRegistryRepository",
+ "ProjectRegistryRepositoryManager",
+ "ProjectRegistryTag",
+ "ProjectRegistryTagManager",
+]
+
+
class ProjectRegistryRepository(ObjectDeleteMixin, RESTObject):
_managers = (("tags", "ProjectRegistryTagManager"),)
diff --git a/gitlab/v4/objects/custom_attributes.py b/gitlab/v4/objects/custom_attributes.py
index 3a86072..f48b3f7 100644
--- a/gitlab/v4/objects/custom_attributes.py
+++ b/gitlab/v4/objects/custom_attributes.py
@@ -2,6 +2,16 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupCustomAttribute",
+ "GroupCustomAttributeManager",
+ "ProjectCustomAttribute",
+ "ProjectCustomAttributeManager",
+ "UserCustomAttribute",
+ "UserCustomAttributeManager",
+]
+
+
class GroupCustomAttribute(ObjectDeleteMixin, RESTObject):
_id_attr = "key"
diff --git a/gitlab/v4/objects/deploy_keys.py b/gitlab/v4/objects/deploy_keys.py
index 9143fc2..da2fddd 100644
--- a/gitlab/v4/objects/deploy_keys.py
+++ b/gitlab/v4/objects/deploy_keys.py
@@ -4,6 +4,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "DeployKey",
+ "DeployKeyManager",
+ "ProjectKey",
+ "ProjectKeyManager",
+]
+
+
class DeployKey(RESTObject):
pass
diff --git a/gitlab/v4/objects/deploy_tokens.py b/gitlab/v4/objects/deploy_tokens.py
index 43f8299..95a77a0 100644
--- a/gitlab/v4/objects/deploy_tokens.py
+++ b/gitlab/v4/objects/deploy_tokens.py
@@ -2,6 +2,16 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "DeployToken",
+ "DeployTokenManager",
+ "GroupDeployToken",
+ "GroupDeployTokenManager",
+ "ProjectDeployToken",
+ "ProjectDeployTokenManager",
+]
+
+
class DeployToken(ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/deployments.py b/gitlab/v4/objects/deployments.py
index cc15f66..fcd9b49 100644
--- a/gitlab/v4/objects/deployments.py
+++ b/gitlab/v4/objects/deployments.py
@@ -2,6 +2,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectDeployment",
+ "ProjectDeploymentManager",
+]
+
+
class ProjectDeployment(RESTObject, SaveMixin):
pass
diff --git a/gitlab/v4/objects/discussions.py b/gitlab/v4/objects/discussions.py
index a45864b..e9a12b3 100644
--- a/gitlab/v4/objects/discussions.py
+++ b/gitlab/v4/objects/discussions.py
@@ -8,6 +8,18 @@ from .notes import (
)
+__all__ = [
+ "ProjectCommitDiscussion",
+ "ProjectCommitDiscussionManager",
+ "ProjectIssueDiscussion",
+ "ProjectIssueDiscussionManager",
+ "ProjectMergeRequestDiscussion",
+ "ProjectMergeRequestDiscussionManager",
+ "ProjectSnippetDiscussion",
+ "ProjectSnippetDiscussionManager",
+]
+
+
class ProjectCommitDiscussion(RESTObject):
_managers = (("notes", "ProjectCommitDiscussionNoteManager"),)
diff --git a/gitlab/v4/objects/environments.py b/gitlab/v4/objects/environments.py
index 6a39689..8570076 100644
--- a/gitlab/v4/objects/environments.py
+++ b/gitlab/v4/objects/environments.py
@@ -4,6 +4,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectEnvironment",
+ "ProjectEnvironmentManager",
+]
+
+
class ProjectEnvironment(SaveMixin, ObjectDeleteMixin, RESTObject):
@cli.register_custom_action("ProjectEnvironment")
@exc.on_http_error(exc.GitlabStopError)
diff --git a/gitlab/v4/objects/epics.py b/gitlab/v4/objects/epics.py
index 2cbadfa..43c926c 100644
--- a/gitlab/v4/objects/epics.py
+++ b/gitlab/v4/objects/epics.py
@@ -5,6 +5,14 @@ from gitlab.mixins import * # noqa
from .events import GroupEpicResourceLabelEventManager
+__all__ = [
+ "GroupEpic",
+ "GroupEpicManager",
+ "GroupEpicIssue",
+ "GroupEpicIssueManager",
+]
+
+
class GroupEpic(ObjectDeleteMixin, SaveMixin, RESTObject):
_id_attr = "iid"
_managers = (
diff --git a/gitlab/v4/objects/events.py b/gitlab/v4/objects/events.py
index 2ecd60c..6e0872a 100644
--- a/gitlab/v4/objects/events.py
+++ b/gitlab/v4/objects/events.py
@@ -3,6 +3,28 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Event",
+ "EventManager",
+ "AuditEvent",
+ "AuditEventManager",
+ "GroupEpicResourceLabelEvent",
+ "GroupEpicResourceLabelEventManager",
+ "ProjectEvent",
+ "ProjectEventManager",
+ "ProjectIssueResourceLabelEvent",
+ "ProjectIssueResourceLabelEventManager",
+ "ProjectIssueResourceMilestoneEvent",
+ "ProjectIssueResourceMilestoneEventManager",
+ "ProjectMergeRequestResourceLabelEvent",
+ "ProjectMergeRequestResourceLabelEventManager",
+ "ProjectMergeRequestResourceMilestoneEvent",
+ "ProjectMergeRequestResourceMilestoneEventManager",
+ "UserEvent",
+ "UserEventManager",
+]
+
+
class Event(RESTObject):
_id_attr = None
_short_print_attr = "target_title"
diff --git a/gitlab/v4/objects/export_import.py b/gitlab/v4/objects/export_import.py
index c7cea20..59d110e 100644
--- a/gitlab/v4/objects/export_import.py
+++ b/gitlab/v4/objects/export_import.py
@@ -2,6 +2,18 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupExport",
+ "GroupExportManager",
+ "GroupImport",
+ "GroupImportManager",
+ "ProjectExport",
+ "ProjectExportManager",
+ "ProjectImport",
+ "ProjectImportManager",
+]
+
+
class GroupExport(DownloadMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/features.py b/gitlab/v4/objects/features.py
index da756e0..449b2e7 100644
--- a/gitlab/v4/objects/features.py
+++ b/gitlab/v4/objects/features.py
@@ -1,8 +1,15 @@
+from gitlab import utils
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Feature",
+ "FeatureManager",
+]
+
+
class Feature(ObjectDeleteMixin, RESTObject):
_id_attr = "name"
diff --git a/gitlab/v4/objects/files.py b/gitlab/v4/objects/files.py
index bffa4e4..8477989 100644
--- a/gitlab/v4/objects/files.py
+++ b/gitlab/v4/objects/files.py
@@ -1,11 +1,16 @@
import base64
-
-from gitlab import cli, types
+from gitlab import cli, utils
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectFile",
+ "ProjectFileManager",
+]
+
+
class ProjectFile(SaveMixin, ObjectDeleteMixin, RESTObject):
_id_attr = "file_path"
_short_print_attr = "file_path"
diff --git a/gitlab/v4/objects/geo_nodes.py b/gitlab/v4/objects/geo_nodes.py
index 913bfca..0652702 100644
--- a/gitlab/v4/objects/geo_nodes.py
+++ b/gitlab/v4/objects/geo_nodes.py
@@ -4,6 +4,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GeoNode",
+ "GeoNodeManager",
+]
+
+
class GeoNode(SaveMixin, ObjectDeleteMixin, RESTObject):
@cli.register_custom_action("GeoNode")
@exc.on_http_error(exc.GitlabRepairError)
diff --git a/gitlab/v4/objects/groups.py b/gitlab/v4/objects/groups.py
index 086a87d..fc14346 100644
--- a/gitlab/v4/objects/groups.py
+++ b/gitlab/v4/objects/groups.py
@@ -22,6 +22,14 @@ from .clusters import GroupClusterManager
from .deploy_tokens import GroupDeployTokenManager
+__all__ = [
+ "Group",
+ "GroupManager",
+ "GroupSubgroup",
+ "GroupSubgroupManager",
+]
+
+
class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "name"
_managers = (
diff --git a/gitlab/v4/objects/hooks.py b/gitlab/v4/objects/hooks.py
index 3bd9132..93a0142 100644
--- a/gitlab/v4/objects/hooks.py
+++ b/gitlab/v4/objects/hooks.py
@@ -2,6 +2,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Hook",
+ "HookManager",
+ "ProjectHook",
+ "ProjectHookManager",
+]
+
+
class Hook(ObjectDeleteMixin, RESTObject):
_url = "/hooks"
_short_print_attr = "url"
diff --git a/gitlab/v4/objects/issues.py b/gitlab/v4/objects/issues.py
index 1d8358d..2d7d570 100644
--- a/gitlab/v4/objects/issues.py
+++ b/gitlab/v4/objects/issues.py
@@ -1,4 +1,5 @@
-from gitlab import types
+from gitlab import cli, types
+from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
from .award_emojis import ProjectIssueAwardEmojiManager
@@ -10,6 +11,18 @@ from .events import (
from .notes import ProjectIssueNoteManager
+__all__ = [
+ "Issue",
+ "IssueManager",
+ "GroupIssue",
+ "GroupIssueManager",
+ "ProjectIssue",
+ "ProjectIssueManager",
+ "ProjectIssueLink",
+ "ProjectIssueLinkManager",
+]
+
+
class Issue(RESTObject):
_url = "/issues"
_short_print_attr = "title"
diff --git a/gitlab/v4/objects/jobs.py b/gitlab/v4/objects/jobs.py
index b17632c..33fc991 100644
--- a/gitlab/v4/objects/jobs.py
+++ b/gitlab/v4/objects/jobs.py
@@ -1,9 +1,15 @@
-from gitlab import cli
+from gitlab import cli, utils
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectJob",
+ "ProjectJobManager",
+]
+
+
class ProjectJob(RESTObject, RefreshMixin):
@cli.register_custom_action("ProjectJob")
@exc.on_http_error(exc.GitlabJobCancelError)
diff --git a/gitlab/v4/objects/labels.py b/gitlab/v4/objects/labels.py
index ef6511f..441035f 100644
--- a/gitlab/v4/objects/labels.py
+++ b/gitlab/v4/objects/labels.py
@@ -3,6 +3,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupLabel",
+ "GroupLabelManager",
+ "ProjectLabel",
+ "ProjectLabelManager",
+]
+
+
class GroupLabel(SubscribableMixin, SaveMixin, ObjectDeleteMixin, RESTObject):
_id_attr = "name"
diff --git a/gitlab/v4/objects/ldap.py b/gitlab/v4/objects/ldap.py
index ed3dd72..5355aaf 100644
--- a/gitlab/v4/objects/ldap.py
+++ b/gitlab/v4/objects/ldap.py
@@ -1,7 +1,14 @@
+from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "LDAPGroup",
+ "LDAPGroupManager",
+]
+
+
class LDAPGroup(RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/members.py b/gitlab/v4/objects/members.py
index e8a5038..32ac9a2 100644
--- a/gitlab/v4/objects/members.py
+++ b/gitlab/v4/objects/members.py
@@ -4,6 +4,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupMember",
+ "GroupMemberManager",
+ "ProjectMember",
+ "ProjectMemberManager",
+]
+
+
class GroupMember(SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "username"
diff --git a/gitlab/v4/objects/merge_request_approvals.py b/gitlab/v4/objects/merge_request_approvals.py
index 8e5cbb3..ec2da14 100644
--- a/gitlab/v4/objects/merge_request_approvals.py
+++ b/gitlab/v4/objects/merge_request_approvals.py
@@ -3,6 +3,18 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectApproval",
+ "ProjectApprovalManager",
+ "ProjectApprovalRule",
+ "ProjectApprovalRuleManager",
+ "ProjectMergeRequestApproval",
+ "ProjectMergeRequestApprovalManager",
+ "ProjectMergeRequestApprovalRule",
+ "ProjectMergeRequestApprovalRuleManager",
+]
+
+
class ProjectApproval(SaveMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/merge_requests.py b/gitlab/v4/objects/merge_requests.py
index 477ccc6..dd37ada 100644
--- a/gitlab/v4/objects/merge_requests.py
+++ b/gitlab/v4/objects/merge_requests.py
@@ -17,6 +17,18 @@ from .events import (
)
+__all__ = [
+ "MergeRequest",
+ "MergeRequestManager",
+ "GroupMergeRequest",
+ "GroupMergeRequestManager",
+ "ProjectMergeRequest",
+ "ProjectMergeRequestManager",
+ "ProjectMergeRequestDiff",
+ "ProjectMergeRequestDiffManager",
+]
+
+
class MergeRequest(RESTObject):
pass
diff --git a/gitlab/v4/objects/milestones.py b/gitlab/v4/objects/milestones.py
index e15ec5a..deb5970 100644
--- a/gitlab/v4/objects/milestones.py
+++ b/gitlab/v4/objects/milestones.py
@@ -1,4 +1,4 @@
-from gitlab import cli, types
+from gitlab import cli
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
@@ -11,6 +11,14 @@ from .merge_requests import (
)
+__all__ = [
+ "GroupMilestone",
+ "GroupMilestoneManager",
+ "ProjectMilestone",
+ "ProjectMilestoneManager",
+]
+
+
class GroupMilestone(SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "title"
diff --git a/gitlab/v4/objects/namespaces.py b/gitlab/v4/objects/namespaces.py
index 7e66a39..e761a36 100644
--- a/gitlab/v4/objects/namespaces.py
+++ b/gitlab/v4/objects/namespaces.py
@@ -2,6 +2,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Namespace",
+ "NamespaceManager",
+]
+
+
class Namespace(RESTObject):
pass
diff --git a/gitlab/v4/objects/notes.py b/gitlab/v4/objects/notes.py
index 4cd1f25..23c7fa8 100644
--- a/gitlab/v4/objects/notes.py
+++ b/gitlab/v4/objects/notes.py
@@ -9,6 +9,26 @@ from .award_emojis import (
)
+__all__ = [
+ "ProjectNote",
+ "ProjectNoteManager",
+ "ProjectCommitDiscussionNote",
+ "ProjectCommitDiscussionNoteManager",
+ "ProjectIssueNote",
+ "ProjectIssueNoteManager",
+ "ProjectIssueDiscussionNote",
+ "ProjectIssueDiscussionNoteManager",
+ "ProjectMergeRequestNote",
+ "ProjectMergeRequestNoteManager",
+ "ProjectMergeRequestDiscussionNote",
+ "ProjectMergeRequestDiscussionNoteManager",
+ "ProjectSnippetNote",
+ "ProjectSnippetNoteManager",
+ "ProjectSnippetDiscussionNote",
+ "ProjectSnippetDiscussionNoteManager",
+]
+
+
class ProjectNote(RESTObject):
pass
diff --git a/gitlab/v4/objects/notification_settings.py b/gitlab/v4/objects/notification_settings.py
index 94b9e3b..9b320d7 100644
--- a/gitlab/v4/objects/notification_settings.py
+++ b/gitlab/v4/objects/notification_settings.py
@@ -2,6 +2,16 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "NotificationSettings",
+ "NotificationSettingsManager",
+ "GroupNotificationSettings",
+ "GroupNotificationSettingsManager",
+ "ProjectNotificationSettings",
+ "ProjectNotificationSettingsManager",
+]
+
+
class NotificationSettings(SaveMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/packages.py b/gitlab/v4/objects/packages.py
index be8292c..a0c0f25 100644
--- a/gitlab/v4/objects/packages.py
+++ b/gitlab/v4/objects/packages.py
@@ -2,6 +2,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "GroupPackage",
+ "GroupPackageManager",
+ "ProjectPackage",
+ "ProjectPackageManager",
+]
+
+
class GroupPackage(RESTObject):
pass
diff --git a/gitlab/v4/objects/pages.py b/gitlab/v4/objects/pages.py
index 1de92c3..27167eb 100644
--- a/gitlab/v4/objects/pages.py
+++ b/gitlab/v4/objects/pages.py
@@ -2,6 +2,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "PagesDomain",
+ "PagesDomainManager",
+ "ProjectPagesDomain",
+ "ProjectPagesDomainManager",
+]
+
+
class PagesDomain(RESTObject):
_id_attr = "domain"
diff --git a/gitlab/v4/objects/pipelines.py b/gitlab/v4/objects/pipelines.py
index f23df93..ddd32f8 100644
--- a/gitlab/v4/objects/pipelines.py
+++ b/gitlab/v4/objects/pipelines.py
@@ -4,6 +4,22 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectPipeline",
+ "ProjectPipelineManager",
+ "ProjectPipelineJob",
+ "ProjectPipelineJobManager",
+ "ProjectPipelineBridge",
+ "ProjectPipelineBridgeManager",
+ "ProjectPipelineVariable",
+ "ProjectPipelineVariableManager",
+ "ProjectPipelineScheduleVariable",
+ "ProjectPipelineScheduleVariableManager",
+ "ProjectPipelineSchedule",
+ "ProjectPipelineScheduleManager",
+]
+
+
class ProjectPipeline(RESTObject, RefreshMixin, ObjectDeleteMixin):
_managers = (
("jobs", "ProjectPipelineJobManager"),
diff --git a/gitlab/v4/objects/projects.py b/gitlab/v4/objects/projects.py
index 0ad9db1..0284e98 100644
--- a/gitlab/v4/objects/projects.py
+++ b/gitlab/v4/objects/projects.py
@@ -1,6 +1,5 @@
-from gitlab import cli
+from gitlab import cli, types, utils
from gitlab import exceptions as exc
-from gitlab import types, utils
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
@@ -47,6 +46,18 @@ from .variables import ProjectVariableManager
from .wikis import ProjectWikiManager
+__all__ = [
+ "GroupProject",
+ "GroupProjectManager",
+ "Project",
+ "ProjectManager",
+ "ProjectFork",
+ "ProjectForkManager",
+ "ProjectRemoteMirror",
+ "ProjectRemoteMirrorManager",
+]
+
+
class GroupProject(RESTObject):
pass
diff --git a/gitlab/v4/objects/push_rules.py b/gitlab/v4/objects/push_rules.py
index 8b8c8e4..5f1618b 100644
--- a/gitlab/v4/objects/push_rules.py
+++ b/gitlab/v4/objects/push_rules.py
@@ -2,6 +2,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectPushRules",
+ "ProjectPushRulesManager",
+]
+
+
class ProjectPushRules(SaveMixin, ObjectDeleteMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/runners.py b/gitlab/v4/objects/runners.py
index 1ce5437..390b9d3 100644
--- a/gitlab/v4/objects/runners.py
+++ b/gitlab/v4/objects/runners.py
@@ -4,6 +4,18 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "RunnerJob",
+ "RunnerJobManager",
+ "Runner",
+ "RunnerManager",
+ "GroupRunner",
+ "GroupRunnerManager",
+ "ProjectRunner",
+ "ProjectRunnerManager",
+]
+
+
class RunnerJob(RESTObject):
pass
diff --git a/gitlab/v4/objects/services.py b/gitlab/v4/objects/services.py
index 7667d2a..ff7e920 100644
--- a/gitlab/v4/objects/services.py
+++ b/gitlab/v4/objects/services.py
@@ -1,8 +1,15 @@
+from gitlab import cli
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectService",
+ "ProjectServiceManager",
+]
+
+
class ProjectService(SaveMixin, ObjectDeleteMixin, RESTObject):
pass
diff --git a/gitlab/v4/objects/settings.py b/gitlab/v4/objects/settings.py
index e4d3cc7..a731736 100644
--- a/gitlab/v4/objects/settings.py
+++ b/gitlab/v4/objects/settings.py
@@ -1,7 +1,14 @@
+from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ApplicationSettings",
+ "ApplicationSettingsManager",
+]
+
+
class ApplicationSettings(SaveMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/sidekiq.py b/gitlab/v4/objects/sidekiq.py
index 0c0c02c..f1f0e4b 100644
--- a/gitlab/v4/objects/sidekiq.py
+++ b/gitlab/v4/objects/sidekiq.py
@@ -4,6 +4,11 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "SidekiqManager",
+]
+
+
class SidekiqManager(RESTManager):
"""Manager for the Sidekiq methods.
diff --git a/gitlab/v4/objects/snippets.py b/gitlab/v4/objects/snippets.py
index ec5de95..4664f0a 100644
--- a/gitlab/v4/objects/snippets.py
+++ b/gitlab/v4/objects/snippets.py
@@ -1,4 +1,4 @@
-from gitlab import cli
+from gitlab import cli, utils
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
@@ -8,6 +8,14 @@ from .discussions import ProjectSnippetDiscussionManager
from .notes import ProjectSnippetNoteManager, ProjectSnippetDiscussionNoteManager
+__all__ = [
+ "Snippet",
+ "SnippetManager",
+ "ProjectSnippet",
+ "ProjectSnippetManager",
+]
+
+
class Snippet(UserAgentDetailMixin, SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "title"
diff --git a/gitlab/v4/objects/statistics.py b/gitlab/v4/objects/statistics.py
index 5ae17bf..53d0c7d 100644
--- a/gitlab/v4/objects/statistics.py
+++ b/gitlab/v4/objects/statistics.py
@@ -2,6 +2,14 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectAdditionalStatistics",
+ "ProjectAdditionalStatisticsManager",
+ "ProjectIssuesStatistics",
+ "ProjectIssuesStatisticsManager",
+]
+
+
class ProjectAdditionalStatistics(RefreshMixin, RESTObject):
_id_attr = None
diff --git a/gitlab/v4/objects/tags.py b/gitlab/v4/objects/tags.py
index d515ec1..c4d60db 100644
--- a/gitlab/v4/objects/tags.py
+++ b/gitlab/v4/objects/tags.py
@@ -4,6 +4,16 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectTag",
+ "ProjectTagManager",
+ "ProjectProtectedTag",
+ "ProjectProtectedTagManager",
+ "ProjectRelease",
+ "ProjectReleaseManager",
+]
+
+
class ProjectTag(ObjectDeleteMixin, RESTObject):
_id_attr = "name"
_short_print_attr = "name"
diff --git a/gitlab/v4/objects/templates.py b/gitlab/v4/objects/templates.py
index 5334baf..2fbfddf 100644
--- a/gitlab/v4/objects/templates.py
+++ b/gitlab/v4/objects/templates.py
@@ -2,6 +2,18 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Dockerfile",
+ "DockerfileManager",
+ "Gitignore",
+ "GitignoreManager",
+ "Gitlabciyml",
+ "GitlabciymlManager",
+ "License",
+ "LicenseManager",
+]
+
+
class Dockerfile(RESTObject):
_id_attr = "name"
diff --git a/gitlab/v4/objects/todos.py b/gitlab/v4/objects/todos.py
index 429005c..edde46e 100644
--- a/gitlab/v4/objects/todos.py
+++ b/gitlab/v4/objects/todos.py
@@ -4,6 +4,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Todo",
+ "TodoManager",
+]
+
+
class Todo(ObjectDeleteMixin, RESTObject):
@cli.register_custom_action("Todo")
@exc.on_http_error(exc.GitlabTodoError)
diff --git a/gitlab/v4/objects/triggers.py b/gitlab/v4/objects/triggers.py
index c30d33a..f5dadca 100644
--- a/gitlab/v4/objects/triggers.py
+++ b/gitlab/v4/objects/triggers.py
@@ -1,9 +1,15 @@
-from gitlab import cli, types
+from gitlab import cli
from gitlab import exceptions as exc
from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectTrigger",
+ "ProjectTriggerManager",
+]
+
+
class ProjectTrigger(SaveMixin, ObjectDeleteMixin, RESTObject):
@cli.register_custom_action("ProjectTrigger")
@exc.on_http_error(exc.GitlabOwnershipError)
diff --git a/gitlab/v4/objects/users.py b/gitlab/v4/objects/users.py
index bcd924e..c332435 100644
--- a/gitlab/v4/objects/users.py
+++ b/gitlab/v4/objects/users.py
@@ -7,6 +7,43 @@ from .custom_attributes import UserCustomAttributeManager
from .events import UserEventManager
+__all__ = [
+ "CurrentUserEmail",
+ "CurrentUserEmailManager",
+ "CurrentUserGPGKey",
+ "CurrentUserGPGKeyManager",
+ "CurrentUserKey",
+ "CurrentUserKeyManager",
+ "CurrentUserStatus",
+ "CurrentUserStatusManager",
+ "CurrentUser",
+ "CurrentUserManager",
+ "User",
+ "UserManager",
+ "ProjectUser",
+ "ProjectUserManager",
+ "UserEmail",
+ "UserEmailManager",
+ "UserActivities",
+ "UserStatus",
+ "UserStatusManager",
+ "UserActivitiesManager",
+ "UserGPGKey",
+ "UserGPGKeyManager",
+ "UserKey",
+ "UserKeyManager",
+ "UserStatus",
+ "UserStatusManager",
+ "UserIdentityProviderManager",
+ "UserImpersonationToken",
+ "UserImpersonationTokenManager",
+ "UserMembership",
+ "UserMembershipManager",
+ "UserProject",
+ "UserProjectManager",
+]
+
+
class CurrentUserEmail(ObjectDeleteMixin, RESTObject):
_short_print_attr = "email"
diff --git a/gitlab/v4/objects/variables.py b/gitlab/v4/objects/variables.py
index c8de80f..2094a5f 100644
--- a/gitlab/v4/objects/variables.py
+++ b/gitlab/v4/objects/variables.py
@@ -8,6 +8,16 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "Variable",
+ "VariableManager",
+ "GroupVariable",
+ "GroupVariableManager",
+ "ProjectVariable",
+ "ProjectVariableManager",
+]
+
+
class Variable(SaveMixin, ObjectDeleteMixin, RESTObject):
_id_attr = "key"
diff --git a/gitlab/v4/objects/wikis.py b/gitlab/v4/objects/wikis.py
index 4c8dc89..8cadaa0 100644
--- a/gitlab/v4/objects/wikis.py
+++ b/gitlab/v4/objects/wikis.py
@@ -2,6 +2,12 @@ from gitlab.base import * # noqa
from gitlab.mixins import * # noqa
+__all__ = [
+ "ProjectWiki",
+ "ProjectWikiManager",
+]
+
+
class ProjectWiki(SaveMixin, ObjectDeleteMixin, RESTObject):
_id_attr = "slug"
_short_print_attr = "slug"