Create a new role binding for a group
POST /accounts/{account_id}/core/v1/groups/{group_id}/roleBindings
Indicates desired values for the Role Binding API resource to be created.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
group_id |
string |
path |
True |
ID of the containing group resource |
Request Body
Indicates desired values for the Role Binding API resource to be created.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
userID |
string |
False |
JSON string containing a user resource ID. Defined values are:
|
groupID |
string |
False |
JSON string containing a group resource ID. Defined values are:
|
accountID |
string |
True |
JSON string containing the ID of an account resource. For create, this must match the account ID in the request URI. Defined values are:
|
role |
string |
True |
JSON string containing one of the four defined roles. Defined values are:
|
roleConstraints |
array[string] |
False |
JSON array of JSON strings specifying the scope of the role assignment. Defined values are:
|
metadata |
False |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example request
{
"type": "application/astra-roleBinding",
"version": "1.1",
"userID": "00000000-0000-0000-0000-000000000000",
"groupID": "6f7f5bb3-1320-4861-bd8a-d3a4106d36b1",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
]
}
Response
Status: 201, Returns the newly created roleBinding resource in the JSON response body.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
id |
string |
True |
Globally unique identifier of the resource. Defined values are:
|
principalType |
string |
True |
JSON string representing the type of the principal this binding is associated with. Defined values are:
|
userID |
string |
True |
JSON string containing a user resource ID. Defined values are:
|
groupID |
string |
True |
JSON string containing a group resource ID. Defined values are:
|
accountID |
string |
True |
JSON string containing the ID of an account resource. For create, this must match the account ID in the request URI. Defined values are:
|
role |
string |
True |
JSON string containing one of the four defined roles. Defined values are:
|
roleConstraints |
array[string] |
False |
JSON array of JSON strings specifying the scope of the role assignment. Defined values are:
|
metadata |
True |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example response
{
"type": "application/astra-roleBinding",
"version": "1.1",
"id": "a198f052-5cd7-59d3-9f27-9ea32a21fbca",
"principalType": "group",
"userID": "00000000-0000-0000-0000-000000000000",
"groupID": "6f7f5bb3-1320-4861-bd8a-d3a4106d36b1",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
],
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
Response
Status: 401, Unauthorized
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Response
Status: 400, Bad request
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Response
Status: 409, Conflict
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
Response
Status: 403, Forbidden
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Error
Status: 404, Not found
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example error response
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitions
See Definitions
type_astra_label
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
Client and service-specified metadata associated with the resource. Defined values are:
-
Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.
Name | Type | Required | Description |
---|---|---|---|
labels |
array[type_astra_label] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
createdBy |
string |
False |
|
modifiedBy |
string |
False |
invalidParams
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid query parameter |
reason |
string |
True |
Reason why the query parameter is invalid |
invalidFields
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid request body field |
reason |
string |
True |
Reason why the request body field is invalid |