@@ -1965,6 +1965,18 @@ class ProjectTagManager(NoUpdateMixin, RESTManager):
19651965 _create_attrs = (('tag_name' , 'ref' ), ('message' ,))
19661966
19671967
1968+ class ProjectProtectedTag (ObjectDeleteMixin , RESTObject ):
1969+ _id_attr = 'name'
1970+ _short_print_attr = 'name'
1971+
1972+
1973+ class ProjectProtectedTagManager (NoUpdateMixin , RESTManager ):
1974+ _path = '/projects/%(project_id)s/protected_tags'
1975+ _obj_cls = ProjectProtectedTag
1976+ _from_parent_attrs = {'project_id' : 'id' }
1977+ _create_attrs = (('name' ,), ('create_access_level' ,))
1978+
1979+
19681980class ProjectMergeRequestApproval (SaveMixin , RESTObject ):
19691981 _id_attr = None
19701982
@@ -3124,6 +3136,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject):
31243136 ('pagesdomains' , 'ProjectPagesDomainManager' ),
31253137 ('pipelines' , 'ProjectPipelineManager' ),
31263138 ('protectedbranches' , 'ProjectProtectedBranchManager' ),
3139+ ('protectedtags' , 'ProjectProtectedTagManager' ),
31273140 ('pipelineschedules' , 'ProjectPipelineScheduleManager' ),
31283141 ('pushrules' , 'ProjectPushRulesManager' ),
31293142 ('runners' , 'ProjectRunnerManager' ),
0 commit comments