Пример #1
0
 def update(self, permission: Permission) -> Permission:
     """
     Updates an artifactory permission
     :param permission: Permission object
     :return: Permission
     """
     permission_name = permission.name
     self._put(f"api/{self._uri}/{permission_name}", json=permission.dict())
     logger.debug("Permission %s successfully updated", permission_name)
     return self.get(permission_name)
Пример #2
0
 def get(self, permission_name: str) -> Permission:
     """
     Read permission from artifactory. Fill object if exist
     :param permission_name: Name of the permission to retrieve
     :return: Permission
     """
     try:
         r = self._get(f"api/{self._uri}/{permission_name}")
         return Permission(**r.json())
     except requests.exceptions.HTTPError as e:
         if e.response.status_code == 404 or e.response.status_code == 400:
             logging.error(f"Permission {permission_name} does not exist")
             raise PermissionNotFoundException(
                 f"Permission {permission_name} does not exist")
         raise ArtifactoryException from e
Пример #3
0
 def create(self, permission: Permission) -> Permission:
     """
     Creates a permission
     :param permission: Permission object
     :return: Permission
     """
     permission_name = permission.name
     try:
         self.get(permission_name)
         logger.debug("Permission %s already exists", permission_name)
         raise PermissionAlreadyExistsException(
             f"Permission {permission_name} already exists"
         )
     except PermissionNotFoundException:
         self._put(f"api/{self._uri}/{permission_name}", json=permission.dict())
         logger.debug("Permission %s successfully created", permission_name)
         return self.get(permission_name)
Пример #4
0
 def get(self, permission_name: str) -> AnyPermission:
     """
     Read permission from artifactory. Fill object if exist
     :param permission_name: Name of the permission to retrieve
     :return: Permission
     """
     try:
         response = self._get(f"api/{self._uri}/{permission_name}")
         logger.debug("Permission %s found", permission_name)
         return (Permission(**response.json())
                 if self._artifactory.api_version == 1 else PermissionV2(
                     **response.json()))
     except requests.exceptions.HTTPError as error:
         if error.response.status_code in (404, 400):
             logger.error("Permission %s does not exist", permission_name)
             raise PermissionNotFoundException(
                 f"Permission {permission_name} does not exist")
         raise ArtifactoryException from error