def create(self, name, domain=None, project=None, password=None, email=None, description=None, enabled=True, default_project=None, **kwargs): """Create a user. .. warning:: The project argument is deprecated as of the 1.7.0 release in favor of default_project and may be removed in the 2.0.0 release. If both default_project and project is provided, the default_project will be used. """ default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._post('/users', {'user': user_data}, 'user', log=not bool(password))
def create(self, project, service, resource_name, resource_limit, description=None, region=None, **kwargs): """Create a project-specific limit. :param project: the project to create a limit for. :type project: str or :class:`keystoneclient.v3.projects.Project` :param service: the service that owns the resource to limit. :type service: str or :class:`keystoneclient.v3.services.Service` :param resource_name: the name of the resource to limit :type resource_name: str :param resource_limit: the quantity of the limit :type resource_limit: int :param description: a description of the limit :type description: str :param region: region the limit applies to :type region: str or :class:`keystoneclient.v3.regions.Region` :returns: a reference of the created limit :rtype: :class:`keystoneclient.v3.limits.Limit` """ limit_data = base.filter_none( project_id=base.getid(project), service_id=base.getid(service), resource_name=resource_name, resource_limit=resource_limit, description=description, region_id=base.getid(region), **kwargs ) body = {self.collection_key: [limit_data]} resp, body = self.client.post('/limits', body=body) limit = body[self.collection_key].pop() return self.resource_class(self, limit)
def create(self, name, domain=None, project=None, password=None, email=None, description=None, enabled=True, default_project=None, **kwargs): """Create a user. .. warning:: The project argument is deprecated, use default_project instead. If both default_project and project is provided, the default_project will be used. """ if project: LOG.warning(_LW("The project argument is deprecated, " "use default_project instead.")) default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._create('/users', {'user': user_data}, 'user', log=not bool(password))
def update(self, user, name=None, domain=None, project=None, password=None, email=None, description=None, enabled=None, default_project=None, **kwargs): """Update a user. .. warning:: The project argument is deprecated as of the 1.7.0 release in favor of default_project and may be removed in the 2.0.0 release. If both default_project and project is provided, the default_project will be used. """ default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._update('/users/%s' % base.getid(user), {'user': user_data}, 'user', method='PATCH', log=False)
def create(self, name, domain=None, project=None, password=None, email=None, description=None, enabled=True, default_project=None, **kwargs): """Create a user. .. warning:: The project argument is deprecated, use default_project instead. If both default_project and project is provided, the default_project will be used. """ if project: LOG.warning("The project argument is deprecated, " "use default_project instead.") default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._create('/users', {'user': user_data}, 'user', log=not bool(password))
def update(self, user, name=None, domain=None, project=None, password=None, email=None, description=None, enabled=None, default_project=None, **kwargs): """Update a user. .. warning:: The project argument is deprecated, use default_project instead. If both default_project and project is provided, the default_project will be used. """ if project: LOG.warning(_LW("The project argument is deprecated, " "use default_project instead.")) default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._update('/users/%s' % base.getid(user), {'user': user_data}, 'user', method='PATCH', log=False)
def create(self, service, resource_name, default_limit, description=None, region=None, **kwargs): """Create a registered limit. :param service: a UUID that identifies the service for the limit. :type service: str :param resource_name: the name of the resource to limit. :type resource_name: str :param default_limit: the default limit for projects to assume. :type default_limit: int :param description: a string that describes the limit :type description: str :param region: a UUID that identifies the region for the limit. :type region: str :returns: a reference of the created registered limit. :rtype: :class:`keystoneclient.v3.registered_limits.RegisteredLimit` """ # NOTE(lbragstad): Keystone's registered limit API supports creation of # limits in batches. This client accepts a single limit and passes it # to the identity service as a list of a single item. limit_data = base.filter_none( service_id=base.getid(service), resource_name=resource_name, default_limit=default_limit, description=description, region_id=base.getid(region), **kwargs ) body = {self.collection_key: [limit_data]} resp, body = self.client.post('/registered_limits', body=body) registered_limit = body[self.collection_key].pop() return self.resource_class(self, registered_limit)
def update(self, user, name=None, domain=None, project=None, password=None, email=None, description=None, enabled=None, default_project=None, **kwargs): """Update a user. :param user: the user to be updated on the server. :type user: str or :class:`keystoneclient.v3.users.User` :param str name: the new name of the user. :param domain: the new domain of the user. :type domain: str or :class:`keystoneclient.v3.domains.Domain` :param project: the new default project of the user. (deprecated, see warning below) :type project: str or :class:`keystoneclient.v3.projects.Project` :param str password: the new password of the user. :param str email: the new email of the user. :param str description: the newdescription of the user. :param bool enabled: whether the user is enabled. :param default_project: the new default project of the user. :type default_project: str or :class:`keystoneclient.v3.projects.Project` :param kwargs: any other attribute provided will be passed to server. :returns: the updated user returned from server. :rtype: :class:`keystoneclient.v3.users.User` .. warning:: The project argument is deprecated as of the 1.7.0 release in favor of default_project and may be removed in the 2.0.0 release. If both default_project and project is provided, the default_project will be used. """ default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._update('/users/%s' % base.getid(user), {'user': user_data}, 'user', method='PATCH', log=False)
def create(self, name, domain=None, project=None, password=None, email=None, description=None, enabled=True, default_project=None, **kwargs): """Create a user. :param str name: the name of the user. :param domain: the domain of the user. :type domain: str or :class:`keystoneclient.v3.domains.Domain` :param project: the default project of the user. (deprecated, see warning below) :type project: str or :class:`keystoneclient.v3.projects.Project` :param str password: the password for the user. :param str email: the email address of the user. :param str description: a description of the user. :param bool enabled: whether the user is enabled. :param default_project: the default project of the user. :type default_project: str or :class:`keystoneclient.v3.projects.Project` :param kwargs: any other attribute provided will be passed to the server. :returns: the created user returned from server. :rtype: :class:`keystoneclient.v3.users.User` .. warning:: The project argument is deprecated as of the 1.7.0 release in favor of default_project and may be removed in the 2.0.0 release. If both default_project and project is provided, the default_project will be used. """ default_project_id = base.getid(default_project) or base.getid(project) user_data = base.filter_none(name=name, domain_id=base.getid(domain), default_project_id=default_project_id, password=password, email=email, description=description, enabled=enabled, **kwargs) return self._post('/users', {'user': user_data}, 'user', log=not bool(password))
def register_user(self, name, domain=None, password=None, username=None, description=None, **kwargs): user_data = base.filter_none(name=name, domain_id=base.getid(domain), password=password, username=username, description=description, **kwargs) return self._create(self.base_url+'/users', {'user': user_data}, 'user', log=not bool(password))
def register_user(self, name, domain=None, password=None, username=None, description=None, **kwargs): user_data = base.filter_none(name=name, domain_id=base.getid(domain), password=password, username=username, description=description, **kwargs) return self._create(self.base_url + '/users', {'user': user_data}, 'user', log=not bool(password))
def create(self, project, service, resource_name, resource_limit, description=None, region=None, **kwargs): """Create a project-specific limit. :param project: the project to create a limit for. :type project: str or :class:`keystoneclient.v3.projects.Project` :param service: the service that owns the resource to limit. :type service: str or :class:`keystoneclient.v3.services.Service` :param resource_name: the name of the resource to limit :type resource_name: str :param resource_limit: the quantity of the limit :type resource_limit: int :param description: a description of the limit :type description: str :param region: region the limit applies to :type region: str or :class:`keystoneclient.v3.regions.Region` :returns: a reference of the created limit :rtype: :class:`keystoneclient.v3.limits.Limit` """ limit_data = base.filter_none(project_id=base.getid(project), service_id=base.getid(service), resource_name=resource_name, resource_limit=resource_limit, description=description, region_id=base.getid(region), **kwargs) body = {self.collection_key: [limit_data]} resp, body = self.client.post('/limits', body=body) limit = body[self.collection_key].pop() return self._prepare_return_value(resp, self.resource_class(self, limit))
def create(self, service, resource_name, default_limit, description=None, region=None, **kwargs): """Create a registered limit. :param service: a UUID that identifies the service for the limit. :type service: str :param resource_name: the name of the resource to limit. :type resource_name: str :param default_limit: the default limit for projects to assume. :type default_limit: int :param description: a string that describes the limit :type description: str :param region: a UUID that identifies the region for the limit. :type region: str :returns: a reference of the created registered limit. :rtype: :class:`keystoneclient.v3.registered_limits.RegisteredLimit` """ # NOTE(lbragstad): Keystone's registered limit API supports creation of # limits in batches. This client accepts a single limit and passes it # to the identity service as a list of a single item. limit_data = base.filter_none(service_id=base.getid(service), resource_name=resource_name, default_limit=default_limit, description=description, region_id=base.getid(region), **kwargs) body = {self.collection_key: [limit_data]} resp, body = self.client.post('/registered_limits', body=body) registered_limit = body[self.collection_key].pop() return self._prepare_return_value( resp, self.resource_class(self, registered_limit))