Updating projects
PATCH /v3/projects/{project_id}
Change the name and description of a project with the specified ID. You can also use this call to add and remove users in a project.
Request
Parameters
Name | In | Type | Description |
---|---|---|---|
project_id
|
path | string | The project ID. |
project
|
body | object | A project object. |
name (Optional) |
body | string | The name of the project, which must be unique within the owning domain. A project can have the same name as its domain. |
is_domain (Optional) |
body | boolean |
Indicates whether the project also acts as a domain. If set to New in version 3.6 |
description (Optional) |
body | string | The description of the project. |
domain_id (Optional) |
body | string |
The ID of the new domain for the project. The ability to change the domain of a project is now deprecated, and will be removed in subequent release. It is already disabled by default in most Identity service implementations. |
enabled (Optional) |
body | boolean | If set to true , project is enabled. If set to
false , project is disabled. The default is true . |
tags (Optional) |
body | array | A list of simple strings assigned to a project. Tags can be used to classify projects into groups. |
options (Optional) |
body | object | The resource options for the project. Available resource options are
immutable . |
Example 1
Change project name and description:
# curl -ks -X PATCH -H 'Content-Type: application/json' -H 'X-Auth-Token: gAAAAA<...>' -d ' { "project": { "description": "New project description", "name": "project1_renamed" } }' https://<node_IP_addr>:5000/v3/projects/ec35eb7ceb594ad696839fc867817e4c
Example 2
Add a user with the specified ID to a project with the role project_user
also specified by its ID:
# curl -ks -X PUT -H 'Content-Type: application/json' -H 'X-Auth-Token: gAAAAA<...>' \ https://<node_IP_addr>:5000/v3/projects/03013ec787054e78ae26806636ad18d9/\ users/2973892bee384ca6b8c9886f0c4a8815/roles/b05bd85e514a4abdbb46ee743f0d59a4
Example 3
Remove a user with the specified ID and the role project_user
from a project:
# curl -ks -X DELETE -H 'Content-Type: application/json' -H 'X-Auth-Token: gAAAAA<...>' \ https://<node_IP_addr>:5000/v3/projects/03013ec787054e78ae26806636ad18d9/\ users/2973892bee384ca6b8c9886f0c4a8815/roles/b05bd85e514a4abdbb46ee743f0d59a4
Response
Parameters
Name | In | Type | Description |
---|---|---|---|
project
|
body | object | A project object. |
name
|
body | string | The unique name of the project within the owning domain. |
is_domain
|
body | boolean |
Indicates whether the project also acts as a domain. If set to New in version 3.6 |
description
|
body | string | The description of the project. |
domain_id
|
body | string | The ID of the domain for the project. |
enabled
|
body | boolean | If set to true , project is enabled. If set to
false , project is disabled. |
id
|
body | string | The ID for the project. |
links
|
body | object | The link to the project resource. |
parent_id
|
body | string |
The ID of the parent for the project. New in version 3.4 |
options
|
body | object | The resource options for the project. Available resource options are
immutable . |
Status codes
Success
Code | Reason |
---|---|
200 - OK
|
Request was successful. |
Error
Code | Reason |
---|---|
400 - Bad Request
|
Some content in the request was invalid. |
401 - Unauthorized
|
User must authenticate before making a request. |
403 - Forbidden
|
Policy does not allow current user to do this operation. |
404 - Not Found
|
The requested resource could not be found. |
409 - Conflict
|
This operation conflicted with another operation on this resource. |
Example
{ "project": { "is_domain": false, "description": "New project description", "links": { "self": "https://<node_IP_addr>:5000/v3/projects/ec35eb7ceb594ad696839fc867817e4c" }, "tags": [], "extra": {}, "enabled": true, "id": "ec35eb7ceb594ad696839fc867817e4c", "parent_id": "f2eeaaf15c254d4fa10255796122c8ec", "domain_id": "f2eeaaf15c254d4fa10255796122c8ec", "name": "project1_renamed" } }