Modify an existing role

Description

URL

scheme://domain:port/platform/ws/role

Description

The logged on user must have view_configure permission on the setting resource to use this API.

Modifies an existing role by redefining permissions and resources in the XML definition.

Built-in roles cannot be modified.

HTTP-Method

PUT

Parameters

None

Request

Request-Method

PUT

Request-URI

/platform/ws/role

Request-Header

Name

Value

Accept

application/xml or application/json

Content-Type

application/xml

Message-body

The XML definition of the role.

For additional information, refer to the schema file ./schemas/rbac/role.xsd.

<role name="%s" description=”%s”>
<permissions>
	<permission name="%s">
		<resources>
			<resource name="%s"/>
			...
		</resources>
	</permission>
	<permission name="%s">
		<resources>
		<resource name="%s"/>
		</resources>
		</permission>
</permissions>
</role>

Notes

The role element has two attributes: name and description. Name is required and must match that of the existing role.

Possible values for permission name are:

  • view
  • view_control
  • view_configure
  • view_control_configure
  • none

Possible values for resource element name can be retrieved with the API platform/ws/resources.

Response

Response

Response Information

Response Code

  • 200 Successful: Role update successful.
  • 403 Forbidden: Logged on user does not have Cluster administrator role.
  • 500 Internal Server Error: Exception occurred

Response-Header

Name

Value

Content-Type

Application/xml or application/json

Location (Only if response code is 200)

URI of the updated resource

Content-Location (Only if response code is 200)

URI of representation in the response

Message-body

Success Message

If successful, returns current information about the role.

For additional information, refer to the schema file ./schemas/rbac/role.xsd.

<role name="%s" description=”%s” builtIn=”%s”>
<atom:link rel="self" href="%s"/>
<permissions>
	<permission name="%s">
		<resources>
			<resource name="%s"/>
			...
		</resources>
	</permission>
	<permission name="%s">
		<resources>
		<resource name="%s"/>
		</resources>
		</permission>
</permissions>
</role>
  Failure Message

If not successful, returns an error message.

For additional information, refer to the schema file ./schemas/rbac/error.xsd.

<error>
  <message>
     %s
  </message>
</error>

Example: Modify the role test_role

# Request
PUT /platform/ws/role HTTP/1.1
Host: www.example.org
Content-Type: application/xml;

<role name="test_role">
<permissions>
	<permission name="view_control">
		<resources>
		<resource name="own_jobs"/>
		</resources>
		</permission>
</permissions>
</role>
# Response
200 Successful
Location: http://www.example.org/platform/ws/roles/test_role
Content-Location: http://www.example.org/ws/platform/roles/test_role
Content-Type: application/xml;

<role name="test_role" description=”Test Role” builtIn=”false”>
<atom:link rel="self" href="http://www.example.org/ws/roles/test_role"/>
<permissions>
	<permission name="view_control">
		<resources>
		<resource name="own_jobs"/>
		</resources>
		</permission>
</permissions>
</role>