@@ -663,6 +663,14 @@ class RotateMixin(_RestManagerBase):
663
663
_path : Optional [str ]
664
664
gitlab : gitlab .Gitlab
665
665
666
+ @cli .register_custom_action (
667
+ cls_names = (
668
+ "PersonalAccessTokenManager" ,
669
+ "GroupAccessTokenManager" ,
670
+ "ProjectAccessTokenManager" ,
671
+ ),
672
+ optional = ("expires_at" ,),
673
+ )
666
674
@exc .on_http_error (exc .GitlabRotateError )
667
675
def rotate (
668
676
self , id : Union [str , int ], expires_at : Optional [str ] = None , ** kwargs : Any
@@ -696,7 +704,12 @@ class ObjectRotateMixin(_RestObjectBase):
696
704
_updated_attrs : Dict [str , Any ]
697
705
manager : base .RESTManager
698
706
699
- def rotate (self , ** kwargs : Any ) -> None :
707
+ @cli .register_custom_action (
708
+ cls_names = ("PersonalAccessToken" , "GroupAccessToken" , "ProjectAccessToken" ),
709
+ optional = ("expires_at" ,),
710
+ )
711
+ @exc .on_http_error (exc .GitlabRotateError )
712
+ def rotate (self , ** kwargs : Any ) -> Dict [str , Any ]:
700
713
"""Rotate the current access token object.
701
714
702
715
Args:
@@ -711,6 +724,7 @@ def rotate(self, **kwargs: Any) -> None:
711
724
assert self .encoded_id is not None
712
725
server_data = self .manager .rotate (self .encoded_id , ** kwargs )
713
726
self ._update_attrs (server_data )
727
+ return server_data
714
728
715
729
716
730
class SubscribableMixin (_RestObjectBase ):
0 commit comments