
Contains .inc files which have all the contents of the .rst files but are grouped together for easier editing. Contains parameters.yaml, which has all parameters in one file. Contains request and response samples (JSON and XML) that are pointed to from the .inc files. Change-Id: I42d5451300f95774a3ec4df66bc95cb36795844d
277 lines
3.4 KiB
ReStructuredText
277 lines
3.4 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
===================
|
|
Policies (policies)
|
|
===================
|
|
|
|
A policy is an arbitrarily serialized policy engine rule set to be
|
|
consumed by a remote service.
|
|
|
|
You encode policy rule sets into a blob that remote services can
|
|
consume. To do so, set ``type`` to ``application/json`` and specify
|
|
policy rules as JSON strings in a ``blob``. For example:
|
|
|
|
::
|
|
|
|
{
|
|
"blob":{
|
|
"foobar_user":[
|
|
"role:compute-user"
|
|
]
|
|
}
|
|
}
|
|
|
|
|
|
Create policy
|
|
=============
|
|
|
|
.. rest_method:: POST /v3/policies
|
|
|
|
Creates a policy.
|
|
|
|
Error response codes:201,413,415,405,404,403,401,400,503,409,
|
|
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy: policy
|
|
- user_id: user_id
|
|
- project_id: project_id
|
|
- type: type
|
|
- blob: blob
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: ../samples/admin/policy-create-request.json
|
|
:language: javascript
|
|
|
|
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- user_id: user_id
|
|
- links: links
|
|
- blob: blob
|
|
- policy: policy
|
|
- project_id: project_id
|
|
- type: type
|
|
- id: id
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List policies
|
|
=============
|
|
|
|
.. rest_method:: GET /v3/policies
|
|
|
|
Lists policies.
|
|
|
|
|
|
Normal response codes: 200
|
|
Error response codes:413,405,404,403,401,400,503,
|
|
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- type: type
|
|
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- user_id: user_id
|
|
- links: links
|
|
- blob: blob
|
|
- policies: policies
|
|
- project_id: project_id
|
|
- type: type
|
|
- id: id
|
|
|
|
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: ../samples/admin/policies-list-response.json
|
|
:language: javascript
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Show policy details
|
|
===================
|
|
|
|
.. rest_method:: GET /v3/policies/{policy_id}
|
|
|
|
Shows details for a policy.
|
|
|
|
|
|
Normal response codes: 200
|
|
Error response codes:413,405,404,403,401,400,503,
|
|
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- user_id: user_id
|
|
- links: links
|
|
- blob: blob
|
|
- policy: policy
|
|
- project_id: project_id
|
|
- type: type
|
|
- id: id
|
|
|
|
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: ../samples/admin/policy-show-response.json
|
|
:language: javascript
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Update policy
|
|
=============
|
|
|
|
.. rest_method:: PATCH /v3/policies/{policy_id}
|
|
|
|
Updates a policy.
|
|
|
|
|
|
Normal response codes: 200
|
|
Error response codes:413,415,405,404,403,401,400,503,409,
|
|
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy: policy
|
|
- user_id: user_id
|
|
- project_id: project_id
|
|
- type: type
|
|
- blob: blob
|
|
- policy_id: policy_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: ../samples/admin/policy-update-request.json
|
|
:language: javascript
|
|
|
|
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- user_id: user_id
|
|
- links: links
|
|
- blob: blob
|
|
- policy: policy
|
|
- project_id: project_id
|
|
- type: type
|
|
- id: id
|
|
|
|
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: ../samples/admin/policy-update-response.json
|
|
:language: javascript
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Delete policy
|
|
=============
|
|
|
|
.. rest_method:: DELETE /v3/policies/{policy_id}
|
|
|
|
Deletes a policy.
|
|
|
|
Error response codes:204,413,415,405,404,403,401,400,503,409,
|
|
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|