Top

intern.service.boss.project module

# Copyright 2016 The Johns Hopkins University Applied Physics Laboratory
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from intern.service.boss import BossService
from intern.service.boss.v1.project import ProjectService_1


class ProjectService(BossService):
    """ProjectService routes calls to the appropriate API version.
    """

    def __init__(self, base_url, version):
        """Constructor.

        Args:
            base_url (string): Base url to project service such as 'api.boss.io'.
            version (string): Version of Boss API to use.

        Raises:
            (KeyError): if given invalid version.
        """
        BossService.__init__(self)
        self.base_url = base_url
        self._versions = {
            'v1': ProjectService_1()
        }
        self.service = self.get_api_impl(version)

    def list_groups(self, filtr=None):
        """Get the groups the logged in user is a member of.

        Optionally filter by 'member' or 'maintainer'.

        Args:
            filtr (optional[string|None]): ['member'|'maintainer'] or defaults to None.
        Returns:
            (list[string]): List of group names.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list_groups(
            filtr, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get_group(self, name, user_name=None):
        """Get owner of group and the resources it's attached to.

        Args:
            name (string): Name of group to query.
            user_name (optional[string]): Supply None if not interested in determining if user is a member of the given group.

        Returns:
            (dict): Keys include 'owner', 'name', 'resources'.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_group(
            name, user_name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def create_group(self, name):
        """Create a new group.

        Args:
            name (string): Name of the group to create.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.create_group(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def delete_group(self, name):
        """Delete given group.

        Args:
            name (string): Name of group.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_group(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def list_group_members(self, name):
        """Get the members of a group (does not include maintainers).

        Args:
            name (string): Name of group to query.

        Returns:
            (list[string]): List of member names.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list_group_members(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def add_group_member(self, name, user):
        """Add the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.
            version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_group_member(
            name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def delete_group_member(self, grp_name, user):
        """Delete the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_group_member(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get_is_group_member(self, grp_name, user):
        """Check if the given user is a member of the named group.

        Args:
            name (string): Name of group.
            user (string): User of interest.

        Returns:
            (bool): False if user not a member.
        """
        return self.service.get_is_group_member(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def list_group_maintainers(self, name):
        """Get the maintainers of a group.

        Args:
            name (string): Name of group to query.

        Returns:
            (list[string]): List of maintainer names.
        """
        return self.service.list_group_maintainers(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def add_group_maintainer(self, name, user):
        """Add the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.
            version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_group_maintainer(
            name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def delete_group_maintainer(self, grp_name, user):
        """Delete the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_group_maintainer(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get_is_group_maintainer(self, grp_name, user):
        """Check if the given user is a member of the named group.

        Args:
            name (string): Name of group.
            user (string): User of interest.

        Returns:
            (bool): False if user not a member.
        """
        return self.service.get_is_group_maintainer(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def list_permissions(self, group_name=None, resource=None):
        """List permission sets associated filtering by group and/or resource.

        Args:
            group_name (string): Name of group.
            resource (intern.resource.boss.Resource): Identifies which data model object to operate on.

        Returns:
            (list): List of permissions.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list_permissions(group_name, resource,
                                             self.url_prefix, self.auth, self.session, self.session_send_opts)

    def get_permissions(self, grp_name, resource):
        """Get permissions associated the group has with the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
            version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.

        Returns:
            (list): List of permissions.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_permissions(
            grp_name, resource,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def add_permissions(self, grp_name, resource, permissions):
        """ Add additional permissions for the group associated with the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
            permissions (list): List of permissions to add to the given resource.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_permissions(
            grp_name, resource, permissions,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def update_permissions(self, grp_name, resource, permissions):
        """ Update permissions for the group associated with the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
            permissions (list): List of permissions to add to the given resource.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.update_permissions(
            grp_name, resource, permissions,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def delete_permissions(self, grp_name, resource):
        """Removes permissions from the group for the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_permissions(
            grp_name, resource, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def add_user_role(self, user, role):
        """Add role to given user.

        Args:
            user (string): User name.
            role (string): Role to assign.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_user_role(
            user, role,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def delete_user_role(self, user, role):
        """Remove role from given user.

        Args:
            user (string): User name.
            role (string): Role to remove.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_user_role(
            user, role,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def get_user_roles(self, user):
        """Get roles associated with the given user.

        Args:
            user (string): User name.

        Returns:
            (list): List of roles that user has.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_user_roles(
            user, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def add_user(
        self, user, first_name=None, last_name=None, email=None, password=None):
        """Add a new user.

        Args:
            user (string): User name.
            first_name (optional[string]): User's first name.  Defaults to None.
            last_name (optional[string]): User's last name.  Defaults to None.
            email: (optional[string]): User's email address.  Defaults to None.
            password: (optional[string]): User's password.  Defaults to None.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_user(
            user, first_name, last_name, email, password,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def get_user(self, user):
        """Get user's data (first and last name, email, etc).

        Args:
            user (string): User name.

        Returns:
            (dictionary): User's data encoded in a dictionary.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_user(
            user, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def delete_user(self, user):
        """Delete the given user.

        Args:
            user (string): User name.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_user(
            user, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def list(self, resource=None, **kwargs):
        """List all resources of the same type as the given resource.

        Args:
            resource (intern.resource.boss.BossResource): List resources of the same type as this resource.

        Returns:
            (list): List of resources.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def create(self, resource):
        """Create the given resource.

        Args:
            resource (intern.resource.boss.BossResource): Create a data model object with attributes matching those of the resource.

        Returns:
            (intern.resource.boss.BossResource): Returns resource of type requested on success.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.create(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get(self, resource):
        """Get attributes of the data model object named by the given resource.

        Args:
            resource (intern.resource.boss.BossResource): resource.name as well as any parents must be identified to succeed.

        Returns:
            (intern.resource.boss.BossResource): Returns resource of type requested on success.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def update(self, resource_name, resource):
        """Updates an entity in the data model using the given resource.

        Args:
            resource_name (string): Current name of the resource (in case the resource is getting its name changed).
            resource (intern.resource.boss.BossResource): New attributes for the resource.

        Returns:
            (intern.resource.boss.BossResource): Returns updated resource of given type on success.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.update(
            resource_name, resource, self.url_prefix, self.auth,
            self.session, self.session_send_opts)

    def delete(self, resource):
        """Deletes the entity described by the given resource.

        Args:
            resource (intern.resource.boss.BossResource)

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)
            

Classes

class ProjectService

ProjectService routes calls to the appropriate API version.

class ProjectService(BossService):
    """ProjectService routes calls to the appropriate API version.
    """

    def __init__(self, base_url, version):
        """Constructor.

        Args:
            base_url (string): Base url to project service such as 'api.boss.io'.
            version (string): Version of Boss API to use.

        Raises:
            (KeyError): if given invalid version.
        """
        BossService.__init__(self)
        self.base_url = base_url
        self._versions = {
            'v1': ProjectService_1()
        }
        self.service = self.get_api_impl(version)

    def list_groups(self, filtr=None):
        """Get the groups the logged in user is a member of.

        Optionally filter by 'member' or 'maintainer'.

        Args:
            filtr (optional[string|None]): ['member'|'maintainer'] or defaults to None.
        Returns:
            (list[string]): List of group names.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list_groups(
            filtr, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get_group(self, name, user_name=None):
        """Get owner of group and the resources it's attached to.

        Args:
            name (string): Name of group to query.
            user_name (optional[string]): Supply None if not interested in determining if user is a member of the given group.

        Returns:
            (dict): Keys include 'owner', 'name', 'resources'.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_group(
            name, user_name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def create_group(self, name):
        """Create a new group.

        Args:
            name (string): Name of the group to create.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.create_group(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def delete_group(self, name):
        """Delete given group.

        Args:
            name (string): Name of group.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_group(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def list_group_members(self, name):
        """Get the members of a group (does not include maintainers).

        Args:
            name (string): Name of group to query.

        Returns:
            (list[string]): List of member names.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list_group_members(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def add_group_member(self, name, user):
        """Add the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.
            version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_group_member(
            name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def delete_group_member(self, grp_name, user):
        """Delete the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_group_member(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get_is_group_member(self, grp_name, user):
        """Check if the given user is a member of the named group.

        Args:
            name (string): Name of group.
            user (string): User of interest.

        Returns:
            (bool): False if user not a member.
        """
        return self.service.get_is_group_member(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def list_group_maintainers(self, name):
        """Get the maintainers of a group.

        Args:
            name (string): Name of group to query.

        Returns:
            (list[string]): List of maintainer names.
        """
        return self.service.list_group_maintainers(
            name, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def add_group_maintainer(self, name, user):
        """Add the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.
            version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_group_maintainer(
            name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def delete_group_maintainer(self, grp_name, user):
        """Delete the given user to the named group.

        Both group and user must already exist for this to succeed.

        Args:
            name (string): Name of group.
            user (string): User to add to group.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_group_maintainer(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get_is_group_maintainer(self, grp_name, user):
        """Check if the given user is a member of the named group.

        Args:
            name (string): Name of group.
            user (string): User of interest.

        Returns:
            (bool): False if user not a member.
        """
        return self.service.get_is_group_maintainer(
            grp_name, user, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def list_permissions(self, group_name=None, resource=None):
        """List permission sets associated filtering by group and/or resource.

        Args:
            group_name (string): Name of group.
            resource (intern.resource.boss.Resource): Identifies which data model object to operate on.

        Returns:
            (list): List of permissions.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list_permissions(group_name, resource,
                                             self.url_prefix, self.auth, self.session, self.session_send_opts)

    def get_permissions(self, grp_name, resource):
        """Get permissions associated the group has with the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
            version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.

        Returns:
            (list): List of permissions.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_permissions(
            grp_name, resource,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def add_permissions(self, grp_name, resource, permissions):
        """ Add additional permissions for the group associated with the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
            permissions (list): List of permissions to add to the given resource.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_permissions(
            grp_name, resource, permissions,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def update_permissions(self, grp_name, resource, permissions):
        """ Update permissions for the group associated with the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
            permissions (list): List of permissions to add to the given resource.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.update_permissions(
            grp_name, resource, permissions,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def delete_permissions(self, grp_name, resource):
        """Removes permissions from the group for the given resource.

        Args:
            grp_name (string): Name of group.
            resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_permissions(
            grp_name, resource, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def add_user_role(self, user, role):
        """Add role to given user.

        Args:
            user (string): User name.
            role (string): Role to assign.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_user_role(
            user, role,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def delete_user_role(self, user, role):
        """Remove role from given user.

        Args:
            user (string): User name.
            role (string): Role to remove.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_user_role(
            user, role,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def get_user_roles(self, user):
        """Get roles associated with the given user.

        Args:
            user (string): User name.

        Returns:
            (list): List of roles that user has.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_user_roles(
            user, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def add_user(
        self, user, first_name=None, last_name=None, email=None, password=None):
        """Add a new user.

        Args:
            user (string): User name.
            first_name (optional[string]): User's first name.  Defaults to None.
            last_name (optional[string]): User's last name.  Defaults to None.
            email: (optional[string]): User's email address.  Defaults to None.
            password: (optional[string]): User's password.  Defaults to None.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.add_user(
            user, first_name, last_name, email, password,
            self.url_prefix, self.auth, self.session, self.session_send_opts)

    def get_user(self, user):
        """Get user's data (first and last name, email, etc).

        Args:
            user (string): User name.

        Returns:
            (dictionary): User's data encoded in a dictionary.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get_user(
            user, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def delete_user(self, user):
        """Delete the given user.

        Args:
            user (string): User name.

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete_user(
            user, self.url_prefix, self.auth, self.session, self.session_send_opts)

    def list(self, resource=None, **kwargs):
        """List all resources of the same type as the given resource.

        Args:
            resource (intern.resource.boss.BossResource): List resources of the same type as this resource.

        Returns:
            (list): List of resources.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.list(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def create(self, resource):
        """Create the given resource.

        Args:
            resource (intern.resource.boss.BossResource): Create a data model object with attributes matching those of the resource.

        Returns:
            (intern.resource.boss.BossResource): Returns resource of type requested on success.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.create(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def get(self, resource):
        """Get attributes of the data model object named by the given resource.

        Args:
            resource (intern.resource.boss.BossResource): resource.name as well as any parents must be identified to succeed.

        Returns:
            (intern.resource.boss.BossResource): Returns resource of type requested on success.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.get(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

    def update(self, resource_name, resource):
        """Updates an entity in the data model using the given resource.

        Args:
            resource_name (string): Current name of the resource (in case the resource is getting its name changed).
            resource (intern.resource.boss.BossResource): New attributes for the resource.

        Returns:
            (intern.resource.boss.BossResource): Returns updated resource of given type on success.

        Raises:
            requests.HTTPError on failure.
        """
        return self.service.update(
            resource_name, resource, self.url_prefix, self.auth,
            self.session, self.session_send_opts)

    def delete(self, resource):
        """Deletes the entity described by the given resource.

        Args:
            resource (intern.resource.boss.BossResource)

        Raises:
            requests.HTTPError on failure.
        """
        self.service.delete(
            resource, self.url_prefix, self.auth, self.session,
            self.session_send_opts)

Ancestors (in MRO)

  • ProjectService
  • intern.service.boss.service.BossService
  • intern.service.service.Service
  • __builtin__.object

Instance variables

var auth

var base_protocol

var base_url

var service

var session

var session_send_opts

var url_prefix

Methods

def __init__(

self, base_url, version)

Constructor.

Args:
    base_url (string): Base url to project service such as 'api.boss.io'.
    version (string): Version of Boss API to use.

Raises

    (KeyError): if given invalid version.

def __init__(self, base_url, version):
    """Constructor.
    Args:
        base_url (string): Base url to project service such as 'api.boss.io'.
        version (string): Version of Boss API to use.
    Raises:
        (KeyError): if given invalid version.
    """
    BossService.__init__(self)
    self.base_url = base_url
    self._versions = {
        'v1': ProjectService_1()
    }
    self.service = self.get_api_impl(version)

def add_group_maintainer(

self, name, user)

Add the given user to the named group.

Both group and user must already exist for this to succeed.

Args:
    name (string): Name of group.
    user (string): User to add to group.
    version (optional[string]): Version of the Boss API to use. Defaults to the latest supported version.

Raises

requests.HTTPError on failure.
def add_group_maintainer(self, name, user):
    """Add the given user to the named group.
    Both group and user must already exist for this to succeed.
    Args:
        name (string): Name of group.
        user (string): User to add to group.
        version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.add_group_maintainer(
        name, user, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def add_group_member(

self, name, user)

Add the given user to the named group.

Both group and user must already exist for this to succeed.

Args:
    name (string): Name of group.
    user (string): User to add to group.
    version (optional[string]): Version of the Boss API to use. Defaults to the latest supported version.

Raises

requests.HTTPError on failure.
def add_group_member(self, name, user):
    """Add the given user to the named group.
    Both group and user must already exist for this to succeed.
    Args:
        name (string): Name of group.
        user (string): User to add to group.
        version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.add_group_member(
        name, user, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def add_permissions(

self, grp_name, resource, permissions)

Add additional permissions for the group associated with the given resource.

Args:
    grp_name (string): Name of group.
    resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
    permissions (list): List of permissions to add to the given resource.

Raises

requests.HTTPError on failure.
def add_permissions(self, grp_name, resource, permissions):
    """ Add additional permissions for the group associated with the given resource.
    Args:
        grp_name (string): Name of group.
        resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
        permissions (list): List of permissions to add to the given resource.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.add_permissions(
        grp_name, resource, permissions,
        self.url_prefix, self.auth, self.session, self.session_send_opts)

def add_user(

self, user, first_name=None, last_name=None, email=None, password=None)

Add a new user.

Args:
    user (string): User name.
    first_name (optional[string]): User's first name. Defaults to None.
    last_name (optional[string]): User's last name. Defaults to None.
    email: (optional[string]): User's email address. Defaults to None.
    password: (optional[string]): User's password. Defaults to None.

Raises

requests.HTTPError on failure.
def add_user(
    self, user, first_name=None, last_name=None, email=None, password=None):
    """Add a new user.
    Args:
        user (string): User name.
        first_name (optional[string]): User's first name.  Defaults to None.
        last_name (optional[string]): User's last name.  Defaults to None.
        email: (optional[string]): User's email address.  Defaults to None.
        password: (optional[string]): User's password.  Defaults to None.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.add_user(
        user, first_name, last_name, email, password,
        self.url_prefix, self.auth, self.session, self.session_send_opts)

def add_user_role(

self, user, role)

Add role to given user.

Args:
    user (string): User name.
    role (string): Role to assign.

Raises

requests.HTTPError on failure.
def add_user_role(self, user, role):
    """Add role to given user.
    Args:
        user (string): User name.
        role (string): Role to assign.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.add_user_role(
        user, role,
        self.url_prefix, self.auth, self.session, self.session_send_opts)

def create(

self, resource)

Create the given resource.

Args:
    resource (intern.resource.boss.BossResource): Create a data model object with attributes matching those of the resource.

Returns

    (intern.resource.boss.BossResource): Returns resource of type requested on success.

Raises

requests.HTTPError on failure.
def create(self, resource):
    """Create the given resource.
    Args:
        resource (intern.resource.boss.BossResource): Create a data model object with attributes matching those of the resource.
    Returns:
        (intern.resource.boss.BossResource): Returns resource of type requested on success.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.create(
        resource, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def create_group(

self, name)

Create a new group.

Args:
    name (string): Name of the group to create.

Raises

requests.HTTPError on failure.
def create_group(self, name):
    """Create a new group.
    Args:
        name (string): Name of the group to create.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.create_group(
        name, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def delete(

self, resource)

Deletes the entity described by the given resource.

Args:
resource (intern.resource.boss.BossResource)

Raises

requests.HTTPError on failure.
def delete(self, resource):
    """Deletes the entity described by the given resource.
    Args:
        resource (intern.resource.boss.BossResource)
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete(
        resource, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def delete_group(

self, name)

Delete given group.

Args:
    name (string): Name of group.

Raises

requests.HTTPError on failure.
def delete_group(self, name):
    """Delete given group.
    Args:
        name (string): Name of group.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete_group(
        name, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def delete_group_maintainer(

self, grp_name, user)

Delete the given user to the named group.

Both group and user must already exist for this to succeed.

Args:
    name (string): Name of group.
    user (string): User to add to group.

Raises

requests.HTTPError on failure.
def delete_group_maintainer(self, grp_name, user):
    """Delete the given user to the named group.
    Both group and user must already exist for this to succeed.
    Args:
        name (string): Name of group.
        user (string): User to add to group.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete_group_maintainer(
        grp_name, user, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def delete_group_member(

self, grp_name, user)

Delete the given user to the named group.

Both group and user must already exist for this to succeed.

Args:
    name (string): Name of group.
    user (string): User to add to group.

Raises

requests.HTTPError on failure.
def delete_group_member(self, grp_name, user):
    """Delete the given user to the named group.
    Both group and user must already exist for this to succeed.
    Args:
        name (string): Name of group.
        user (string): User to add to group.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete_group_member(
        grp_name, user, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def delete_permissions(

self, grp_name, resource)

Removes permissions from the group for the given resource.

Args:
    grp_name (string): Name of group.
    resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.

Raises

requests.HTTPError on failure.
def delete_permissions(self, grp_name, resource):
    """Removes permissions from the group for the given resource.
    Args:
        grp_name (string): Name of group.
        resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete_permissions(
        grp_name, resource, self.url_prefix, self.auth, self.session, self.session_send_opts)

def delete_user(

self, user)

Delete the given user.

Args:
    user (string): User name.

Raises

requests.HTTPError on failure.
def delete_user(self, user):
    """Delete the given user.
    Args:
        user (string): User name.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete_user(
        user, self.url_prefix, self.auth, self.session, self.session_send_opts)

def delete_user_role(

self, user, role)

Remove role from given user.

Args:
    user (string): User name.
    role (string): Role to remove.

Raises

requests.HTTPError on failure.
def delete_user_role(self, user, role):
    """Remove role from given user.
    Args:
        user (string): User name.
        role (string): Role to remove.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.delete_user_role(
        user, role,
        self.url_prefix, self.auth, self.session, self.session_send_opts)

def get(

self, resource)

Get attributes of the data model object named by the given resource.

Args:
    resource (intern.resource.boss.BossResource): resource.name as well as any parents must be identified to succeed.

Returns

    (intern.resource.boss.BossResource): Returns resource of type requested on success.

Raises

requests.HTTPError on failure.
def get(self, resource):
    """Get attributes of the data model object named by the given resource.
    Args:
        resource (intern.resource.boss.BossResource): resource.name as well as any parents must be identified to succeed.
    Returns:
        (intern.resource.boss.BossResource): Returns resource of type requested on success.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.get(
        resource, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def get_api_impl(

self, version)

Get service object that implements the given version.

Args:
    version (string): Requested version such as '0.4'.

Returns

    (intern.service.boss.Service): A service object that implements the
requested version of the API.

Raises

KeyError
def get_api_impl(self, version):
    """Get service object that implements the given version.
    Args:
        version (string): Requested version such as '0.4'.
    Returns:
        (intern.service.boss.Service): A service object that implements the
        requested version of the API.
    Raises:
        KeyError
    """
    return self._versions[version]

def get_group(

self, name, user_name=None)

Get owner of group and the resources it's attached to.

Args:
    name (string): Name of group to query.
    user_name (optional[string]): Supply None if not interested in determining if user is a member of the given group.

Returns

    (dict): Keys include 'owner', 'name', 'resources'.

Raises

requests.HTTPError on failure.
def get_group(self, name, user_name=None):
    """Get owner of group and the resources it's attached to.
    Args:
        name (string): Name of group to query.
        user_name (optional[string]): Supply None if not interested in determining if user is a member of the given group.
    Returns:
        (dict): Keys include 'owner', 'name', 'resources'.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.get_group(
        name, user_name, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def get_is_group_maintainer(

self, grp_name, user)

Check if the given user is a member of the named group.

Args:
    name (string): Name of group.
    user (string): User of interest.

Returns

    (bool): False if user not a member.

def get_is_group_maintainer(self, grp_name, user):
    """Check if the given user is a member of the named group.
    Args:
        name (string): Name of group.
        user (string): User of interest.
    Returns:
        (bool): False if user not a member.
    """
    return self.service.get_is_group_maintainer(
        grp_name, user, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def get_is_group_member(

self, grp_name, user)

Check if the given user is a member of the named group.

Args:
    name (string): Name of group.
    user (string): User of interest.

Returns

    (bool): False if user not a member.

def get_is_group_member(self, grp_name, user):
    """Check if the given user is a member of the named group.
    Args:
        name (string): Name of group.
        user (string): User of interest.
    Returns:
        (bool): False if user not a member.
    """
    return self.service.get_is_group_member(
        grp_name, user, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def get_permissions(

self, grp_name, resource)

Get permissions associated the group has with the given resource.

Args:
    grp_name (string): Name of group.
    resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
    version (optional[string]): Version of the Boss API to use. Defaults to the latest supported version.

Returns

    (list): List of permissions.

Raises

requests.HTTPError on failure.
def get_permissions(self, grp_name, resource):
    """Get permissions associated the group has with the given resource.
    Args:
        grp_name (string): Name of group.
        resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
        version (optional[string]): Version of the Boss API to use.  Defaults to the latest supported version.
    Returns:
        (list): List of permissions.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.get_permissions(
        grp_name, resource,
        self.url_prefix, self.auth, self.session, self.session_send_opts)

def get_user(

self, user)

Get user's data (first and last name, email, etc).

Args:
    user (string): User name.

Returns

    (dictionary): User's data encoded in a dictionary.

Raises

requests.HTTPError on failure.
def get_user(self, user):
    """Get user's data (first and last name, email, etc).
    Args:
        user (string): User name.
    Returns:
        (dictionary): User's data encoded in a dictionary.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.get_user(
        user, self.url_prefix, self.auth, self.session, self.session_send_opts)

def get_user_roles(

self, user)

Get roles associated with the given user.

Args:
    user (string): User name.

Returns

    (list): List of roles that user has.

Raises

requests.HTTPError on failure.
def get_user_roles(self, user):
    """Get roles associated with the given user.
    Args:
        user (string): User name.
    Returns:
        (list): List of roles that user has.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.get_user_roles(
        user, self.url_prefix, self.auth, self.session, self.session_send_opts)

def list(

self, resource=None, **kwargs)

List all resources of the same type as the given resource.

Args:
    resource (intern.resource.boss.BossResource): List resources of the same type as this resource.

Returns

    (list): List of resources.

Raises

requests.HTTPError on failure.
def list(self, resource=None, **kwargs):
    """List all resources of the same type as the given resource.
    Args:
        resource (intern.resource.boss.BossResource): List resources of the same type as this resource.
    Returns:
        (list): List of resources.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.list(
        resource, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def list_group_maintainers(

self, name)

Get the maintainers of a group.

Args:
    name (string): Name of group to query.

Returns

    (list[string]): List of maintainer names.

def list_group_maintainers(self, name):
    """Get the maintainers of a group.
    Args:
        name (string): Name of group to query.
    Returns:
        (list[string]): List of maintainer names.
    """
    return self.service.list_group_maintainers(
        name, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def list_group_members(

self, name)

Get the members of a group (does not include maintainers).

Args:
    name (string): Name of group to query.

Returns

    (list[string]): List of member names.

Raises

requests.HTTPError on failure.
def list_group_members(self, name):
    """Get the members of a group (does not include maintainers).
    Args:
        name (string): Name of group to query.
    Returns:
        (list[string]): List of member names.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.list_group_members(
        name, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def list_groups(

self, filtr=None)

Get the groups the logged in user is a member of.

Optionally filter by 'member' or 'maintainer'.

Args:
    filtr (optional[string|None]): ['member'|'maintainer'] or defaults to None.

Returns


    (list[string]): List of group names.

Raises

requests.HTTPError on failure.
def list_groups(self, filtr=None):
    """Get the groups the logged in user is a member of.
    Optionally filter by 'member' or 'maintainer'.
    Args:
        filtr (optional[string|None]): ['member'|'maintainer'] or defaults to None.
    Returns:
        (list[string]): List of group names.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.list_groups(
        filtr, self.url_prefix, self.auth, self.session,
        self.session_send_opts)

def list_permissions(

self, group_name=None, resource=None)

List permission sets associated filtering by group and/or resource.

Args:
    group_name (string): Name of group.
    resource (intern.resource.boss.Resource): Identifies which data model object to operate on.

Returns

    (list): List of permissions.

Raises

requests.HTTPError on failure.
def list_permissions(self, group_name=None, resource=None):
    """List permission sets associated filtering by group and/or resource.
    Args:
        group_name (string): Name of group.
        resource (intern.resource.boss.Resource): Identifies which data model object to operate on.
    Returns:
        (list): List of permissions.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.list_permissions(group_name, resource,
                                         self.url_prefix, self.auth, self.session, self.session_send_opts)

def set_auth(

self, token, **kwargs)

Set the token for authentication/authorization.

Args:
    token (string): Token generated by the Django Rest Framework.

def set_auth(self, token, **kwargs):
    """Set the token for authentication/authorization.
    Args:
        token (string):  Token generated by the Django Rest Framework.
    """
    self._auth = token

def update(

self, resource_name, resource)

Updates an entity in the data model using the given resource.

Args:
    resource_name (string): Current name of the resource (in case the resource is getting its name changed).
    resource (intern.resource.boss.BossResource): New attributes for the resource.

Returns

    (intern.resource.boss.BossResource): Returns updated resource of given type on success.

Raises

requests.HTTPError on failure.
def update(self, resource_name, resource):
    """Updates an entity in the data model using the given resource.
    Args:
        resource_name (string): Current name of the resource (in case the resource is getting its name changed).
        resource (intern.resource.boss.BossResource): New attributes for the resource.
    Returns:
        (intern.resource.boss.BossResource): Returns updated resource of given type on success.
    Raises:
        requests.HTTPError on failure.
    """
    return self.service.update(
        resource_name, resource, self.url_prefix, self.auth,
        self.session, self.session_send_opts)

def update_permissions(

self, grp_name, resource, permissions)

Update permissions for the group associated with the given resource.

Args:
    grp_name (string): Name of group.
    resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
    permissions (list): List of permissions to add to the given resource.

Raises

requests.HTTPError on failure.
def update_permissions(self, grp_name, resource, permissions):
    """ Update permissions for the group associated with the given resource.
    Args:
        grp_name (string): Name of group.
        resource (intern.resource.boss.BossResource): Identifies which data model object to operate on.
        permissions (list): List of permissions to add to the given resource.
    Raises:
        requests.HTTPError on failure.
    """
    self.service.update_permissions(
        grp_name, resource, permissions,
        self.url_prefix, self.auth, self.session, self.session_send_opts)