def update(self, group: Group) -> Group: """ Updates an exiting group in Artifactory with the provided group details. :param group: Group to be updated :return: Updated group """ group_name = group.name self.get(group_name) self._post(f"api/{self._uri}/{group_name}", json=group.dict()) logger.debug("Group %s successfully updated", group_name) return self.get(group_name)
def create(self, group: Group) -> Group: """ Creates a new group in Artifactory or replaces an existing group :param group: Group to create :return: Created group """ group_name = group.name try: self.get(group_name) logger.error("Group %s already exists", group_name) raise GroupAlreadyExistsException(f"Group {group_name} already exists") except GroupNotFoundException: self._put(f"api/{self._uri}/{group_name}", json=group.dict()) logger.debug("Group %s successfully created", group_name) return self.get(group.name)