diff options
Diffstat (limited to 'gitlab/v4/objects/push_rules.py')
| -rw-r--r-- | gitlab/v4/objects/push_rules.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gitlab/v4/objects/push_rules.py b/gitlab/v4/objects/push_rules.py new file mode 100644 index 0000000..5f1618b --- /dev/null +++ b/gitlab/v4/objects/push_rules.py @@ -0,0 +1,46 @@ +from gitlab.base import * # noqa +from gitlab.mixins import * # noqa + + +__all__ = [ + "ProjectPushRules", + "ProjectPushRulesManager", +] + + +class ProjectPushRules(SaveMixin, ObjectDeleteMixin, RESTObject): + _id_attr = None + + +class ProjectPushRulesManager( + GetWithoutIdMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager +): + _path = "/projects/%(project_id)s/push_rule" + _obj_cls = ProjectPushRules + _from_parent_attrs = {"project_id": "id"} + _create_attrs = ( + tuple(), + ( + "deny_delete_tag", + "member_check", + "prevent_secrets", + "commit_message_regex", + "branch_name_regex", + "author_email_regex", + "file_name_regex", + "max_file_size", + ), + ) + _update_attrs = ( + tuple(), + ( + "deny_delete_tag", + "member_check", + "prevent_secrets", + "commit_message_regex", + "branch_name_regex", + "author_email_regex", + "file_name_regex", + "max_file_size", + ), + ) |
