.. -*- rst -*- ========== 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 Relationship: ``http://docs.openstack.org/api/openstack-identity/3/rel/policies`` Creates a policy. Normal response codes: 201 Error response codes: 413,415,405,404,403,401,400,503,409 Request ------- .. rest_parameters:: parameters.yaml - policy: policy - user_id: policy_user_id - project_id: project_id - type: policy_type - blob: policy_blob_str Request Example --------------- .. literalinclude:: ./samples/admin/policy-create-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - user_id: policy_user_id - links: policy_links - blob: policy_blob_str - policy: policy - project_id: project_id - type: policy_type - id: policy_id List policies ============= .. rest_method:: GET /v3/policies Relationship: ``http://docs.openstack.org/api/openstack-identity/3/rel/policies`` Lists policies. Normal response codes: 200 Error response codes: 413,405,404,403,401,400,503 Request ------- .. rest_parameters:: parameters.yaml - type: policy_type_query Response Parameters ------------------- .. rest_parameters:: parameters.yaml - user_id: policy_user_id - links: policy_links - blob: policy_blob_obj - policies: policies - project_id: project_id - type: policy_type - id: policy_id Response Example ---------------- .. literalinclude:: ./samples/admin/policies-list-response.json :language: javascript Show policy details =================== .. rest_method:: GET /v3/policies/{policy_id} Relationship: ``http://docs.openstack.org/api/openstack-identity/3/rel/policy`` 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_path Response Parameters ------------------- .. rest_parameters:: parameters.yaml - user_id: policy_user_id - links: policy_links - blob: policy_blob_obj - policy: policy - project_id: project_id - type: policy_type - id: policy_id Response Example ---------------- .. literalinclude:: ./samples/admin/policy-show-response.json :language: javascript Update policy ============= .. rest_method:: PATCH /v3/policies/{policy_id} Relationship: ``http://docs.openstack.org/api/openstack-identity/3/rel/policy`` 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_id: policy_id_path - policy: policy - user_id: policy_user_id - project_id: project_id - type: policy_type - blob: policy_blob_obj Request Example --------------- .. literalinclude:: ./samples/admin/policy-update-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - user_id: policy_user_id - links: policy_links - blob: policy_blob_obj - policy: policy - project_id: project_id - type: policy_type - id: policy_id Response Example ---------------- .. literalinclude:: ./samples/admin/policy-update-response.json :language: javascript Delete policy ============= .. rest_method:: DELETE /v3/policies/{policy_id} Relationship: ``http://docs.openstack.org/api/openstack-identity/3/rel/policy`` Deletes a policy. Normal response codes: 204 Error response codes: 413,415,405,404,403,401,400,503,409 Request ------- .. rest_parameters:: parameters.yaml - policy_id: policy_id_path