Modify Project Principals
Modifies principals assigned to a project by id.
The id of the project.
If true, a limit of 20 principals is enforced. Additionally each principal is validated in the Identity provider and important rules for group email formats are enforced.
syncPrincipals
The version of the API in yyyy-MM-dd format. For versioning information refer to /project-service/api/about.
Principals
{
"modify": [
{
"id": "c493a95e-c4d1-4496-8595-e73902701c95:fe69d7ca-40a6-4de5-8f33-d462f4656938",
"email": "[email protected]",
"type": "user",
"role": "member"
}
],
"remove": [
{
"id": "c493a95e-c4d1-4496-8595-e73902701c95:fe69d7ca-40a6-4de5-8f33-d462f4656938",
"email": "[email protected]",
"type": "user",
"role": "member"
}
]
}
Principal to add or change role in project.
Principal to remove from project.
'Success' with the Project
{
"id": "string",
"name": "my-name",
"description": "my-description",
"orgId": "string",
"administrators": [
{
"email": "[email protected]",
"type": "user"
}
],
"members": [
{
"email": "[email protected]",
"type": "user"
}
],
"viewers": [
{
"email": "[email protected]",
"type": "user"
}
],
"supervisors": [
{
"email": "[email protected]",
"type": "user"
}
],
"users": [
{
"email": "[email protected]",
"type": "user"
}
],
"auditors": [
{
"email": "[email protected]",
"type": "user"
}
],
"advancedUsers": [
{
"email": "[email protected]",
"type": "user"
}
],
"constraints": {
"network": {
"conditions": [
{
"type": "TAG",
"enforcement": "HARD",
"occurrence": "MUST_OCCUR",
"expression": {
"key": "key",
"value": "value"
}
}
]
}
},
"properties": {
"myproperty": "enforcement",
"__projectPlacementPolicy": "SPREAD",
"__namingTemplate": "my-resource-template",
"__allowTerraformCloudzoneMapping": "true"
},
"cost": {
"cost": "number",
"costSyncTime": "2011-12-03T10:15:30Z",
"costUnit": "USD",
"message": "string",
"code": "string"
},
"operationTimeout": 0,
"sharedResources": false
}
Invalid Request - bad data
Forbidden, the user lacks permissions
'Not found' if no project with the provided id
{
"id": "string",
"name": "my-name",
"description": "my-description",
"orgId": "string",
"administrators": [
{
"email": "[email protected]",
"type": "user"
}
],
"members": [
{
"email": "[email protected]",
"type": "user"
}
],
"viewers": [
{
"email": "[email protected]",
"type": "user"
}
],
"supervisors": [
{
"email": "[email protected]",
"type": "user"
}
],
"users": [
{
"email": "[email protected]",
"type": "user"
}
],
"auditors": [
{
"email": "[email protected]",
"type": "user"
}
],
"advancedUsers": [
{
"email": "[email protected]",
"type": "user"
}
],
"constraints": {
"network": {
"conditions": [
{
"type": "TAG",
"enforcement": "HARD",
"occurrence": "MUST_OCCUR",
"expression": {
"key": "key",
"value": "value"
}
}
]
}
},
"properties": {
"myproperty": "enforcement",
"__projectPlacementPolicy": "SPREAD",
"__namingTemplate": "my-resource-template",
"__allowTerraformCloudzoneMapping": "true"
},
"cost": {
"cost": "number",
"costSyncTime": "2011-12-03T10:15:30Z",
"costUnit": "USD",
"message": "string",
"code": "string"
},
"operationTimeout": 0,
"sharedResources": false
}
curl -X PATCH -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{}'