aboutsummaryrefslogtreecommitdiffstats
path: root/moon_engine/tests
diff options
context:
space:
mode:
authorThomas Duval <thomas.duval@orange.com>2020-06-03 10:06:52 +0200
committerThomas Duval <thomas.duval@orange.com>2020-06-03 10:06:52 +0200
commit7bb53c64da2dcf88894bfd31503accdd81498f3d (patch)
tree4310e12366818af27947b5e2c80cb162da93a4b5 /moon_engine/tests
parentcbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (diff)
Update to new version 5.4HEADstable/jermamaster
Signed-off-by: Thomas Duval <thomas.duval@orange.com> Change-Id: Idcd868133d75928a1ffd74d749ce98503e0555ea
Diffstat (limited to 'moon_engine/tests')
-rw-r--r--moon_engine/tests/func_policies/moon.yaml58
-rw-r--r--moon_engine/tests/func_policies/opst_rbac.json59378
-rw-r--r--moon_engine/tests/func_policies/opst_rbac_cinder.json5078
-rw-r--r--moon_engine/tests/func_policies/opst_rbac_glance.json2918
-rw-r--r--moon_engine/tests/func_policies/opst_rbac_keystone.json12998
-rw-r--r--moon_engine/tests/func_policies/opst_rbac_kg.json1
-rw-r--r--moon_engine/tests/func_policies/opst_rbac_nova.json27158
-rw-r--r--moon_engine/tests/func_policies/policy_attributes.json452
-rw-r--r--moon_engine/tests/func_policies/policy_mls.json495
-rw-r--r--moon_engine/tests/func_policies/policy_rbac.json393
-rw-r--r--moon_engine/tests/func_policies/test_base_configuration.py30
-rw-r--r--moon_engine/tests/func_policies/tmp/glance.policy.json63
-rw-r--r--moon_engine/tests/func_policies/tmp/keystone.policy.json260
-rw-r--r--moon_engine/tests/func_postman/Test Authz through Wrapper.postman_collection.json24
-rw-r--r--moon_engine/tests/func_postman/db.json1
-rw-r--r--moon_engine/tests/func_postman/gunicorn.cfg3
-rw-r--r--moon_engine/tests/func_postman/moon.yaml49
-rwxr-xr-xmoon_engine/tests/func_postman/run.sh3
-rw-r--r--moon_engine/tests/performance_tests/authz_pipeline.py115
-rw-r--r--moon_engine/tests/performance_tests/locustfile.py26
-rw-r--r--moon_engine/tests/performance_tests/policy_rbac.json411
-rw-r--r--moon_engine/tests/performance_tests/utils.py60
-rw-r--r--moon_engine/tests/unit_python/api/__init__.py12
-rw-r--r--moon_engine/tests/unit_python/api/moon.yaml54
-rw-r--r--moon_engine/tests/unit_python/api/pipeline/__init__.py11
-rw-r--r--moon_engine/tests/unit_python/api/pipeline/test_authz.py37
-rw-r--r--moon_engine/tests/unit_python/api/pipeline/test_update.py525
-rw-r--r--moon_engine/tests/unit_python/api/test_status.py21
-rw-r--r--moon_engine/tests/unit_python/api/wrapper/__init__.py11
-rw-r--r--moon_engine/tests/unit_python/api/wrapper/test_oslo_wrapper.py209
-rw-r--r--moon_engine/tests/unit_python/api/wrapper/test_pipeline.py32
-rw-r--r--moon_engine/tests/unit_python/api/wrapper/test_update.py602
-rw-r--r--moon_engine/tests/unit_python/api/wrapper/test_wrapper_authz.py57
-rw-r--r--moon_engine/tests/unit_python/conftest.py60
-rw-r--r--moon_engine/tests/unit_python/mock_require_data.py762
-rw-r--r--moon_engine/tests/unit_python/moon.yaml54
-rw-r--r--moon_engine/tests/unit_python/moon_engine_users.json1
-rw-r--r--moon_engine/tests/unit_python/policy_example.json470
-rw-r--r--moon_engine/tests/unit_python/requirements.txt5
39 files changed, 112897 insertions, 0 deletions
diff --git a/moon_engine/tests/func_policies/moon.yaml b/moon_engine/tests/func_policies/moon.yaml
new file mode 100644
index 00000000..128948fa
--- /dev/null
+++ b/moon_engine/tests/func_policies/moon.yaml
@@ -0,0 +1,58 @@
+type: "pipeline"
+uuid:
+manager_url: ""
+incremental_updates: false
+api_token:
+data: policy_rbac.json
+debug: true
+
+management:
+ password: admin
+ url: http://127.0.0.1:8000
+ user: admin
+ token_file: moon_engine_users.json
+
+orchestration:
+ driver: moon_engine.plugins.pyorchestrator
+ connection: local
+ port: 20000...20100
+ config_dir: /tmp
+
+authorization:
+ driver: moon_engine.plugins.authz
+
+plugins:
+ directory: /tmp
+
+logging:
+ version: 1
+
+ formatters:
+ brief:
+ format: "%(levelname)s %(name)s %(message)-30s"
+ custom:
+ format: "%(asctime)-15s %(levelname)s %(name)s %(message)s"
+
+ handlers:
+ console:
+ class : logging.StreamHandler
+ formatter: custom
+ level : INFO
+ stream : ext://sys.stdout
+ file:
+ class : logging.handlers.RotatingFileHandler
+ formatter: custom
+ level : DEBUG
+ filename: /tmp/moon_engine.log
+ maxBytes: 1048576
+ backupCount: 3
+
+ loggers:
+ moon:
+ level: DEBUG
+ handlers: [console, file]
+ propagate: no
+
+ root:
+ level: ERROR
+ handlers: [console] \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/opst_rbac.json b/moon_engine/tests/func_policies/opst_rbac.json
new file mode 100644
index 00000000..6f95db86
--- /dev/null
+++ b/moon_engine/tests/func_policies/opst_rbac.json
@@ -0,0 +1,59378 @@
+{
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy",
+ "genre": "authz",
+ "description": "A RBAC policy similar of what you can find through policy.json files",
+ "model": {
+ "name": "OPST_RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "OPST_RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "a role in OpenStack"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "the admin role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "member",
+ "description": "the member role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {
+ "name": "admin"
+ },
+ "category": {
+ "name": "role"
+ },
+ "assignments": [
+ {
+ "name": "admin"
+ },
+ {
+ "name": "member"
+ }
+ ]
+ }
+ ],
+ "objects": [
+ {
+ "name": "all_vm",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "the UID of each virtual machine"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm",
+ "description": "represents all virtual machines in this project",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {
+ "name": "all_vm"
+ },
+ "category": {
+ "name": "id"
+ },
+ "assignments": [
+ {
+ "name": "all_vm"
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "name": "volume:create",
+ "description": "volume:create action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete",
+ "description": "volume:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get",
+ "description": "volume:get action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_all",
+ "description": "volume:get_all action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_volume_metadata",
+ "description": "volume:get_volume_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete_volume_metadata",
+ "description": "volume:delete_volume_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_volume_metadata",
+ "description": "volume:update_volume_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_volume_admin_metadata",
+ "description": "volume:get_volume_admin_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_volume_admin_metadata",
+ "description": "volume:update_volume_admin_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_snapshot",
+ "description": "volume:get_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_all_snapshots",
+ "description": "volume:get_all_snapshots action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:create_snapshot",
+ "description": "volume:create_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete_snapshot",
+ "description": "volume:delete_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_snapshot",
+ "description": "volume:update_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:extend",
+ "description": "volume:extend action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_readonly_flag",
+ "description": "volume:update_readonly_flag action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:retype",
+ "description": "volume:retype action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update",
+ "description": "volume:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:types_manage",
+ "description": "volume_extension:types_manage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:types_extra_specs",
+ "description": "volume_extension:types_extra_specs action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:access_types_qos_specs_id",
+ "description": "volume_extension:access_types_qos_specs_id action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:access_types_extra_specs",
+ "description": "volume_extension:access_types_extra_specs action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_access",
+ "description": "volume_extension:volume_type_access action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess",
+ "description": "volume_extension:volume_type_access:addProjectAccess action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess",
+ "description": "volume_extension:volume_type_access:removeProjectAccess action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_encryption",
+ "description": "volume_extension:volume_type_encryption action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_encryption_metadata",
+ "description": "volume_extension:volume_encryption_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:extended_snapshot_attributes",
+ "description": "volume_extension:extended_snapshot_attributes action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_image_metadata",
+ "description": "volume_extension:volume_image_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quotas:show",
+ "description": "volume_extension:quotas:show action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quotas:update",
+ "description": "volume_extension:quotas:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quotas:delete",
+ "description": "volume_extension:quotas:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quota_classes",
+ "description": "volume_extension:quota_classes action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use",
+ "description": "volume_extension:quota_classes:validate_setup_for_nested_quota_use action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status",
+ "description": "volume_extension:volume_admin_actions:reset_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status",
+ "description": "volume_extension:snapshot_admin_actions:reset_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status",
+ "description": "volume_extension:backup_admin_actions:reset_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete",
+ "description": "volume_extension:volume_admin_actions:force_delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach",
+ "description": "volume_extension:volume_admin_actions:force_detach action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete",
+ "description": "volume_extension:snapshot_admin_actions:force_delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete",
+ "description": "volume_extension:backup_admin_actions:force_delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume",
+ "description": "volume_extension:volume_admin_actions:migrate_volume action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion",
+ "description": "volume_extension:volume_admin_actions:migrate_volume_completion action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_host_attribute",
+ "description": "volume_extension:volume_host_attribute action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_tenant_attribute",
+ "description": "volume_extension:volume_tenant_attribute action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_mig_status_attribute",
+ "description": "volume_extension:volume_mig_status_attribute action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:hosts",
+ "description": "volume_extension:hosts action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:services:index",
+ "description": "volume_extension:services:index action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:services:update",
+ "description": "volume_extension:services:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_manage",
+ "description": "volume_extension:volume_manage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_unmanage",
+ "description": "volume_extension:volume_unmanage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:capabilities",
+ "description": "volume_extension:capabilities action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:create_transfer",
+ "description": "volume:create_transfer action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:accept_transfer",
+ "description": "volume:accept_transfer action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete_transfer",
+ "description": "volume:delete_transfer action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_all_transfers",
+ "description": "volume:get_all_transfers action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:replication:promote",
+ "description": "volume_extension:replication:promote action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:replication:reenable",
+ "description": "volume_extension:replication:reenable action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:enable_replication",
+ "description": "volume:enable_replication action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:disable_replication",
+ "description": "volume:disable_replication action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:failover_replication",
+ "description": "volume:failover_replication action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:list_replication_targets",
+ "description": "volume:list_replication_targets action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:create",
+ "description": "backup:create action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:delete",
+ "description": "backup:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:get",
+ "description": "backup:get action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:get_all",
+ "description": "backup:get_all action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:restore",
+ "description": "backup:restore action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:backup-import",
+ "description": "backup:backup-import action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:backup-export",
+ "description": "backup:backup-export action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status",
+ "description": "snapshot_extension:snapshot_actions:update_snapshot_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "snapshot_extension:snapshot_manage",
+ "description": "snapshot_extension:snapshot_manage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "snapshot_extension:snapshot_unmanage",
+ "description": "snapshot_extension:snapshot_unmanage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:create",
+ "description": "consistencygroup:create action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:delete",
+ "description": "consistencygroup:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:update",
+ "description": "consistencygroup:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get",
+ "description": "consistencygroup:get action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get_all",
+ "description": "consistencygroup:get_all action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:create_cgsnapshot",
+ "description": "consistencygroup:create_cgsnapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:delete_cgsnapshot",
+ "description": "consistencygroup:delete_cgsnapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get_cgsnapshot",
+ "description": "consistencygroup:get_cgsnapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get_all_cgsnapshots",
+ "description": "consistencygroup:get_all_cgsnapshots action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools",
+ "description": "scheduler_extension:scheduler_stats:get_pools action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_image",
+ "description": "add_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_image",
+ "description": "delete_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_image",
+ "description": "get_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_image",
+ "description": "modify_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "publicize_image",
+ "description": "publicize_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "communitize_image",
+ "description": "communitize_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "copy_from",
+ "description": "copy_from action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "download_image",
+ "description": "download_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "upload_image",
+ "description": "upload_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_image_location",
+ "description": "delete_image_location action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_image_location",
+ "description": "get_image_location action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "set_image_location",
+ "description": "set_image_location action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_member",
+ "description": "add_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_member",
+ "description": "delete_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_member",
+ "description": "get_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_members",
+ "description": "get_members action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_member",
+ "description": "modify_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "manage_image_cache",
+ "description": "manage_image_cache action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_task",
+ "description": "get_task action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_tasks",
+ "description": "get_tasks action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_task",
+ "description": "add_task action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_task",
+ "description": "modify_task action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "tasks_api_access",
+ "description": "tasks_api_access action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "deactivate",
+ "description": "deactivate action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "reactivate",
+ "description": "reactivate action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_namespace",
+ "description": "get_metadef_namespace action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_namespaces",
+ "description": "get_metadef_namespaces action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_namespace",
+ "description": "modify_metadef_namespace action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_namespace",
+ "description": "add_metadef_namespace action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_object",
+ "description": "get_metadef_object action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_objects",
+ "description": "get_metadef_objects action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_object",
+ "description": "modify_metadef_object action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_object",
+ "description": "add_metadef_object action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "list_metadef_resource_types",
+ "description": "list_metadef_resource_types action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_resource_type",
+ "description": "get_metadef_resource_type action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_resource_type_association",
+ "description": "add_metadef_resource_type_association action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_property",
+ "description": "get_metadef_property action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_properties",
+ "description": "get_metadef_properties action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_property",
+ "description": "modify_metadef_property action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_property",
+ "description": "add_metadef_property action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_tag",
+ "description": "get_metadef_tag action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_tags",
+ "description": "get_metadef_tags action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_tag",
+ "description": "modify_metadef_tag action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_tag",
+ "description": "add_metadef_tag action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_tags",
+ "description": "add_metadef_tags action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_region",
+ "description": "identity:get_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_regions",
+ "description": "identity:list_regions action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_region",
+ "description": "identity:create_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_region",
+ "description": "identity:update_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_region",
+ "description": "identity:delete_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_service",
+ "description": "identity:get_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_services",
+ "description": "identity:list_services action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_service",
+ "description": "identity:create_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_service",
+ "description": "identity:update_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_service",
+ "description": "identity:delete_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_endpoint",
+ "description": "identity:get_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints",
+ "description": "identity:list_endpoints action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_endpoint",
+ "description": "identity:create_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_endpoint",
+ "description": "identity:update_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_endpoint",
+ "description": "identity:delete_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_registered_limit",
+ "description": "identity:get_registered_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_registered_limits",
+ "description": "identity:list_registered_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_registered_limits",
+ "description": "identity:create_registered_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_registered_limits",
+ "description": "identity:update_registered_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_registered_limit",
+ "description": "identity:delete_registered_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_limit",
+ "description": "identity:get_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_limits",
+ "description": "identity:list_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_limits",
+ "description": "identity:create_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_limits",
+ "description": "identity:update_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_limit",
+ "description": "identity:delete_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain",
+ "description": "identity:get_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_domains",
+ "description": "identity:list_domains action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_domain",
+ "description": "identity:create_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_domain",
+ "description": "identity:update_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_domain",
+ "description": "identity:delete_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_target_project_domain_id",
+ "description": "admin_and_matching_target_project_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_project_domain_id",
+ "description": "admin_and_matching_project_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_project",
+ "description": "identity:get_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects",
+ "description": "identity:list_projects action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_user_projects",
+ "description": "identity:list_user_projects action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_project",
+ "description": "identity:create_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_project",
+ "description": "identity:update_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_project",
+ "description": "identity:delete_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_project_tag",
+ "description": "identity:create_project_tag action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_project_tag",
+ "description": "identity:delete_project_tag action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_project_tag",
+ "description": "identity:get_project_tag action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_project_tags",
+ "description": "identity:list_project_tags action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_project_tags",
+ "description": "identity:delete_project_tags action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_project_tags",
+ "description": "identity:update_project_tags action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_target_user_domain_id",
+ "description": "admin_and_matching_target_user_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_user_domain_id",
+ "description": "admin_and_matching_user_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_user",
+ "description": "identity:get_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_users",
+ "description": "identity:list_users action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_user",
+ "description": "identity:create_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_user",
+ "description": "identity:update_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_user",
+ "description": "identity:delete_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_target_group_domain_id",
+ "description": "admin_and_matching_target_group_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_group_domain_id",
+ "description": "admin_and_matching_group_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_group",
+ "description": "identity:get_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_groups",
+ "description": "identity:list_groups action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_groups_for_user",
+ "description": "identity:list_groups_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_group",
+ "description": "identity:create_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_group",
+ "description": "identity:update_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_group",
+ "description": "identity:delete_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_users_in_group",
+ "description": "identity:list_users_in_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:remove_user_from_group",
+ "description": "identity:remove_user_from_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_user_in_group",
+ "description": "identity:check_user_in_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:add_user_to_group",
+ "description": "identity:add_user_to_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_credential",
+ "description": "identity:get_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_credentials",
+ "description": "identity:list_credentials action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_credential",
+ "description": "identity:create_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_credential",
+ "description": "identity:update_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_credential",
+ "description": "identity:delete_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_get_credential",
+ "description": "identity:ec2_get_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_list_credentials",
+ "description": "identity:ec2_list_credentials action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_create_credential",
+ "description": "identity:ec2_create_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_delete_credential",
+ "description": "identity:ec2_delete_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_role",
+ "description": "identity:get_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_roles",
+ "description": "identity:list_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_role",
+ "description": "identity:create_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_role",
+ "description": "identity:update_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_role",
+ "description": "identity:delete_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain_role",
+ "description": "identity:get_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_domain_roles",
+ "description": "identity:list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_domain_role",
+ "description": "identity:create_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_domain_role",
+ "description": "identity:update_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_domain_role",
+ "description": "identity:delete_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_matches_domain_role",
+ "description": "domain_admin_matches_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_domain_roles",
+ "description": "get_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_matches_target_domain_role",
+ "description": "domain_admin_matches_target_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_matches_target_domain_role",
+ "description": "project_admin_matches_target_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "list_domain_roles",
+ "description": "list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles",
+ "description": "domain_admin_matches_filter_on_list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles",
+ "description": "project_admin_matches_filter_on_list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_prior_role_domain_id",
+ "description": "admin_and_matching_prior_role_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global",
+ "description": "implied_role_matches_prior_role_domain_or_global action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_implied_role",
+ "description": "identity:get_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_implied_roles",
+ "description": "identity:list_implied_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_implied_role",
+ "description": "identity:create_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_implied_role",
+ "description": "identity:delete_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_role_inference_rules",
+ "description": "identity:list_role_inference_rules action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_implied_role",
+ "description": "identity:check_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_system_grants_for_user",
+ "description": "identity:list_system_grants_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_system_grant_for_user",
+ "description": "identity:check_system_grant_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_system_grant_for_user",
+ "description": "identity:create_system_grant_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_system_grant_for_user",
+ "description": "identity:revoke_system_grant_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_system_grants_for_group",
+ "description": "identity:list_system_grants_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_system_grant_for_group",
+ "description": "identity:check_system_grant_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_system_grant_for_group",
+ "description": "identity:create_system_grant_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_system_grant_for_group",
+ "description": "identity:revoke_system_grant_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_grant",
+ "description": "identity:check_grant action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_grants",
+ "description": "identity:list_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_grant",
+ "description": "identity:create_grant action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_grant",
+ "description": "identity:revoke_grant action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_grants",
+ "description": "domain_admin_for_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_global_role_grants",
+ "description": "domain_admin_for_global_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_domain_role_grants",
+ "description": "domain_admin_for_domain_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_grant_match",
+ "description": "domain_admin_grant_match action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_grants",
+ "description": "project_admin_for_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_global_role_grants",
+ "description": "project_admin_for_global_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_domain_role_grants",
+ "description": "project_admin_for_domain_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_list_grants",
+ "description": "domain_admin_for_list_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_list_grants",
+ "description": "project_admin_for_list_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_on_domain_filter",
+ "description": "admin_on_domain_filter action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_on_project_filter",
+ "description": "admin_on_project_filter action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_on_domain_of_project_filter",
+ "description": "admin_on_domain_of_project_filter action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_role_assignments",
+ "description": "identity:list_role_assignments action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_role_assignments_for_tree",
+ "description": "identity:list_role_assignments_for_tree action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_policy",
+ "description": "identity:get_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_policies",
+ "description": "identity:list_policies action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy",
+ "description": "identity:create_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_policy",
+ "description": "identity:update_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy",
+ "description": "identity:delete_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_token",
+ "description": "identity:check_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:validate_token",
+ "description": "identity:validate_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:validate_token_head",
+ "description": "identity:validate_token_head action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revocation_list",
+ "description": "identity:revocation_list action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_token",
+ "description": "identity:revoke_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_trust",
+ "description": "identity:create_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_trusts",
+ "description": "identity:list_trusts action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_roles_for_trust",
+ "description": "identity:list_roles_for_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_role_for_trust",
+ "description": "identity:get_role_for_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_trust",
+ "description": "identity:delete_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_trust",
+ "description": "identity:get_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_consumer",
+ "description": "identity:create_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_consumer",
+ "description": "identity:get_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_consumers",
+ "description": "identity:list_consumers action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_consumer",
+ "description": "identity:delete_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_consumer",
+ "description": "identity:update_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:authorize_request_token",
+ "description": "identity:authorize_request_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_access_token_roles",
+ "description": "identity:list_access_token_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_access_token_role",
+ "description": "identity:get_access_token_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_access_tokens",
+ "description": "identity:list_access_tokens action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_access_token",
+ "description": "identity:get_access_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_access_token",
+ "description": "identity:delete_access_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects_for_endpoint",
+ "description": "identity:list_projects_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:add_endpoint_to_project",
+ "description": "identity:add_endpoint_to_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_endpoint_in_project",
+ "description": "identity:check_endpoint_in_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints_for_project",
+ "description": "identity:list_endpoints_for_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:remove_endpoint_from_project",
+ "description": "identity:remove_endpoint_from_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_endpoint_group",
+ "description": "identity:create_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoint_groups",
+ "description": "identity:list_endpoint_groups action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_endpoint_group",
+ "description": "identity:get_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_endpoint_group",
+ "description": "identity:update_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_endpoint_group",
+ "description": "identity:delete_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group",
+ "description": "identity:list_projects_associated_with_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group",
+ "description": "identity:list_endpoints_associated_with_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_endpoint_group_in_project",
+ "description": "identity:get_endpoint_group_in_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoint_groups_for_project",
+ "description": "identity:list_endpoint_groups_for_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:add_endpoint_group_to_project",
+ "description": "identity:add_endpoint_group_to_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:remove_endpoint_group_from_project",
+ "description": "identity:remove_endpoint_group_from_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_identity_provider",
+ "description": "identity:create_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_identity_providers",
+ "description": "identity:list_identity_providers action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_identity_provider",
+ "description": "identity:get_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_identity_provider",
+ "description": "identity:update_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_identity_provider",
+ "description": "identity:delete_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_protocol",
+ "description": "identity:create_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_protocol",
+ "description": "identity:update_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_protocol",
+ "description": "identity:get_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_protocols",
+ "description": "identity:list_protocols action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_protocol",
+ "description": "identity:delete_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_mapping",
+ "description": "identity:create_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_mapping",
+ "description": "identity:get_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_mappings",
+ "description": "identity:list_mappings action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_mapping",
+ "description": "identity:delete_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_mapping",
+ "description": "identity:update_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_service_provider",
+ "description": "identity:create_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_service_providers",
+ "description": "identity:list_service_providers action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_service_provider",
+ "description": "identity:get_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_service_provider",
+ "description": "identity:update_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_service_provider",
+ "description": "identity:delete_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_catalog",
+ "description": "identity:get_auth_catalog action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_projects",
+ "description": "identity:get_auth_projects action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_domains",
+ "description": "identity:get_auth_domains action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_system",
+ "description": "identity:get_auth_system action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects_for_user",
+ "description": "identity:list_projects_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_domains_for_user",
+ "description": "identity:list_domains_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_revoke_events",
+ "description": "identity:list_revoke_events action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy_association_for_endpoint",
+ "description": "identity:create_policy_association_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_policy_association_for_endpoint",
+ "description": "identity:check_policy_association_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy_association_for_endpoint",
+ "description": "identity:delete_policy_association_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy_association_for_service",
+ "description": "identity:create_policy_association_for_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_policy_association_for_service",
+ "description": "identity:check_policy_association_for_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy_association_for_service",
+ "description": "identity:delete_policy_association_for_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy_association_for_region_and_service",
+ "description": "identity:create_policy_association_for_region_and_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_policy_association_for_region_and_service",
+ "description": "identity:check_policy_association_for_region_and_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy_association_for_region_and_service",
+ "description": "identity:delete_policy_association_for_region_and_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_policy_for_endpoint",
+ "description": "identity:get_policy_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints_for_policy",
+ "description": "identity:list_endpoints_for_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_domain_config",
+ "description": "identity:create_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain_config",
+ "description": "identity:get_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_security_compliance_domain_config",
+ "description": "identity:get_security_compliance_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_domain_config",
+ "description": "identity:update_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_domain_config",
+ "description": "identity:delete_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain_config_default",
+ "description": "identity:get_domain_config_default action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_application_credential",
+ "description": "identity:get_application_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_application_credentials",
+ "description": "identity:list_application_credentials action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_application_credential",
+ "description": "identity:create_application_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_application_credential",
+ "description": "identity:delete_application_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_subnet",
+ "description": "create_subnet action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_subnet:segment_id",
+ "description": "create_subnet:segment_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_subnet:service_types",
+ "description": "create_subnet:service_types action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_subnet",
+ "description": "get_subnet action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_subnet:segment_id",
+ "description": "get_subnet:segment_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_subnet",
+ "description": "update_subnet action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_subnet:service_types",
+ "description": "update_subnet:service_types action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_subnet",
+ "description": "delete_subnet action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_subnetpool",
+ "description": "create_subnetpool action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_subnetpool:shared",
+ "description": "create_subnetpool:shared action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_subnetpool:is_default",
+ "description": "create_subnetpool:is_default action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_subnetpool",
+ "description": "get_subnetpool action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_subnetpool",
+ "description": "update_subnetpool action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_subnetpool:is_default",
+ "description": "update_subnetpool:is_default action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_subnetpool",
+ "description": "delete_subnetpool action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_address_scope",
+ "description": "create_address_scope action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_address_scope:shared",
+ "description": "create_address_scope:shared action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_address_scope",
+ "description": "get_address_scope action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_address_scope",
+ "description": "update_address_scope action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_address_scope:shared",
+ "description": "update_address_scope:shared action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_address_scope",
+ "description": "delete_address_scope action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network",
+ "description": "create_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network",
+ "description": "get_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network:router:external",
+ "description": "get_network:router:external action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network:segments",
+ "description": "get_network:segments action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network:provider:network_type",
+ "description": "get_network:provider:network_type action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network:provider:physical_network",
+ "description": "get_network:provider:physical_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network:provider:segmentation_id",
+ "description": "get_network:provider:segmentation_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network:queue_id",
+ "description": "get_network:queue_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network_ip_availabilities",
+ "description": "get_network_ip_availabilities action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network_ip_availability",
+ "description": "get_network_ip_availability action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:shared",
+ "description": "create_network:shared action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:router:external",
+ "description": "create_network:router:external action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:is_default",
+ "description": "create_network:is_default action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:segments",
+ "description": "create_network:segments action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:provider:network_type",
+ "description": "create_network:provider:network_type action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:provider:physical_network",
+ "description": "create_network:provider:physical_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network:provider:segmentation_id",
+ "description": "create_network:provider:segmentation_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network",
+ "description": "update_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network:segments",
+ "description": "update_network:segments action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network:shared",
+ "description": "update_network:shared action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network:provider:network_type",
+ "description": "update_network:provider:network_type action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network:provider:physical_network",
+ "description": "update_network:provider:physical_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network:provider:segmentation_id",
+ "description": "update_network:provider:segmentation_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network:router:external",
+ "description": "update_network:router:external action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_network",
+ "description": "delete_network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_segment",
+ "description": "create_segment action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_segment",
+ "description": "get_segment action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_segment",
+ "description": "update_segment action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_segment",
+ "description": "delete_segment action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "network_device",
+ "description": "network_device action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port",
+ "description": "create_port action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:device_owner",
+ "description": "create_port:device_owner action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:mac_address",
+ "description": "create_port:mac_address action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:fixed_ips:ip_address",
+ "description": "create_port:fixed_ips:ip_address action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:fixed_ips:subnet_id",
+ "description": "create_port:fixed_ips:subnet_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:port_security_enabled",
+ "description": "create_port:port_security_enabled action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:binding:host_id",
+ "description": "create_port:binding:host_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:binding:profile",
+ "description": "create_port:binding:profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:mac_learning_enabled",
+ "description": "create_port:mac_learning_enabled action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_port:allowed_address_pairs",
+ "description": "create_port:allowed_address_pairs action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_port",
+ "description": "get_port action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_port:queue_id",
+ "description": "get_port:queue_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_port:binding:vif_type",
+ "description": "get_port:binding:vif_type action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_port:binding:vif_details",
+ "description": "get_port:binding:vif_details action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_port:binding:host_id",
+ "description": "get_port:binding:host_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_port:binding:profile",
+ "description": "get_port:binding:profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port",
+ "description": "update_port action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:device_owner",
+ "description": "update_port:device_owner action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:mac_address",
+ "description": "update_port:mac_address action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:fixed_ips:ip_address",
+ "description": "update_port:fixed_ips:ip_address action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:fixed_ips:subnet_id",
+ "description": "update_port:fixed_ips:subnet_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:port_security_enabled",
+ "description": "update_port:port_security_enabled action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:binding:host_id",
+ "description": "update_port:binding:host_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:binding:profile",
+ "description": "update_port:binding:profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:mac_learning_enabled",
+ "description": "update_port:mac_learning_enabled action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:allowed_address_pairs",
+ "description": "update_port:allowed_address_pairs action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_port:data_plane_status",
+ "description": "update_port:data_plane_status action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_port",
+ "description": "delete_port action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_router:ha",
+ "description": "get_router:ha action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_router",
+ "description": "create_router action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_router:external_gateway_info:enable_snat",
+ "description": "create_router:external_gateway_info:enable_snat action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_router:distributed",
+ "description": "create_router:distributed action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_router:ha",
+ "description": "create_router:ha action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_router",
+ "description": "get_router action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_router:distributed",
+ "description": "get_router:distributed action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router",
+ "description": "update_router action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router:external_gateway_info",
+ "description": "update_router:external_gateway_info action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router:external_gateway_info:network_id",
+ "description": "update_router:external_gateway_info:network_id action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router:external_gateway_info:enable_snat",
+ "description": "update_router:external_gateway_info:enable_snat action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router:distributed",
+ "description": "update_router:distributed action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router:ha",
+ "description": "update_router:ha action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_router",
+ "description": "delete_router action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_router_interface",
+ "description": "add_router_interface action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "remove_router_interface",
+ "description": "remove_router_interface action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_router:external_gateway_info:external_fixed_ips",
+ "description": "create_router:external_gateway_info:external_fixed_ips action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_router:external_gateway_info:external_fixed_ips",
+ "description": "update_router:external_gateway_info:external_fixed_ips action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_qos_queue",
+ "description": "create_qos_queue action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_qos_queue",
+ "description": "get_qos_queue action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_agent",
+ "description": "update_agent action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_agent",
+ "description": "delete_agent action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_agent",
+ "description": "get_agent action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_dhcp-network",
+ "description": "create_dhcp-network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_dhcp-network",
+ "description": "delete_dhcp-network action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_dhcp-networks",
+ "description": "get_dhcp-networks action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_l3-router",
+ "description": "create_l3-router action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_l3-router",
+ "description": "delete_l3-router action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_l3-routers",
+ "description": "get_l3-routers action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_dhcp-agents",
+ "description": "get_dhcp-agents action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_l3-agents",
+ "description": "get_l3-agents action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_loadbalancer-agent",
+ "description": "get_loadbalancer-agent action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_loadbalancer-pools",
+ "description": "get_loadbalancer-pools action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_agent-loadbalancers",
+ "description": "get_agent-loadbalancers action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_loadbalancer-hosting-agent",
+ "description": "get_loadbalancer-hosting-agent action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_floatingip",
+ "description": "create_floatingip action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_floatingip:floating_ip_address",
+ "description": "create_floatingip:floating_ip_address action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_floatingip",
+ "description": "update_floatingip action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_floatingip",
+ "description": "delete_floatingip action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_floatingip",
+ "description": "get_floatingip action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_network_profile",
+ "description": "create_network_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_network_profile",
+ "description": "update_network_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_network_profile",
+ "description": "delete_network_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network_profiles",
+ "description": "get_network_profiles action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_network_profile",
+ "description": "get_network_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_policy_profiles",
+ "description": "update_policy_profiles action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_policy_profiles",
+ "description": "get_policy_profiles action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_policy_profile",
+ "description": "get_policy_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_metering_label",
+ "description": "create_metering_label action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_metering_label",
+ "description": "delete_metering_label action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metering_label",
+ "description": "get_metering_label action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_metering_label_rule",
+ "description": "create_metering_label_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_metering_label_rule",
+ "description": "delete_metering_label_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metering_label_rule",
+ "description": "get_metering_label_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_service_provider",
+ "description": "get_service_provider action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_lsn",
+ "description": "get_lsn action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_lsn",
+ "description": "create_lsn action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_flavor",
+ "description": "create_flavor action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_flavor",
+ "description": "update_flavor action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_flavor",
+ "description": "delete_flavor action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_flavors",
+ "description": "get_flavors action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_flavor",
+ "description": "get_flavor action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_service_profile",
+ "description": "create_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_service_profile",
+ "description": "update_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_service_profile",
+ "description": "delete_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_service_profiles",
+ "description": "get_service_profiles action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_service_profile",
+ "description": "get_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_policy",
+ "description": "get_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_policy",
+ "description": "create_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_policy",
+ "description": "update_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_policy",
+ "description": "delete_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_policy_bandwidth_limit_rule",
+ "description": "get_policy_bandwidth_limit_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_policy_bandwidth_limit_rule",
+ "description": "create_policy_bandwidth_limit_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_policy_bandwidth_limit_rule",
+ "description": "delete_policy_bandwidth_limit_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_policy_bandwidth_limit_rule",
+ "description": "update_policy_bandwidth_limit_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_policy_dscp_marking_rule",
+ "description": "get_policy_dscp_marking_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_policy_dscp_marking_rule",
+ "description": "create_policy_dscp_marking_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_policy_dscp_marking_rule",
+ "description": "delete_policy_dscp_marking_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_policy_dscp_marking_rule",
+ "description": "update_policy_dscp_marking_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_rule_type",
+ "description": "get_rule_type action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_policy_minimum_bandwidth_rule",
+ "description": "get_policy_minimum_bandwidth_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_policy_minimum_bandwidth_rule",
+ "description": "create_policy_minimum_bandwidth_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_policy_minimum_bandwidth_rule",
+ "description": "delete_policy_minimum_bandwidth_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_policy_minimum_bandwidth_rule",
+ "description": "update_policy_minimum_bandwidth_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "restrict_wildcard",
+ "description": "restrict_wildcard action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_rbac_policy",
+ "description": "create_rbac_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_rbac_policy:target_tenant",
+ "description": "create_rbac_policy:target_tenant action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_rbac_policy",
+ "description": "update_rbac_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_rbac_policy:target_tenant",
+ "description": "update_rbac_policy:target_tenant action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_rbac_policy",
+ "description": "get_rbac_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_rbac_policy",
+ "description": "delete_rbac_policy action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_flavor_service_profile",
+ "description": "create_flavor_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_flavor_service_profile",
+ "description": "delete_flavor_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_flavor_service_profile",
+ "description": "get_flavor_service_profile action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_auto_allocated_topology",
+ "description": "get_auto_allocated_topology action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_trunk",
+ "description": "create_trunk action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_trunk",
+ "description": "get_trunk action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_trunk",
+ "description": "delete_trunk action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_subports",
+ "description": "get_subports action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_subports",
+ "description": "add_subports action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "remove_subports",
+ "description": "remove_subports action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_security_groups",
+ "description": "get_security_groups action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_security_group",
+ "description": "get_security_group action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_security_group",
+ "description": "create_security_group action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_security_group",
+ "description": "update_security_group action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_security_group",
+ "description": "delete_security_group action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_security_group_rules",
+ "description": "get_security_group_rules action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_security_group_rule",
+ "description": "get_security_group_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_security_group_rule",
+ "description": "create_security_group_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_security_group_rule",
+ "description": "delete_security_group_rule action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_loggable_resources",
+ "description": "get_loggable_resources action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "create_log",
+ "description": "create_log action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_log",
+ "description": "update_log action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_log",
+ "description": "delete_log action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_logs",
+ "description": "get_logs action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_log",
+ "description": "get_log action for neutron",
+ "extra": {
+ "component": "neutron"
+ },
+ "policies": []
+ },
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter",
+ "description": "cells_scheduler_filter:TargetCellFilter action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create",
+ "description": "compute:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create:attach_network",
+ "description": "compute:create:attach_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create:attach_volume",
+ "description": "compute:create:attach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create:forced_host",
+ "description": "compute:create:forced_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get",
+ "description": "compute:get action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all",
+ "description": "compute:get_all action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all_tenants",
+ "description": "compute:get_all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:update",
+ "description": "compute:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_instance_metadata",
+ "description": "compute:get_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all_instance_metadata",
+ "description": "compute:get_all_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all_instance_system_metadata",
+ "description": "compute:get_all_instance_system_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:update_instance_metadata",
+ "description": "compute:update_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:delete_instance_metadata",
+ "description": "compute:delete_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_instance_faults",
+ "description": "compute:get_instance_faults action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_diagnostics",
+ "description": "compute:get_diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_instance_diagnostics",
+ "description": "compute:get_instance_diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:start",
+ "description": "compute:start action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:stop",
+ "description": "compute:stop action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_lock",
+ "description": "compute:get_lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:lock",
+ "description": "compute:lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unlock",
+ "description": "compute:unlock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unlock_override",
+ "description": "compute:unlock_override action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_vnc_console",
+ "description": "compute:get_vnc_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_spice_console",
+ "description": "compute:get_spice_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_rdp_console",
+ "description": "compute:get_rdp_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_serial_console",
+ "description": "compute:get_serial_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_mks_console",
+ "description": "compute:get_mks_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_console_output",
+ "description": "compute:get_console_output action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:reset_network",
+ "description": "compute:reset_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:inject_network_info",
+ "description": "compute:inject_network_info action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:add_fixed_ip",
+ "description": "compute:add_fixed_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:remove_fixed_ip",
+ "description": "compute:remove_fixed_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:attach_volume",
+ "description": "compute:attach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:detach_volume",
+ "description": "compute:detach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:swap_volume",
+ "description": "compute:swap_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:attach_interface",
+ "description": "compute:attach_interface action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:detach_interface",
+ "description": "compute:detach_interface action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:set_admin_password",
+ "description": "compute:set_admin_password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:rescue",
+ "description": "compute:rescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unrescue",
+ "description": "compute:unrescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:suspend",
+ "description": "compute:suspend action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:resume",
+ "description": "compute:resume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:pause",
+ "description": "compute:pause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unpause",
+ "description": "compute:unpause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:shelve",
+ "description": "compute:shelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:shelve_offload",
+ "description": "compute:shelve_offload action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unshelve",
+ "description": "compute:unshelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:snapshot",
+ "description": "compute:snapshot action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:snapshot_volume_backed",
+ "description": "compute:snapshot_volume_backed action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:backup",
+ "description": "compute:backup action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:resize",
+ "description": "compute:resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:confirm_resize",
+ "description": "compute:confirm_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:revert_resize",
+ "description": "compute:revert_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:rebuild",
+ "description": "compute:rebuild action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:reboot",
+ "description": "compute:reboot action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:delete",
+ "description": "compute:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:soft_delete",
+ "description": "compute:soft_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:force_delete",
+ "description": "compute:force_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:security_groups:add_to_instance",
+ "description": "compute:security_groups:add_to_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:security_groups:remove_from_instance",
+ "description": "compute:security_groups:remove_from_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:restore",
+ "description": "compute:restore action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:volume_snapshot_create",
+ "description": "compute:volume_snapshot_create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:volume_snapshot_delete",
+ "description": "compute:volume_snapshot_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:accounts",
+ "description": "compute_extension:accounts action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions",
+ "description": "compute_extension:admin_actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:pause",
+ "description": "compute_extension:admin_actions:pause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:unpause",
+ "description": "compute_extension:admin_actions:unpause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:suspend",
+ "description": "compute_extension:admin_actions:suspend action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:resume",
+ "description": "compute_extension:admin_actions:resume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:lock",
+ "description": "compute_extension:admin_actions:lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:unlock",
+ "description": "compute_extension:admin_actions:unlock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:resetNetwork",
+ "description": "compute_extension:admin_actions:resetNetwork action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo",
+ "description": "compute_extension:admin_actions:injectNetworkInfo action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:createBackup",
+ "description": "compute_extension:admin_actions:createBackup action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:migrateLive",
+ "description": "compute_extension:admin_actions:migrateLive action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:resetState",
+ "description": "compute_extension:admin_actions:resetState action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:migrate",
+ "description": "compute_extension:admin_actions:migrate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:aggregates",
+ "description": "compute_extension:aggregates action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:agents",
+ "description": "compute_extension:agents action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:attach_interfaces",
+ "description": "compute_extension:attach_interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:baremetal_nodes",
+ "description": "compute_extension:baremetal_nodes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells",
+ "description": "compute_extension:cells action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:create",
+ "description": "compute_extension:cells:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:delete",
+ "description": "compute_extension:cells:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:update",
+ "description": "compute_extension:cells:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:sync_instances",
+ "description": "compute_extension:cells:sync_instances action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:certificates",
+ "description": "compute_extension:certificates action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cloudpipe",
+ "description": "compute_extension:cloudpipe action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cloudpipe_update",
+ "description": "compute_extension:cloudpipe_update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:config_drive",
+ "description": "compute_extension:config_drive action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:console_output",
+ "description": "compute_extension:console_output action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:consoles",
+ "description": "compute_extension:consoles action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:createserverext",
+ "description": "compute_extension:createserverext action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:deferred_delete",
+ "description": "compute_extension:deferred_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:disk_config",
+ "description": "compute_extension:disk_config action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:evacuate",
+ "description": "compute_extension:evacuate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_server_attributes",
+ "description": "compute_extension:extended_server_attributes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_status",
+ "description": "compute_extension:extended_status action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_availability_zone",
+ "description": "compute_extension:extended_availability_zone action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_ips",
+ "description": "compute_extension:extended_ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_ips_mac",
+ "description": "compute_extension:extended_ips_mac action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_vif_net",
+ "description": "compute_extension:extended_vif_net action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_volumes",
+ "description": "compute_extension:extended_volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:fixed_ips",
+ "description": "compute_extension:fixed_ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_access",
+ "description": "compute_extension:flavor_access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess",
+ "description": "compute_extension:flavor_access:addTenantAccess action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess",
+ "description": "compute_extension:flavor_access:removeTenantAccess action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_disabled",
+ "description": "compute_extension:flavor_disabled action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_rxtx",
+ "description": "compute_extension:flavor_rxtx action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_swap",
+ "description": "compute_extension:flavor_swap action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextradata",
+ "description": "compute_extension:flavorextradata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:index",
+ "description": "compute_extension:flavorextraspecs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:show",
+ "description": "compute_extension:flavorextraspecs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:create",
+ "description": "compute_extension:flavorextraspecs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:update",
+ "description": "compute_extension:flavorextraspecs:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:delete",
+ "description": "compute_extension:flavorextraspecs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavormanage",
+ "description": "compute_extension:flavormanage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ip_dns",
+ "description": "compute_extension:floating_ip_dns action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ip_pools",
+ "description": "compute_extension:floating_ip_pools action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ips",
+ "description": "compute_extension:floating_ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ips_bulk",
+ "description": "compute_extension:floating_ips_bulk action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:fping",
+ "description": "compute_extension:fping action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:fping:all_tenants",
+ "description": "compute_extension:fping:all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:hide_server_addresses",
+ "description": "compute_extension:hide_server_addresses action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:hosts",
+ "description": "compute_extension:hosts action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:hypervisors",
+ "description": "compute_extension:hypervisors action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:image_size",
+ "description": "compute_extension:image_size action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:instance_actions",
+ "description": "compute_extension:instance_actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:instance_actions:events",
+ "description": "compute_extension:instance_actions:events action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:instance_usage_audit_log",
+ "description": "compute_extension:instance_usage_audit_log action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs",
+ "description": "compute_extension:keypairs action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:index",
+ "description": "compute_extension:keypairs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:show",
+ "description": "compute_extension:keypairs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:create",
+ "description": "compute_extension:keypairs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:delete",
+ "description": "compute_extension:keypairs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:multinic",
+ "description": "compute_extension:multinic action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:networks",
+ "description": "compute_extension:networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:networks:view",
+ "description": "compute_extension:networks:view action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:networks_associate",
+ "description": "compute_extension:networks_associate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-tenant-networks",
+ "description": "compute_extension:os-tenant-networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quotas:show",
+ "description": "compute_extension:quotas:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quotas:update",
+ "description": "compute_extension:quotas:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quotas:delete",
+ "description": "compute_extension:quotas:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quota_classes",
+ "description": "compute_extension:quota_classes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:rescue",
+ "description": "compute_extension:rescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:security_group_default_rules",
+ "description": "compute_extension:security_group_default_rules action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:security_groups",
+ "description": "compute_extension:security_groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_diagnostics",
+ "description": "compute_extension:server_diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_groups",
+ "description": "compute_extension:server_groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_password",
+ "description": "compute_extension:server_password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_usage",
+ "description": "compute_extension:server_usage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:services",
+ "description": "compute_extension:services action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:shelve",
+ "description": "compute_extension:shelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:shelveOffload",
+ "description": "compute_extension:shelveOffload action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:show",
+ "description": "compute_extension:simple_tenant_usage:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:list",
+ "description": "compute_extension:simple_tenant_usage:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:unshelve",
+ "description": "compute_extension:unshelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:users",
+ "description": "compute_extension:users action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:virtual_interfaces",
+ "description": "compute_extension:virtual_interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:virtual_storage_arrays",
+ "description": "compute_extension:virtual_storage_arrays action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volumes",
+ "description": "compute_extension:volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:index",
+ "description": "compute_extension:volume_attachments:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:show",
+ "description": "compute_extension:volume_attachments:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:create",
+ "description": "compute_extension:volume_attachments:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:update",
+ "description": "compute_extension:volume_attachments:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:delete",
+ "description": "compute_extension:volume_attachments:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volumetypes",
+ "description": "compute_extension:volumetypes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:availability_zone:list",
+ "description": "compute_extension:availability_zone:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:availability_zone:detail",
+ "description": "compute_extension:availability_zone:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:used_limits_for_admin",
+ "description": "compute_extension:used_limits_for_admin action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:migrations:index",
+ "description": "compute_extension:migrations:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create",
+ "description": "compute_extension:os-assisted-volume-snapshots:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete",
+ "description": "compute_extension:os-assisted-volume-snapshots:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:console_auth_tokens",
+ "description": "compute_extension:console_auth_tokens action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-server-external-events:create",
+ "description": "compute_extension:os-server-external-events:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_all",
+ "description": "network:get_all action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get",
+ "description": "network:get action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:create",
+ "description": "network:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:delete",
+ "description": "network:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:associate",
+ "description": "network:associate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:disassociate",
+ "description": "network:disassociate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_vifs_by_instance",
+ "description": "network:get_vifs_by_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:allocate_for_instance",
+ "description": "network:allocate_for_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:deallocate_for_instance",
+ "description": "network:deallocate_for_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:validate_networks",
+ "description": "network:validate_networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_instance_uuids_by_ip_filter",
+ "description": "network:get_instance_uuids_by_ip_filter action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_instance_id_by_floating_address",
+ "description": "network:get_instance_id_by_floating_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:setup_networks_on_host",
+ "description": "network:setup_networks_on_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_backdoor_port",
+ "description": "network:get_backdoor_port action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ip",
+ "description": "network:get_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ip_pools",
+ "description": "network:get_floating_ip_pools action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ip_by_address",
+ "description": "network:get_floating_ip_by_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ips_by_project",
+ "description": "network:get_floating_ips_by_project action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ips_by_fixed_address",
+ "description": "network:get_floating_ips_by_fixed_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:allocate_floating_ip",
+ "description": "network:allocate_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:associate_floating_ip",
+ "description": "network:associate_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:disassociate_floating_ip",
+ "description": "network:disassociate_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:release_floating_ip",
+ "description": "network:release_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:migrate_instance_start",
+ "description": "network:migrate_instance_start action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:migrate_instance_finish",
+ "description": "network:migrate_instance_finish action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_fixed_ip",
+ "description": "network:get_fixed_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_fixed_ip_by_address",
+ "description": "network:get_fixed_ip_by_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:add_fixed_ip_to_instance",
+ "description": "network:add_fixed_ip_to_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:remove_fixed_ip_from_instance",
+ "description": "network:remove_fixed_ip_from_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:add_network_to_project",
+ "description": "network:add_network_to_project action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_instance_nw_info",
+ "description": "network:get_instance_nw_info action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_dns_domains",
+ "description": "network:get_dns_domains action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:add_dns_entry",
+ "description": "network:add_dns_entry action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:modify_dns_entry",
+ "description": "network:modify_dns_entry action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:delete_dns_entry",
+ "description": "network:delete_dns_entry action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_dns_entries_by_address",
+ "description": "network:get_dns_entries_by_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_dns_entries_by_name",
+ "description": "network:get_dns_entries_by_name action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:create_private_dns_domain",
+ "description": "network:create_private_dns_domain action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:create_public_dns_domain",
+ "description": "network:create_public_dns_domain action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:delete_dns_domain",
+ "description": "network:delete_dns_domain action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:attach_external_network",
+ "description": "network:attach_external_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_vif_by_mac_address",
+ "description": "network:get_vif_by_mac_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants",
+ "description": "os_compute_api:servers:detail:get_all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants",
+ "description": "os_compute_api:servers:index:get_all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:confirm_resize",
+ "description": "os_compute_api:servers:confirm_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create",
+ "description": "os_compute_api:servers:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_network",
+ "description": "os_compute_api:servers:create:attach_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_volume",
+ "description": "os_compute_api:servers:create:attach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create:forced_host",
+ "description": "os_compute_api:servers:create:forced_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:delete",
+ "description": "os_compute_api:servers:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:update",
+ "description": "os_compute_api:servers:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:detail",
+ "description": "os_compute_api:servers:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:index",
+ "description": "os_compute_api:servers:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:reboot",
+ "description": "os_compute_api:servers:reboot action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:rebuild",
+ "description": "os_compute_api:servers:rebuild action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:resize",
+ "description": "os_compute_api:servers:resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:revert_resize",
+ "description": "os_compute_api:servers:revert_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:show",
+ "description": "os_compute_api:servers:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create_image",
+ "description": "os_compute_api:servers:create_image action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed",
+ "description": "os_compute_api:servers:create_image:allow_volume_backed action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:start",
+ "description": "os_compute_api:servers:start action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:stop",
+ "description": "os_compute_api:servers:stop action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-access-ips:discoverable",
+ "description": "os_compute_api:os-access-ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-access-ips",
+ "description": "os_compute_api:os-access-ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions",
+ "description": "os_compute_api:os-admin-actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable",
+ "description": "os_compute_api:os-admin-actions:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network",
+ "description": "os_compute_api:os-admin-actions:reset_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info",
+ "description": "os_compute_api:os-admin-actions:inject_network_info action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state",
+ "description": "os_compute_api:os-admin-actions:reset_state action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-password",
+ "description": "os_compute_api:os-admin-password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-password:discoverable",
+ "description": "os_compute_api:os-admin-password:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:discoverable",
+ "description": "os_compute_api:os-aggregates:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:index",
+ "description": "os_compute_api:os-aggregates:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:create",
+ "description": "os_compute_api:os-aggregates:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:show",
+ "description": "os_compute_api:os-aggregates:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:update",
+ "description": "os_compute_api:os-aggregates:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:delete",
+ "description": "os_compute_api:os-aggregates:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:add_host",
+ "description": "os_compute_api:os-aggregates:add_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:remove_host",
+ "description": "os_compute_api:os-aggregates:remove_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata",
+ "description": "os_compute_api:os-aggregates:set_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-agents",
+ "description": "os_compute_api:os-agents action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-agents:discoverable",
+ "description": "os_compute_api:os-agents:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces",
+ "description": "os_compute_api:os-attach-interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable",
+ "description": "os_compute_api:os-attach-interfaces:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes",
+ "description": "os_compute_api:os-baremetal-nodes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable",
+ "description": "os_compute_api:os-baremetal-nodes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable",
+ "description": "os_compute_api:os-block-device-mapping-v1:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells",
+ "description": "os_compute_api:os-cells action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:create",
+ "description": "os_compute_api:os-cells:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:delete",
+ "description": "os_compute_api:os-cells:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:update",
+ "description": "os_compute_api:os-cells:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:sync_instances",
+ "description": "os_compute_api:os-cells:sync_instances action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:discoverable",
+ "description": "os_compute_api:os-cells:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-certificates:create",
+ "description": "os_compute_api:os-certificates:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-certificates:show",
+ "description": "os_compute_api:os-certificates:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-certificates:discoverable",
+ "description": "os_compute_api:os-certificates:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe",
+ "description": "os_compute_api:os-cloudpipe action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable",
+ "description": "os_compute_api:os-cloudpipe:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-config-drive",
+ "description": "os_compute_api:os-config-drive action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:discoverable",
+ "description": "os_compute_api:os-consoles:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:create",
+ "description": "os_compute_api:os-consoles:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:delete",
+ "description": "os_compute_api:os-consoles:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:index",
+ "description": "os_compute_api:os-consoles:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:show",
+ "description": "os_compute_api:os-consoles:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-console-output:discoverable",
+ "description": "os_compute_api:os-console-output:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-console-output",
+ "description": "os_compute_api:os-console-output action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles",
+ "description": "os_compute_api:os-remote-consoles action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable",
+ "description": "os_compute_api:os-remote-consoles:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-create-backup:discoverable",
+ "description": "os_compute_api:os-create-backup:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-create-backup",
+ "description": "os_compute_api:os-create-backup action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete",
+ "description": "os_compute_api:os-deferred-delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable",
+ "description": "os_compute_api:os-deferred-delete:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-disk-config",
+ "description": "os_compute_api:os-disk-config action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-disk-config:discoverable",
+ "description": "os_compute_api:os-disk-config:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-evacuate",
+ "description": "os_compute_api:os-evacuate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-evacuate:discoverable",
+ "description": "os_compute_api:os-evacuate:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes",
+ "description": "os_compute_api:os-extended-server-attributes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable",
+ "description": "os_compute_api:os-extended-server-attributes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-status",
+ "description": "os_compute_api:os-extended-status action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-status:discoverable",
+ "description": "os_compute_api:os-extended-status:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone",
+ "description": "os_compute_api:os-extended-availability-zone action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable",
+ "description": "os_compute_api:os-extended-availability-zone:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:extensions",
+ "description": "os_compute_api:extensions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:extension_info:discoverable",
+ "description": "os_compute_api:extension_info:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes",
+ "description": "os_compute_api:os-extended-volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable",
+ "description": "os_compute_api:os-extended-volumes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips",
+ "description": "os_compute_api:os-fixed-ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable",
+ "description": "os_compute_api:os-fixed-ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access",
+ "description": "os_compute_api:os-flavor-access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable",
+ "description": "os_compute_api:os-flavor-access:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access",
+ "description": "os_compute_api:os-flavor-access:remove_tenant_access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access",
+ "description": "os_compute_api:os-flavor-access:add_tenant_access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx",
+ "description": "os_compute_api:os-flavor-rxtx action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable",
+ "description": "os_compute_api:os-flavor-rxtx:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:flavors:discoverable",
+ "description": "os_compute_api:flavors:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable",
+ "description": "os_compute_api:os-flavor-extra-specs:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index",
+ "description": "os_compute_api:os-flavor-extra-specs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show",
+ "description": "os_compute_api:os-flavor-extra-specs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create",
+ "description": "os_compute_api:os-flavor-extra-specs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update",
+ "description": "os_compute_api:os-flavor-extra-specs:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete",
+ "description": "os_compute_api:os-flavor-extra-specs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable",
+ "description": "os_compute_api:os-flavor-manage:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage",
+ "description": "os_compute_api:os-flavor-manage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns",
+ "description": "os_compute_api:os-floating-ip-dns action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable",
+ "description": "os_compute_api:os-floating-ip-dns:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update",
+ "description": "os_compute_api:os-floating-ip-dns:domain:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete",
+ "description": "os_compute_api:os-floating-ip-dns:domain:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools",
+ "description": "os_compute_api:os-floating-ip-pools action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable",
+ "description": "os_compute_api:os-floating-ip-pools:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips",
+ "description": "os_compute_api:os-floating-ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable",
+ "description": "os_compute_api:os-floating-ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk",
+ "description": "os_compute_api:os-floating-ips-bulk action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable",
+ "description": "os_compute_api:os-floating-ips-bulk:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fping",
+ "description": "os_compute_api:os-fping action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fping:discoverable",
+ "description": "os_compute_api:os-fping:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fping:all_tenants",
+ "description": "os_compute_api:os-fping:all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses",
+ "description": "os_compute_api:os-hide-server-addresses action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable",
+ "description": "os_compute_api:os-hide-server-addresses:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hosts",
+ "description": "os_compute_api:os-hosts action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hosts:discoverable",
+ "description": "os_compute_api:os-hosts:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hypervisors",
+ "description": "os_compute_api:os-hypervisors action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable",
+ "description": "os_compute_api:os-hypervisors:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:images:discoverable",
+ "description": "os_compute_api:images:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:image-size",
+ "description": "os_compute_api:image-size action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:image-size:discoverable",
+ "description": "os_compute_api:image-size:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-actions",
+ "description": "os_compute_api:os-instance-actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable",
+ "description": "os_compute_api:os-instance-actions:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:events",
+ "description": "os_compute_api:os-instance-actions:events action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log",
+ "description": "os_compute_api:os-instance-usage-audit-log action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable",
+ "description": "os_compute_api:os-instance-usage-audit-log:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:ips:discoverable",
+ "description": "os_compute_api:ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:ips:index",
+ "description": "os_compute_api:ips:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:ips:show",
+ "description": "os_compute_api:ips:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:discoverable",
+ "description": "os_compute_api:os-keypairs:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs",
+ "description": "os_compute_api:os-keypairs action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:index",
+ "description": "os_compute_api:os-keypairs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:show",
+ "description": "os_compute_api:os-keypairs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:create",
+ "description": "os_compute_api:os-keypairs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:delete",
+ "description": "os_compute_api:os-keypairs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:limits:discoverable",
+ "description": "os_compute_api:limits:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:limits",
+ "description": "os_compute_api:limits action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:discoverable",
+ "description": "os_compute_api:os-lock-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:lock",
+ "description": "os_compute_api:os-lock-server:lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock",
+ "description": "os_compute_api:os-lock-server:unlock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override",
+ "description": "os_compute_api:os-lock-server:unlock:unlock_override action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable",
+ "description": "os_compute_api:os-migrate-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate",
+ "description": "os_compute_api:os-migrate-server:migrate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live",
+ "description": "os_compute_api:os-migrate-server:migrate_live action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-multinic",
+ "description": "os_compute_api:os-multinic action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-multinic:discoverable",
+ "description": "os_compute_api:os-multinic:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks",
+ "description": "os_compute_api:os-networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks:view",
+ "description": "os_compute_api:os-networks:view action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks:discoverable",
+ "description": "os_compute_api:os-networks:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks-associate",
+ "description": "os_compute_api:os-networks-associate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable",
+ "description": "os_compute_api:os-networks-associate:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pause-server:discoverable",
+ "description": "os_compute_api:os-pause-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pause-server:pause",
+ "description": "os_compute_api:os-pause-server:pause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pause-server:unpause",
+ "description": "os_compute_api:os-pause-server:unpause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:pci_servers",
+ "description": "os_compute_api:os-pci:pci_servers action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:discoverable",
+ "description": "os_compute_api:os-pci:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:index",
+ "description": "os_compute_api:os-pci:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:detail",
+ "description": "os_compute_api:os-pci:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:show",
+ "description": "os_compute_api:os-pci:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-personality:discoverable",
+ "description": "os_compute_api:os-personality:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable",
+ "description": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable",
+ "description": "os_compute_api:os-quota-sets:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:show",
+ "description": "os_compute_api:os-quota-sets:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:defaults",
+ "description": "os_compute_api:os-quota-sets:defaults action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:update",
+ "description": "os_compute_api:os-quota-sets:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:delete",
+ "description": "os_compute_api:os-quota-sets:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:detail",
+ "description": "os_compute_api:os-quota-sets:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:update",
+ "description": "os_compute_api:os-quota-class-sets:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:show",
+ "description": "os_compute_api:os-quota-class-sets:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable",
+ "description": "os_compute_api:os-quota-class-sets:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-rescue",
+ "description": "os_compute_api:os-rescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-rescue:discoverable",
+ "description": "os_compute_api:os-rescue:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable",
+ "description": "os_compute_api:os-scheduler-hints:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable",
+ "description": "os_compute_api:os-security-group-default-rules:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules",
+ "description": "os_compute_api:os-security-group-default-rules action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-groups",
+ "description": "os_compute_api:os-security-groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-groups:discoverable",
+ "description": "os_compute_api:os-security-groups:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics",
+ "description": "os_compute_api:os-server-diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable",
+ "description": "os_compute_api:os-server-diagnostics:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-password",
+ "description": "os_compute_api:os-server-password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-password:discoverable",
+ "description": "os_compute_api:os-server-password:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-usage",
+ "description": "os_compute_api:os-server-usage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-usage:discoverable",
+ "description": "os_compute_api:os-server-usage:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-groups",
+ "description": "os_compute_api:os-server-groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-groups:discoverable",
+ "description": "os_compute_api:os-server-groups:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-services",
+ "description": "os_compute_api:os-services action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-services:discoverable",
+ "description": "os_compute_api:os-services:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:discoverable",
+ "description": "os_compute_api:server-metadata:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:index",
+ "description": "os_compute_api:server-metadata:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:show",
+ "description": "os_compute_api:server-metadata:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:delete",
+ "description": "os_compute_api:server-metadata:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:create",
+ "description": "os_compute_api:server-metadata:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:update",
+ "description": "os_compute_api:server-metadata:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:update_all",
+ "description": "os_compute_api:server-metadata:update_all action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:discoverable",
+ "description": "os_compute_api:servers:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve",
+ "description": "os_compute_api:os-shelve:shelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable",
+ "description": "os_compute_api:os-shelve:shelve:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload",
+ "description": "os_compute_api:os-shelve:shelve_offload action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable",
+ "description": "os_compute_api:os-simple-tenant-usage:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show",
+ "description": "os_compute_api:os-simple-tenant-usage:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list",
+ "description": "os_compute_api:os-simple-tenant-usage:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable",
+ "description": "os_compute_api:os-suspend-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:suspend",
+ "description": "os_compute_api:os-suspend-server:suspend action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:resume",
+ "description": "os_compute_api:os-suspend-server:resume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks",
+ "description": "os_compute_api:os-tenant-networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable",
+ "description": "os_compute_api:os-tenant-networks:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:unshelve",
+ "description": "os_compute_api:os-shelve:unshelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-user-data:discoverable",
+ "description": "os_compute_api:os-user-data:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces",
+ "description": "os_compute_api:os-virtual-interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable",
+ "description": "os_compute_api:os-virtual-interfaces:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes",
+ "description": "os_compute_api:os-volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes:discoverable",
+ "description": "os_compute_api:os-volumes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:index",
+ "description": "os_compute_api:os-volumes-attachments:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:show",
+ "description": "os_compute_api:os-volumes-attachments:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:create",
+ "description": "os_compute_api:os-volumes-attachments:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:update",
+ "description": "os_compute_api:os-volumes-attachments:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete",
+ "description": "os_compute_api:os-volumes-attachments:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable",
+ "description": "os_compute_api:os-volumes-attachments:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:list",
+ "description": "os_compute_api:os-availability-zone:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable",
+ "description": "os_compute_api:os-availability-zone:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:detail",
+ "description": "os_compute_api:os-availability-zone:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-used-limits",
+ "description": "os_compute_api:os-used-limits action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-used-limits:discoverable",
+ "description": "os_compute_api:os-used-limits:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrations:index",
+ "description": "os_compute_api:os-migrations:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrations:discoverable",
+ "description": "os_compute_api:os-migrations:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create",
+ "description": "os_compute_api:os-assisted-volume-snapshots:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete",
+ "description": "os_compute_api:os-assisted-volume-snapshots:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable",
+ "description": "os_compute_api:os-assisted-volume-snapshots:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-console-auth-tokens",
+ "description": "os_compute_api:os-console-auth-tokens action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-external-events:create",
+ "description": "os_compute_api:os-server-external-events:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create",
+ "description": "volume:create action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete",
+ "description": "volume:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get",
+ "description": "volume:get action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_all",
+ "description": "volume:get_all action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_volume_metadata",
+ "description": "volume:get_volume_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete_volume_metadata",
+ "description": "volume:delete_volume_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_volume_metadata",
+ "description": "volume:update_volume_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_volume_admin_metadata",
+ "description": "volume:get_volume_admin_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_volume_admin_metadata",
+ "description": "volume:update_volume_admin_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_snapshot",
+ "description": "volume:get_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_all_snapshots",
+ "description": "volume:get_all_snapshots action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:create_snapshot",
+ "description": "volume:create_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete_snapshot",
+ "description": "volume:delete_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_snapshot",
+ "description": "volume:update_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:extend",
+ "description": "volume:extend action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_readonly_flag",
+ "description": "volume:update_readonly_flag action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:retype",
+ "description": "volume:retype action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update",
+ "description": "volume:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:types_manage",
+ "description": "volume_extension:types_manage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:types_extra_specs",
+ "description": "volume_extension:types_extra_specs action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:access_types_qos_specs_id",
+ "description": "volume_extension:access_types_qos_specs_id action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:access_types_extra_specs",
+ "description": "volume_extension:access_types_extra_specs action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_access",
+ "description": "volume_extension:volume_type_access action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess",
+ "description": "volume_extension:volume_type_access:addProjectAccess action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess",
+ "description": "volume_extension:volume_type_access:removeProjectAccess action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_encryption",
+ "description": "volume_extension:volume_type_encryption action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_encryption_metadata",
+ "description": "volume_extension:volume_encryption_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:extended_snapshot_attributes",
+ "description": "volume_extension:extended_snapshot_attributes action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_image_metadata",
+ "description": "volume_extension:volume_image_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quotas:show",
+ "description": "volume_extension:quotas:show action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quotas:update",
+ "description": "volume_extension:quotas:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quotas:delete",
+ "description": "volume_extension:quotas:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quota_classes",
+ "description": "volume_extension:quota_classes action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use",
+ "description": "volume_extension:quota_classes:validate_setup_for_nested_quota_use action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status",
+ "description": "volume_extension:volume_admin_actions:reset_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status",
+ "description": "volume_extension:snapshot_admin_actions:reset_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status",
+ "description": "volume_extension:backup_admin_actions:reset_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete",
+ "description": "volume_extension:volume_admin_actions:force_delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach",
+ "description": "volume_extension:volume_admin_actions:force_detach action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete",
+ "description": "volume_extension:snapshot_admin_actions:force_delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete",
+ "description": "volume_extension:backup_admin_actions:force_delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume",
+ "description": "volume_extension:volume_admin_actions:migrate_volume action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion",
+ "description": "volume_extension:volume_admin_actions:migrate_volume_completion action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_host_attribute",
+ "description": "volume_extension:volume_host_attribute action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_tenant_attribute",
+ "description": "volume_extension:volume_tenant_attribute action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_mig_status_attribute",
+ "description": "volume_extension:volume_mig_status_attribute action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:hosts",
+ "description": "volume_extension:hosts action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:services:index",
+ "description": "volume_extension:services:index action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:services:update",
+ "description": "volume_extension:services:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_manage",
+ "description": "volume_extension:volume_manage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_unmanage",
+ "description": "volume_extension:volume_unmanage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:capabilities",
+ "description": "volume_extension:capabilities action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:create_transfer",
+ "description": "volume:create_transfer action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:accept_transfer",
+ "description": "volume:accept_transfer action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete_transfer",
+ "description": "volume:delete_transfer action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_all_transfers",
+ "description": "volume:get_all_transfers action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:replication:promote",
+ "description": "volume_extension:replication:promote action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:replication:reenable",
+ "description": "volume_extension:replication:reenable action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:enable_replication",
+ "description": "volume:enable_replication action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:disable_replication",
+ "description": "volume:disable_replication action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:failover_replication",
+ "description": "volume:failover_replication action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:list_replication_targets",
+ "description": "volume:list_replication_targets action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:create",
+ "description": "backup:create action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:delete",
+ "description": "backup:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:get",
+ "description": "backup:get action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:get_all",
+ "description": "backup:get_all action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:restore",
+ "description": "backup:restore action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:backup-import",
+ "description": "backup:backup-import action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:backup-export",
+ "description": "backup:backup-export action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status",
+ "description": "snapshot_extension:snapshot_actions:update_snapshot_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "snapshot_extension:snapshot_manage",
+ "description": "snapshot_extension:snapshot_manage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "snapshot_extension:snapshot_unmanage",
+ "description": "snapshot_extension:snapshot_unmanage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:create",
+ "description": "consistencygroup:create action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:delete",
+ "description": "consistencygroup:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:update",
+ "description": "consistencygroup:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get",
+ "description": "consistencygroup:get action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get_all",
+ "description": "consistencygroup:get_all action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:create_cgsnapshot",
+ "description": "consistencygroup:create_cgsnapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:delete_cgsnapshot",
+ "description": "consistencygroup:delete_cgsnapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get_cgsnapshot",
+ "description": "consistencygroup:get_cgsnapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get_all_cgsnapshots",
+ "description": "consistencygroup:get_all_cgsnapshots action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools",
+ "description": "scheduler_extension:scheduler_stats:get_pools action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_image",
+ "description": "add_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_image",
+ "description": "delete_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_image",
+ "description": "get_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_image",
+ "description": "modify_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "publicize_image",
+ "description": "publicize_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "communitize_image",
+ "description": "communitize_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "copy_from",
+ "description": "copy_from action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "download_image",
+ "description": "download_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "upload_image",
+ "description": "upload_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_image_location",
+ "description": "delete_image_location action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_image_location",
+ "description": "get_image_location action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "set_image_location",
+ "description": "set_image_location action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_member",
+ "description": "add_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_member",
+ "description": "delete_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_member",
+ "description": "get_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_members",
+ "description": "get_members action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_member",
+ "description": "modify_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "manage_image_cache",
+ "description": "manage_image_cache action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_task",
+ "description": "get_task action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_tasks",
+ "description": "get_tasks action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_task",
+ "description": "add_task action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_task",
+ "description": "modify_task action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "tasks_api_access",
+ "description": "tasks_api_access action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "deactivate",
+ "description": "deactivate action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "reactivate",
+ "description": "reactivate action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_namespace",
+ "description": "get_metadef_namespace action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_namespaces",
+ "description": "get_metadef_namespaces action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_namespace",
+ "description": "modify_metadef_namespace action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_namespace",
+ "description": "add_metadef_namespace action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_object",
+ "description": "get_metadef_object action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_objects",
+ "description": "get_metadef_objects action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_object",
+ "description": "modify_metadef_object action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_object",
+ "description": "add_metadef_object action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "list_metadef_resource_types",
+ "description": "list_metadef_resource_types action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_resource_type",
+ "description": "get_metadef_resource_type action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_resource_type_association",
+ "description": "add_metadef_resource_type_association action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_property",
+ "description": "get_metadef_property action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_properties",
+ "description": "get_metadef_properties action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_property",
+ "description": "modify_metadef_property action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_property",
+ "description": "add_metadef_property action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_tag",
+ "description": "get_metadef_tag action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_tags",
+ "description": "get_metadef_tags action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_tag",
+ "description": "modify_metadef_tag action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_tag",
+ "description": "add_metadef_tag action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_tags",
+ "description": "add_metadef_tags action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_region",
+ "description": "identity:get_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_regions",
+ "description": "identity:list_regions action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_region",
+ "description": "identity:create_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_region",
+ "description": "identity:update_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_region",
+ "description": "identity:delete_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_service",
+ "description": "identity:get_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_services",
+ "description": "identity:list_services action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_service",
+ "description": "identity:create_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_service",
+ "description": "identity:update_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_service",
+ "description": "identity:delete_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_endpoint",
+ "description": "identity:get_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints",
+ "description": "identity:list_endpoints action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_endpoint",
+ "description": "identity:create_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_endpoint",
+ "description": "identity:update_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_endpoint",
+ "description": "identity:delete_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_registered_limit",
+ "description": "identity:get_registered_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_registered_limits",
+ "description": "identity:list_registered_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_registered_limits",
+ "description": "identity:create_registered_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_registered_limits",
+ "description": "identity:update_registered_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_registered_limit",
+ "description": "identity:delete_registered_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_limit",
+ "description": "identity:get_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_limits",
+ "description": "identity:list_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_limits",
+ "description": "identity:create_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_limits",
+ "description": "identity:update_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_limit",
+ "description": "identity:delete_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain",
+ "description": "identity:get_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_domains",
+ "description": "identity:list_domains action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_domain",
+ "description": "identity:create_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_domain",
+ "description": "identity:update_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_domain",
+ "description": "identity:delete_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_target_project_domain_id",
+ "description": "admin_and_matching_target_project_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_project_domain_id",
+ "description": "admin_and_matching_project_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_project",
+ "description": "identity:get_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects",
+ "description": "identity:list_projects action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_user_projects",
+ "description": "identity:list_user_projects action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_project",
+ "description": "identity:create_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_project",
+ "description": "identity:update_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_project",
+ "description": "identity:delete_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_project_tag",
+ "description": "identity:create_project_tag action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_project_tag",
+ "description": "identity:delete_project_tag action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_project_tag",
+ "description": "identity:get_project_tag action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_project_tags",
+ "description": "identity:list_project_tags action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_project_tags",
+ "description": "identity:delete_project_tags action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_project_tags",
+ "description": "identity:update_project_tags action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_target_user_domain_id",
+ "description": "admin_and_matching_target_user_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_user_domain_id",
+ "description": "admin_and_matching_user_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_user",
+ "description": "identity:get_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_users",
+ "description": "identity:list_users action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_user",
+ "description": "identity:create_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_user",
+ "description": "identity:update_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_user",
+ "description": "identity:delete_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_target_group_domain_id",
+ "description": "admin_and_matching_target_group_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_group_domain_id",
+ "description": "admin_and_matching_group_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_group",
+ "description": "identity:get_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_groups",
+ "description": "identity:list_groups action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_groups_for_user",
+ "description": "identity:list_groups_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_group",
+ "description": "identity:create_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_group",
+ "description": "identity:update_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_group",
+ "description": "identity:delete_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_users_in_group",
+ "description": "identity:list_users_in_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:remove_user_from_group",
+ "description": "identity:remove_user_from_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_user_in_group",
+ "description": "identity:check_user_in_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:add_user_to_group",
+ "description": "identity:add_user_to_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_credential",
+ "description": "identity:get_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_credentials",
+ "description": "identity:list_credentials action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_credential",
+ "description": "identity:create_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_credential",
+ "description": "identity:update_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_credential",
+ "description": "identity:delete_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_get_credential",
+ "description": "identity:ec2_get_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_list_credentials",
+ "description": "identity:ec2_list_credentials action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_create_credential",
+ "description": "identity:ec2_create_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_delete_credential",
+ "description": "identity:ec2_delete_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_role",
+ "description": "identity:get_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_roles",
+ "description": "identity:list_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_role",
+ "description": "identity:create_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_role",
+ "description": "identity:update_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_role",
+ "description": "identity:delete_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain_role",
+ "description": "identity:get_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_domain_roles",
+ "description": "identity:list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_domain_role",
+ "description": "identity:create_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_domain_role",
+ "description": "identity:update_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_domain_role",
+ "description": "identity:delete_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_matches_domain_role",
+ "description": "domain_admin_matches_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_domain_roles",
+ "description": "get_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_matches_target_domain_role",
+ "description": "domain_admin_matches_target_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_matches_target_domain_role",
+ "description": "project_admin_matches_target_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "list_domain_roles",
+ "description": "list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles",
+ "description": "domain_admin_matches_filter_on_list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles",
+ "description": "project_admin_matches_filter_on_list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_prior_role_domain_id",
+ "description": "admin_and_matching_prior_role_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global",
+ "description": "implied_role_matches_prior_role_domain_or_global action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_implied_role",
+ "description": "identity:get_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_implied_roles",
+ "description": "identity:list_implied_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_implied_role",
+ "description": "identity:create_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_implied_role",
+ "description": "identity:delete_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_role_inference_rules",
+ "description": "identity:list_role_inference_rules action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_implied_role",
+ "description": "identity:check_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_system_grants_for_user",
+ "description": "identity:list_system_grants_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_system_grant_for_user",
+ "description": "identity:check_system_grant_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_system_grant_for_user",
+ "description": "identity:create_system_grant_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_system_grant_for_user",
+ "description": "identity:revoke_system_grant_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_system_grants_for_group",
+ "description": "identity:list_system_grants_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_system_grant_for_group",
+ "description": "identity:check_system_grant_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_system_grant_for_group",
+ "description": "identity:create_system_grant_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_system_grant_for_group",
+ "description": "identity:revoke_system_grant_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_grant",
+ "description": "identity:check_grant action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_grants",
+ "description": "identity:list_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_grant",
+ "description": "identity:create_grant action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_grant",
+ "description": "identity:revoke_grant action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_grants",
+ "description": "domain_admin_for_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_global_role_grants",
+ "description": "domain_admin_for_global_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_domain_role_grants",
+ "description": "domain_admin_for_domain_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_grant_match",
+ "description": "domain_admin_grant_match action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_grants",
+ "description": "project_admin_for_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_global_role_grants",
+ "description": "project_admin_for_global_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_domain_role_grants",
+ "description": "project_admin_for_domain_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_list_grants",
+ "description": "domain_admin_for_list_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_list_grants",
+ "description": "project_admin_for_list_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_on_domain_filter",
+ "description": "admin_on_domain_filter action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_on_project_filter",
+ "description": "admin_on_project_filter action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_on_domain_of_project_filter",
+ "description": "admin_on_domain_of_project_filter action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_role_assignments",
+ "description": "identity:list_role_assignments action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_role_assignments_for_tree",
+ "description": "identity:list_role_assignments_for_tree action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_policy",
+ "description": "identity:get_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_policies",
+ "description": "identity:list_policies action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy",
+ "description": "identity:create_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_policy",
+ "description": "identity:update_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy",
+ "description": "identity:delete_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_token",
+ "description": "identity:check_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:validate_token",
+ "description": "identity:validate_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:validate_token_head",
+ "description": "identity:validate_token_head action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revocation_list",
+ "description": "identity:revocation_list action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_token",
+ "description": "identity:revoke_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_trust",
+ "description": "identity:create_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_trusts",
+ "description": "identity:list_trusts action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_roles_for_trust",
+ "description": "identity:list_roles_for_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_role_for_trust",
+ "description": "identity:get_role_for_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_trust",
+ "description": "identity:delete_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_trust",
+ "description": "identity:get_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_consumer",
+ "description": "identity:create_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_consumer",
+ "description": "identity:get_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_consumers",
+ "description": "identity:list_consumers action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_consumer",
+ "description": "identity:delete_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_consumer",
+ "description": "identity:update_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:authorize_request_token",
+ "description": "identity:authorize_request_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_access_token_roles",
+ "description": "identity:list_access_token_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_access_token_role",
+ "description": "identity:get_access_token_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_access_tokens",
+ "description": "identity:list_access_tokens action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_access_token",
+ "description": "identity:get_access_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_access_token",
+ "description": "identity:delete_access_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects_for_endpoint",
+ "description": "identity:list_projects_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:add_endpoint_to_project",
+ "description": "identity:add_endpoint_to_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_endpoint_in_project",
+ "description": "identity:check_endpoint_in_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints_for_project",
+ "description": "identity:list_endpoints_for_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:remove_endpoint_from_project",
+ "description": "identity:remove_endpoint_from_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_endpoint_group",
+ "description": "identity:create_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoint_groups",
+ "description": "identity:list_endpoint_groups action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_endpoint_group",
+ "description": "identity:get_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_endpoint_group",
+ "description": "identity:update_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_endpoint_group",
+ "description": "identity:delete_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group",
+ "description": "identity:list_projects_associated_with_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group",
+ "description": "identity:list_endpoints_associated_with_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_endpoint_group_in_project",
+ "description": "identity:get_endpoint_group_in_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoint_groups_for_project",
+ "description": "identity:list_endpoint_groups_for_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:add_endpoint_group_to_project",
+ "description": "identity:add_endpoint_group_to_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:remove_endpoint_group_from_project",
+ "description": "identity:remove_endpoint_group_from_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_identity_provider",
+ "description": "identity:create_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_identity_providers",
+ "description": "identity:list_identity_providers action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_identity_provider",
+ "description": "identity:get_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_identity_provider",
+ "description": "identity:update_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_identity_provider",
+ "description": "identity:delete_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_protocol",
+ "description": "identity:create_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_protocol",
+ "description": "identity:update_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_protocol",
+ "description": "identity:get_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_protocols",
+ "description": "identity:list_protocols action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_protocol",
+ "description": "identity:delete_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_mapping",
+ "description": "identity:create_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_mapping",
+ "description": "identity:get_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_mappings",
+ "description": "identity:list_mappings action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_mapping",
+ "description": "identity:delete_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_mapping",
+ "description": "identity:update_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_service_provider",
+ "description": "identity:create_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_service_providers",
+ "description": "identity:list_service_providers action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_service_provider",
+ "description": "identity:get_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_service_provider",
+ "description": "identity:update_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_service_provider",
+ "description": "identity:delete_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_catalog",
+ "description": "identity:get_auth_catalog action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_projects",
+ "description": "identity:get_auth_projects action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_domains",
+ "description": "identity:get_auth_domains action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_system",
+ "description": "identity:get_auth_system action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects_for_user",
+ "description": "identity:list_projects_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_domains_for_user",
+ "description": "identity:list_domains_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_revoke_events",
+ "description": "identity:list_revoke_events action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy_association_for_endpoint",
+ "description": "identity:create_policy_association_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_policy_association_for_endpoint",
+ "description": "identity:check_policy_association_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy_association_for_endpoint",
+ "description": "identity:delete_policy_association_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy_association_for_service",
+ "description": "identity:create_policy_association_for_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_policy_association_for_service",
+ "description": "identity:check_policy_association_for_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy_association_for_service",
+ "description": "identity:delete_policy_association_for_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy_association_for_region_and_service",
+ "description": "identity:create_policy_association_for_region_and_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_policy_association_for_region_and_service",
+ "description": "identity:check_policy_association_for_region_and_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy_association_for_region_and_service",
+ "description": "identity:delete_policy_association_for_region_and_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_policy_for_endpoint",
+ "description": "identity:get_policy_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints_for_policy",
+ "description": "identity:list_endpoints_for_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_domain_config",
+ "description": "identity:create_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain_config",
+ "description": "identity:get_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_security_compliance_domain_config",
+ "description": "identity:get_security_compliance_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_domain_config",
+ "description": "identity:update_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_domain_config",
+ "description": "identity:delete_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain_config_default",
+ "description": "identity:get_domain_config_default action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_application_credential",
+ "description": "identity:get_application_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_application_credentials",
+ "description": "identity:list_application_credentials action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_application_credential",
+ "description": "identity:create_application_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_application_credential",
+ "description": "identity:delete_application_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_subnet",
+ "description": "create_subnet action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_subnet:segment_id",
+ "description": "create_subnet:segment_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_subnet:service_types",
+ "description": "create_subnet:service_types action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_subnet",
+ "description": "get_subnet action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_subnet:segment_id",
+ "description": "get_subnet:segment_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_subnet",
+ "description": "update_subnet action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_subnet:service_types",
+ "description": "update_subnet:service_types action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_subnet",
+ "description": "delete_subnet action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_subnetpool",
+ "description": "create_subnetpool action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_subnetpool:shared",
+ "description": "create_subnetpool:shared action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_subnetpool:is_default",
+ "description": "create_subnetpool:is_default action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_subnetpool",
+ "description": "get_subnetpool action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_subnetpool",
+ "description": "update_subnetpool action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_subnetpool:is_default",
+ "description": "update_subnetpool:is_default action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_subnetpool",
+ "description": "delete_subnetpool action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_address_scope",
+ "description": "create_address_scope action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_address_scope:shared",
+ "description": "create_address_scope:shared action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_address_scope",
+ "description": "get_address_scope action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_address_scope",
+ "description": "update_address_scope action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_address_scope:shared",
+ "description": "update_address_scope:shared action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_address_scope",
+ "description": "delete_address_scope action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network",
+ "description": "create_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network",
+ "description": "get_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network:router:external",
+ "description": "get_network:router:external action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network:segments",
+ "description": "get_network:segments action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network:provider:network_type",
+ "description": "get_network:provider:network_type action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network:provider:physical_network",
+ "description": "get_network:provider:physical_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network:provider:segmentation_id",
+ "description": "get_network:provider:segmentation_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network:queue_id",
+ "description": "get_network:queue_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network_ip_availabilities",
+ "description": "get_network_ip_availabilities action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network_ip_availability",
+ "description": "get_network_ip_availability action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:shared",
+ "description": "create_network:shared action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:router:external",
+ "description": "create_network:router:external action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:is_default",
+ "description": "create_network:is_default action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:segments",
+ "description": "create_network:segments action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:provider:network_type",
+ "description": "create_network:provider:network_type action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:provider:physical_network",
+ "description": "create_network:provider:physical_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network:provider:segmentation_id",
+ "description": "create_network:provider:segmentation_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network",
+ "description": "update_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network:segments",
+ "description": "update_network:segments action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network:shared",
+ "description": "update_network:shared action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network:provider:network_type",
+ "description": "update_network:provider:network_type action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network:provider:physical_network",
+ "description": "update_network:provider:physical_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network:provider:segmentation_id",
+ "description": "update_network:provider:segmentation_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network:router:external",
+ "description": "update_network:router:external action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_network",
+ "description": "delete_network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_segment",
+ "description": "create_segment action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_segment",
+ "description": "get_segment action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_segment",
+ "description": "update_segment action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_segment",
+ "description": "delete_segment action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network_device",
+ "description": "network_device action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port",
+ "description": "create_port action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:device_owner",
+ "description": "create_port:device_owner action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:mac_address",
+ "description": "create_port:mac_address action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:fixed_ips:ip_address",
+ "description": "create_port:fixed_ips:ip_address action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:fixed_ips:subnet_id",
+ "description": "create_port:fixed_ips:subnet_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:port_security_enabled",
+ "description": "create_port:port_security_enabled action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:binding:host_id",
+ "description": "create_port:binding:host_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:binding:profile",
+ "description": "create_port:binding:profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:mac_learning_enabled",
+ "description": "create_port:mac_learning_enabled action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_port:allowed_address_pairs",
+ "description": "create_port:allowed_address_pairs action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_port",
+ "description": "get_port action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_port:queue_id",
+ "description": "get_port:queue_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_port:binding:vif_type",
+ "description": "get_port:binding:vif_type action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_port:binding:vif_details",
+ "description": "get_port:binding:vif_details action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_port:binding:host_id",
+ "description": "get_port:binding:host_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_port:binding:profile",
+ "description": "get_port:binding:profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port",
+ "description": "update_port action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:device_owner",
+ "description": "update_port:device_owner action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:mac_address",
+ "description": "update_port:mac_address action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:fixed_ips:ip_address",
+ "description": "update_port:fixed_ips:ip_address action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:fixed_ips:subnet_id",
+ "description": "update_port:fixed_ips:subnet_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:port_security_enabled",
+ "description": "update_port:port_security_enabled action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:binding:host_id",
+ "description": "update_port:binding:host_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:binding:profile",
+ "description": "update_port:binding:profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:mac_learning_enabled",
+ "description": "update_port:mac_learning_enabled action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:allowed_address_pairs",
+ "description": "update_port:allowed_address_pairs action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_port:data_plane_status",
+ "description": "update_port:data_plane_status action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_port",
+ "description": "delete_port action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_router:ha",
+ "description": "get_router:ha action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_router",
+ "description": "create_router action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_router:external_gateway_info:enable_snat",
+ "description": "create_router:external_gateway_info:enable_snat action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_router:distributed",
+ "description": "create_router:distributed action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_router:ha",
+ "description": "create_router:ha action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_router",
+ "description": "get_router action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_router:distributed",
+ "description": "get_router:distributed action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router",
+ "description": "update_router action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router:external_gateway_info",
+ "description": "update_router:external_gateway_info action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router:external_gateway_info:network_id",
+ "description": "update_router:external_gateway_info:network_id action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router:external_gateway_info:enable_snat",
+ "description": "update_router:external_gateway_info:enable_snat action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router:distributed",
+ "description": "update_router:distributed action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router:ha",
+ "description": "update_router:ha action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_router",
+ "description": "delete_router action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_router_interface",
+ "description": "add_router_interface action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "remove_router_interface",
+ "description": "remove_router_interface action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_router:external_gateway_info:external_fixed_ips",
+ "description": "create_router:external_gateway_info:external_fixed_ips action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_router:external_gateway_info:external_fixed_ips",
+ "description": "update_router:external_gateway_info:external_fixed_ips action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_qos_queue",
+ "description": "create_qos_queue action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_qos_queue",
+ "description": "get_qos_queue action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_agent",
+ "description": "update_agent action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_agent",
+ "description": "delete_agent action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_agent",
+ "description": "get_agent action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_dhcp-network",
+ "description": "create_dhcp-network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_dhcp-network",
+ "description": "delete_dhcp-network action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_dhcp-networks",
+ "description": "get_dhcp-networks action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_l3-router",
+ "description": "create_l3-router action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_l3-router",
+ "description": "delete_l3-router action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_l3-routers",
+ "description": "get_l3-routers action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_dhcp-agents",
+ "description": "get_dhcp-agents action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_l3-agents",
+ "description": "get_l3-agents action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_loadbalancer-agent",
+ "description": "get_loadbalancer-agent action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_loadbalancer-pools",
+ "description": "get_loadbalancer-pools action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_agent-loadbalancers",
+ "description": "get_agent-loadbalancers action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_loadbalancer-hosting-agent",
+ "description": "get_loadbalancer-hosting-agent action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_floatingip",
+ "description": "create_floatingip action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_floatingip:floating_ip_address",
+ "description": "create_floatingip:floating_ip_address action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_floatingip",
+ "description": "update_floatingip action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_floatingip",
+ "description": "delete_floatingip action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_floatingip",
+ "description": "get_floatingip action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_network_profile",
+ "description": "create_network_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_network_profile",
+ "description": "update_network_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_network_profile",
+ "description": "delete_network_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network_profiles",
+ "description": "get_network_profiles action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_network_profile",
+ "description": "get_network_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_policy_profiles",
+ "description": "update_policy_profiles action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_policy_profiles",
+ "description": "get_policy_profiles action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_policy_profile",
+ "description": "get_policy_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_metering_label",
+ "description": "create_metering_label action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_metering_label",
+ "description": "delete_metering_label action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metering_label",
+ "description": "get_metering_label action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_metering_label_rule",
+ "description": "create_metering_label_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_metering_label_rule",
+ "description": "delete_metering_label_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metering_label_rule",
+ "description": "get_metering_label_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_service_provider",
+ "description": "get_service_provider action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_lsn",
+ "description": "get_lsn action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_lsn",
+ "description": "create_lsn action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_flavor",
+ "description": "create_flavor action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_flavor",
+ "description": "update_flavor action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_flavor",
+ "description": "delete_flavor action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_flavors",
+ "description": "get_flavors action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_flavor",
+ "description": "get_flavor action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_service_profile",
+ "description": "create_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_service_profile",
+ "description": "update_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_service_profile",
+ "description": "delete_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_service_profiles",
+ "description": "get_service_profiles action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_service_profile",
+ "description": "get_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_policy",
+ "description": "get_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_policy",
+ "description": "create_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_policy",
+ "description": "update_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_policy",
+ "description": "delete_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_policy_bandwidth_limit_rule",
+ "description": "get_policy_bandwidth_limit_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_policy_bandwidth_limit_rule",
+ "description": "create_policy_bandwidth_limit_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_policy_bandwidth_limit_rule",
+ "description": "delete_policy_bandwidth_limit_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_policy_bandwidth_limit_rule",
+ "description": "update_policy_bandwidth_limit_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_policy_dscp_marking_rule",
+ "description": "get_policy_dscp_marking_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_policy_dscp_marking_rule",
+ "description": "create_policy_dscp_marking_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_policy_dscp_marking_rule",
+ "description": "delete_policy_dscp_marking_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_policy_dscp_marking_rule",
+ "description": "update_policy_dscp_marking_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_rule_type",
+ "description": "get_rule_type action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_policy_minimum_bandwidth_rule",
+ "description": "get_policy_minimum_bandwidth_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_policy_minimum_bandwidth_rule",
+ "description": "create_policy_minimum_bandwidth_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_policy_minimum_bandwidth_rule",
+ "description": "delete_policy_minimum_bandwidth_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_policy_minimum_bandwidth_rule",
+ "description": "update_policy_minimum_bandwidth_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "restrict_wildcard",
+ "description": "restrict_wildcard action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_rbac_policy",
+ "description": "create_rbac_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_rbac_policy:target_tenant",
+ "description": "create_rbac_policy:target_tenant action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_rbac_policy",
+ "description": "update_rbac_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_rbac_policy:target_tenant",
+ "description": "update_rbac_policy:target_tenant action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_rbac_policy",
+ "description": "get_rbac_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_rbac_policy",
+ "description": "delete_rbac_policy action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_flavor_service_profile",
+ "description": "create_flavor_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_flavor_service_profile",
+ "description": "delete_flavor_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_flavor_service_profile",
+ "description": "get_flavor_service_profile action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_auto_allocated_topology",
+ "description": "get_auto_allocated_topology action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_trunk",
+ "description": "create_trunk action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_trunk",
+ "description": "get_trunk action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_trunk",
+ "description": "delete_trunk action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_subports",
+ "description": "get_subports action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_subports",
+ "description": "add_subports action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "remove_subports",
+ "description": "remove_subports action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_security_groups",
+ "description": "get_security_groups action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_security_group",
+ "description": "get_security_group action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_security_group",
+ "description": "create_security_group action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_security_group",
+ "description": "update_security_group action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_security_group",
+ "description": "delete_security_group action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_security_group_rules",
+ "description": "get_security_group_rules action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_security_group_rule",
+ "description": "get_security_group_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_security_group_rule",
+ "description": "create_security_group_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_security_group_rule",
+ "description": "delete_security_group_rule action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_loggable_resources",
+ "description": "get_loggable_resources action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "create_log",
+ "description": "create_log action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "update_log",
+ "description": "update_log action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_log",
+ "description": "delete_log action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_logs",
+ "description": "get_logs action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_log",
+ "description": "get_log action for neutron",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter",
+ "description": "cells_scheduler_filter:TargetCellFilter action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create",
+ "description": "compute:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create:attach_network",
+ "description": "compute:create:attach_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create:attach_volume",
+ "description": "compute:create:attach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create:forced_host",
+ "description": "compute:create:forced_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get",
+ "description": "compute:get action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all",
+ "description": "compute:get_all action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all_tenants",
+ "description": "compute:get_all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:update",
+ "description": "compute:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_instance_metadata",
+ "description": "compute:get_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all_instance_metadata",
+ "description": "compute:get_all_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all_instance_system_metadata",
+ "description": "compute:get_all_instance_system_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:update_instance_metadata",
+ "description": "compute:update_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:delete_instance_metadata",
+ "description": "compute:delete_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_instance_faults",
+ "description": "compute:get_instance_faults action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_diagnostics",
+ "description": "compute:get_diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_instance_diagnostics",
+ "description": "compute:get_instance_diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:start",
+ "description": "compute:start action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:stop",
+ "description": "compute:stop action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_lock",
+ "description": "compute:get_lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:lock",
+ "description": "compute:lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unlock",
+ "description": "compute:unlock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unlock_override",
+ "description": "compute:unlock_override action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_vnc_console",
+ "description": "compute:get_vnc_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_spice_console",
+ "description": "compute:get_spice_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_rdp_console",
+ "description": "compute:get_rdp_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_serial_console",
+ "description": "compute:get_serial_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_mks_console",
+ "description": "compute:get_mks_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_console_output",
+ "description": "compute:get_console_output action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:reset_network",
+ "description": "compute:reset_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:inject_network_info",
+ "description": "compute:inject_network_info action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:add_fixed_ip",
+ "description": "compute:add_fixed_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:remove_fixed_ip",
+ "description": "compute:remove_fixed_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:attach_volume",
+ "description": "compute:attach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:detach_volume",
+ "description": "compute:detach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:swap_volume",
+ "description": "compute:swap_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:attach_interface",
+ "description": "compute:attach_interface action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:detach_interface",
+ "description": "compute:detach_interface action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:set_admin_password",
+ "description": "compute:set_admin_password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:rescue",
+ "description": "compute:rescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unrescue",
+ "description": "compute:unrescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:suspend",
+ "description": "compute:suspend action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:resume",
+ "description": "compute:resume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:pause",
+ "description": "compute:pause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unpause",
+ "description": "compute:unpause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:shelve",
+ "description": "compute:shelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:shelve_offload",
+ "description": "compute:shelve_offload action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unshelve",
+ "description": "compute:unshelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:snapshot",
+ "description": "compute:snapshot action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:snapshot_volume_backed",
+ "description": "compute:snapshot_volume_backed action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:backup",
+ "description": "compute:backup action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:resize",
+ "description": "compute:resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:confirm_resize",
+ "description": "compute:confirm_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:revert_resize",
+ "description": "compute:revert_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:rebuild",
+ "description": "compute:rebuild action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:reboot",
+ "description": "compute:reboot action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:delete",
+ "description": "compute:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:soft_delete",
+ "description": "compute:soft_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:force_delete",
+ "description": "compute:force_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:security_groups:add_to_instance",
+ "description": "compute:security_groups:add_to_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:security_groups:remove_from_instance",
+ "description": "compute:security_groups:remove_from_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:restore",
+ "description": "compute:restore action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:volume_snapshot_create",
+ "description": "compute:volume_snapshot_create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:volume_snapshot_delete",
+ "description": "compute:volume_snapshot_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:accounts",
+ "description": "compute_extension:accounts action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions",
+ "description": "compute_extension:admin_actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:pause",
+ "description": "compute_extension:admin_actions:pause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:unpause",
+ "description": "compute_extension:admin_actions:unpause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:suspend",
+ "description": "compute_extension:admin_actions:suspend action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:resume",
+ "description": "compute_extension:admin_actions:resume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:lock",
+ "description": "compute_extension:admin_actions:lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:unlock",
+ "description": "compute_extension:admin_actions:unlock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:resetNetwork",
+ "description": "compute_extension:admin_actions:resetNetwork action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo",
+ "description": "compute_extension:admin_actions:injectNetworkInfo action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:createBackup",
+ "description": "compute_extension:admin_actions:createBackup action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:migrateLive",
+ "description": "compute_extension:admin_actions:migrateLive action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:resetState",
+ "description": "compute_extension:admin_actions:resetState action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:migrate",
+ "description": "compute_extension:admin_actions:migrate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:aggregates",
+ "description": "compute_extension:aggregates action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:agents",
+ "description": "compute_extension:agents action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:attach_interfaces",
+ "description": "compute_extension:attach_interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:baremetal_nodes",
+ "description": "compute_extension:baremetal_nodes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells",
+ "description": "compute_extension:cells action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:create",
+ "description": "compute_extension:cells:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:delete",
+ "description": "compute_extension:cells:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:update",
+ "description": "compute_extension:cells:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:sync_instances",
+ "description": "compute_extension:cells:sync_instances action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:certificates",
+ "description": "compute_extension:certificates action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cloudpipe",
+ "description": "compute_extension:cloudpipe action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cloudpipe_update",
+ "description": "compute_extension:cloudpipe_update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:config_drive",
+ "description": "compute_extension:config_drive action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:console_output",
+ "description": "compute_extension:console_output action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:consoles",
+ "description": "compute_extension:consoles action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:createserverext",
+ "description": "compute_extension:createserverext action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:deferred_delete",
+ "description": "compute_extension:deferred_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:disk_config",
+ "description": "compute_extension:disk_config action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:evacuate",
+ "description": "compute_extension:evacuate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_server_attributes",
+ "description": "compute_extension:extended_server_attributes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_status",
+ "description": "compute_extension:extended_status action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_availability_zone",
+ "description": "compute_extension:extended_availability_zone action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_ips",
+ "description": "compute_extension:extended_ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_ips_mac",
+ "description": "compute_extension:extended_ips_mac action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_vif_net",
+ "description": "compute_extension:extended_vif_net action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_volumes",
+ "description": "compute_extension:extended_volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:fixed_ips",
+ "description": "compute_extension:fixed_ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_access",
+ "description": "compute_extension:flavor_access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess",
+ "description": "compute_extension:flavor_access:addTenantAccess action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess",
+ "description": "compute_extension:flavor_access:removeTenantAccess action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_disabled",
+ "description": "compute_extension:flavor_disabled action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_rxtx",
+ "description": "compute_extension:flavor_rxtx action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_swap",
+ "description": "compute_extension:flavor_swap action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextradata",
+ "description": "compute_extension:flavorextradata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:index",
+ "description": "compute_extension:flavorextraspecs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:show",
+ "description": "compute_extension:flavorextraspecs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:create",
+ "description": "compute_extension:flavorextraspecs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:update",
+ "description": "compute_extension:flavorextraspecs:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:delete",
+ "description": "compute_extension:flavorextraspecs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavormanage",
+ "description": "compute_extension:flavormanage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ip_dns",
+ "description": "compute_extension:floating_ip_dns action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ip_pools",
+ "description": "compute_extension:floating_ip_pools action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ips",
+ "description": "compute_extension:floating_ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ips_bulk",
+ "description": "compute_extension:floating_ips_bulk action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:fping",
+ "description": "compute_extension:fping action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:fping:all_tenants",
+ "description": "compute_extension:fping:all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:hide_server_addresses",
+ "description": "compute_extension:hide_server_addresses action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:hosts",
+ "description": "compute_extension:hosts action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:hypervisors",
+ "description": "compute_extension:hypervisors action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:image_size",
+ "description": "compute_extension:image_size action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:instance_actions",
+ "description": "compute_extension:instance_actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:instance_actions:events",
+ "description": "compute_extension:instance_actions:events action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:instance_usage_audit_log",
+ "description": "compute_extension:instance_usage_audit_log action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs",
+ "description": "compute_extension:keypairs action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:index",
+ "description": "compute_extension:keypairs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:show",
+ "description": "compute_extension:keypairs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:create",
+ "description": "compute_extension:keypairs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:delete",
+ "description": "compute_extension:keypairs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:multinic",
+ "description": "compute_extension:multinic action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:networks",
+ "description": "compute_extension:networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:networks:view",
+ "description": "compute_extension:networks:view action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:networks_associate",
+ "description": "compute_extension:networks_associate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-tenant-networks",
+ "description": "compute_extension:os-tenant-networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quotas:show",
+ "description": "compute_extension:quotas:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quotas:update",
+ "description": "compute_extension:quotas:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quotas:delete",
+ "description": "compute_extension:quotas:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quota_classes",
+ "description": "compute_extension:quota_classes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:rescue",
+ "description": "compute_extension:rescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:security_group_default_rules",
+ "description": "compute_extension:security_group_default_rules action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:security_groups",
+ "description": "compute_extension:security_groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_diagnostics",
+ "description": "compute_extension:server_diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_groups",
+ "description": "compute_extension:server_groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_password",
+ "description": "compute_extension:server_password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_usage",
+ "description": "compute_extension:server_usage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:services",
+ "description": "compute_extension:services action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:shelve",
+ "description": "compute_extension:shelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:shelveOffload",
+ "description": "compute_extension:shelveOffload action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:show",
+ "description": "compute_extension:simple_tenant_usage:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:list",
+ "description": "compute_extension:simple_tenant_usage:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:unshelve",
+ "description": "compute_extension:unshelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:users",
+ "description": "compute_extension:users action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:virtual_interfaces",
+ "description": "compute_extension:virtual_interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:virtual_storage_arrays",
+ "description": "compute_extension:virtual_storage_arrays action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volumes",
+ "description": "compute_extension:volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:index",
+ "description": "compute_extension:volume_attachments:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:show",
+ "description": "compute_extension:volume_attachments:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:create",
+ "description": "compute_extension:volume_attachments:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:update",
+ "description": "compute_extension:volume_attachments:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:delete",
+ "description": "compute_extension:volume_attachments:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volumetypes",
+ "description": "compute_extension:volumetypes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:availability_zone:list",
+ "description": "compute_extension:availability_zone:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:availability_zone:detail",
+ "description": "compute_extension:availability_zone:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:used_limits_for_admin",
+ "description": "compute_extension:used_limits_for_admin action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:migrations:index",
+ "description": "compute_extension:migrations:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create",
+ "description": "compute_extension:os-assisted-volume-snapshots:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete",
+ "description": "compute_extension:os-assisted-volume-snapshots:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:console_auth_tokens",
+ "description": "compute_extension:console_auth_tokens action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-server-external-events:create",
+ "description": "compute_extension:os-server-external-events:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_all",
+ "description": "network:get_all action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get",
+ "description": "network:get action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:create",
+ "description": "network:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:delete",
+ "description": "network:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:associate",
+ "description": "network:associate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:disassociate",
+ "description": "network:disassociate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_vifs_by_instance",
+ "description": "network:get_vifs_by_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:allocate_for_instance",
+ "description": "network:allocate_for_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:deallocate_for_instance",
+ "description": "network:deallocate_for_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:validate_networks",
+ "description": "network:validate_networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_instance_uuids_by_ip_filter",
+ "description": "network:get_instance_uuids_by_ip_filter action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_instance_id_by_floating_address",
+ "description": "network:get_instance_id_by_floating_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:setup_networks_on_host",
+ "description": "network:setup_networks_on_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_backdoor_port",
+ "description": "network:get_backdoor_port action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ip",
+ "description": "network:get_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ip_pools",
+ "description": "network:get_floating_ip_pools action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ip_by_address",
+ "description": "network:get_floating_ip_by_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ips_by_project",
+ "description": "network:get_floating_ips_by_project action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ips_by_fixed_address",
+ "description": "network:get_floating_ips_by_fixed_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:allocate_floating_ip",
+ "description": "network:allocate_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:associate_floating_ip",
+ "description": "network:associate_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:disassociate_floating_ip",
+ "description": "network:disassociate_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:release_floating_ip",
+ "description": "network:release_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:migrate_instance_start",
+ "description": "network:migrate_instance_start action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:migrate_instance_finish",
+ "description": "network:migrate_instance_finish action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_fixed_ip",
+ "description": "network:get_fixed_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_fixed_ip_by_address",
+ "description": "network:get_fixed_ip_by_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:add_fixed_ip_to_instance",
+ "description": "network:add_fixed_ip_to_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:remove_fixed_ip_from_instance",
+ "description": "network:remove_fixed_ip_from_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:add_network_to_project",
+ "description": "network:add_network_to_project action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_instance_nw_info",
+ "description": "network:get_instance_nw_info action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_dns_domains",
+ "description": "network:get_dns_domains action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:add_dns_entry",
+ "description": "network:add_dns_entry action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:modify_dns_entry",
+ "description": "network:modify_dns_entry action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:delete_dns_entry",
+ "description": "network:delete_dns_entry action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_dns_entries_by_address",
+ "description": "network:get_dns_entries_by_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_dns_entries_by_name",
+ "description": "network:get_dns_entries_by_name action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:create_private_dns_domain",
+ "description": "network:create_private_dns_domain action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:create_public_dns_domain",
+ "description": "network:create_public_dns_domain action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:delete_dns_domain",
+ "description": "network:delete_dns_domain action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:attach_external_network",
+ "description": "network:attach_external_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_vif_by_mac_address",
+ "description": "network:get_vif_by_mac_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants",
+ "description": "os_compute_api:servers:detail:get_all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants",
+ "description": "os_compute_api:servers:index:get_all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:confirm_resize",
+ "description": "os_compute_api:servers:confirm_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create",
+ "description": "os_compute_api:servers:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_network",
+ "description": "os_compute_api:servers:create:attach_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_volume",
+ "description": "os_compute_api:servers:create:attach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create:forced_host",
+ "description": "os_compute_api:servers:create:forced_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:delete",
+ "description": "os_compute_api:servers:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:update",
+ "description": "os_compute_api:servers:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:detail",
+ "description": "os_compute_api:servers:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:index",
+ "description": "os_compute_api:servers:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:reboot",
+ "description": "os_compute_api:servers:reboot action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:rebuild",
+ "description": "os_compute_api:servers:rebuild action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:resize",
+ "description": "os_compute_api:servers:resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:revert_resize",
+ "description": "os_compute_api:servers:revert_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:show",
+ "description": "os_compute_api:servers:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create_image",
+ "description": "os_compute_api:servers:create_image action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed",
+ "description": "os_compute_api:servers:create_image:allow_volume_backed action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:start",
+ "description": "os_compute_api:servers:start action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:stop",
+ "description": "os_compute_api:servers:stop action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-access-ips:discoverable",
+ "description": "os_compute_api:os-access-ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-access-ips",
+ "description": "os_compute_api:os-access-ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions",
+ "description": "os_compute_api:os-admin-actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable",
+ "description": "os_compute_api:os-admin-actions:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network",
+ "description": "os_compute_api:os-admin-actions:reset_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info",
+ "description": "os_compute_api:os-admin-actions:inject_network_info action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state",
+ "description": "os_compute_api:os-admin-actions:reset_state action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-password",
+ "description": "os_compute_api:os-admin-password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-password:discoverable",
+ "description": "os_compute_api:os-admin-password:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:discoverable",
+ "description": "os_compute_api:os-aggregates:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:index",
+ "description": "os_compute_api:os-aggregates:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:create",
+ "description": "os_compute_api:os-aggregates:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:show",
+ "description": "os_compute_api:os-aggregates:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:update",
+ "description": "os_compute_api:os-aggregates:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:delete",
+ "description": "os_compute_api:os-aggregates:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:add_host",
+ "description": "os_compute_api:os-aggregates:add_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:remove_host",
+ "description": "os_compute_api:os-aggregates:remove_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata",
+ "description": "os_compute_api:os-aggregates:set_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-agents",
+ "description": "os_compute_api:os-agents action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-agents:discoverable",
+ "description": "os_compute_api:os-agents:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces",
+ "description": "os_compute_api:os-attach-interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable",
+ "description": "os_compute_api:os-attach-interfaces:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes",
+ "description": "os_compute_api:os-baremetal-nodes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable",
+ "description": "os_compute_api:os-baremetal-nodes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable",
+ "description": "os_compute_api:os-block-device-mapping-v1:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells",
+ "description": "os_compute_api:os-cells action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:create",
+ "description": "os_compute_api:os-cells:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:delete",
+ "description": "os_compute_api:os-cells:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:update",
+ "description": "os_compute_api:os-cells:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:sync_instances",
+ "description": "os_compute_api:os-cells:sync_instances action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:discoverable",
+ "description": "os_compute_api:os-cells:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-certificates:create",
+ "description": "os_compute_api:os-certificates:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-certificates:show",
+ "description": "os_compute_api:os-certificates:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-certificates:discoverable",
+ "description": "os_compute_api:os-certificates:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe",
+ "description": "os_compute_api:os-cloudpipe action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable",
+ "description": "os_compute_api:os-cloudpipe:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-config-drive",
+ "description": "os_compute_api:os-config-drive action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:discoverable",
+ "description": "os_compute_api:os-consoles:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:create",
+ "description": "os_compute_api:os-consoles:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:delete",
+ "description": "os_compute_api:os-consoles:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:index",
+ "description": "os_compute_api:os-consoles:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:show",
+ "description": "os_compute_api:os-consoles:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-console-output:discoverable",
+ "description": "os_compute_api:os-console-output:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-console-output",
+ "description": "os_compute_api:os-console-output action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles",
+ "description": "os_compute_api:os-remote-consoles action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable",
+ "description": "os_compute_api:os-remote-consoles:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-create-backup:discoverable",
+ "description": "os_compute_api:os-create-backup:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-create-backup",
+ "description": "os_compute_api:os-create-backup action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete",
+ "description": "os_compute_api:os-deferred-delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable",
+ "description": "os_compute_api:os-deferred-delete:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-disk-config",
+ "description": "os_compute_api:os-disk-config action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-disk-config:discoverable",
+ "description": "os_compute_api:os-disk-config:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-evacuate",
+ "description": "os_compute_api:os-evacuate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-evacuate:discoverable",
+ "description": "os_compute_api:os-evacuate:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes",
+ "description": "os_compute_api:os-extended-server-attributes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable",
+ "description": "os_compute_api:os-extended-server-attributes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-status",
+ "description": "os_compute_api:os-extended-status action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-status:discoverable",
+ "description": "os_compute_api:os-extended-status:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone",
+ "description": "os_compute_api:os-extended-availability-zone action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable",
+ "description": "os_compute_api:os-extended-availability-zone:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:extensions",
+ "description": "os_compute_api:extensions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:extension_info:discoverable",
+ "description": "os_compute_api:extension_info:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes",
+ "description": "os_compute_api:os-extended-volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable",
+ "description": "os_compute_api:os-extended-volumes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips",
+ "description": "os_compute_api:os-fixed-ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable",
+ "description": "os_compute_api:os-fixed-ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access",
+ "description": "os_compute_api:os-flavor-access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable",
+ "description": "os_compute_api:os-flavor-access:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access",
+ "description": "os_compute_api:os-flavor-access:remove_tenant_access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access",
+ "description": "os_compute_api:os-flavor-access:add_tenant_access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx",
+ "description": "os_compute_api:os-flavor-rxtx action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable",
+ "description": "os_compute_api:os-flavor-rxtx:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:flavors:discoverable",
+ "description": "os_compute_api:flavors:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable",
+ "description": "os_compute_api:os-flavor-extra-specs:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index",
+ "description": "os_compute_api:os-flavor-extra-specs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show",
+ "description": "os_compute_api:os-flavor-extra-specs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create",
+ "description": "os_compute_api:os-flavor-extra-specs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update",
+ "description": "os_compute_api:os-flavor-extra-specs:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete",
+ "description": "os_compute_api:os-flavor-extra-specs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable",
+ "description": "os_compute_api:os-flavor-manage:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage",
+ "description": "os_compute_api:os-flavor-manage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns",
+ "description": "os_compute_api:os-floating-ip-dns action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable",
+ "description": "os_compute_api:os-floating-ip-dns:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update",
+ "description": "os_compute_api:os-floating-ip-dns:domain:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete",
+ "description": "os_compute_api:os-floating-ip-dns:domain:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools",
+ "description": "os_compute_api:os-floating-ip-pools action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable",
+ "description": "os_compute_api:os-floating-ip-pools:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips",
+ "description": "os_compute_api:os-floating-ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable",
+ "description": "os_compute_api:os-floating-ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk",
+ "description": "os_compute_api:os-floating-ips-bulk action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable",
+ "description": "os_compute_api:os-floating-ips-bulk:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fping",
+ "description": "os_compute_api:os-fping action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fping:discoverable",
+ "description": "os_compute_api:os-fping:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fping:all_tenants",
+ "description": "os_compute_api:os-fping:all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses",
+ "description": "os_compute_api:os-hide-server-addresses action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable",
+ "description": "os_compute_api:os-hide-server-addresses:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hosts",
+ "description": "os_compute_api:os-hosts action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hosts:discoverable",
+ "description": "os_compute_api:os-hosts:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hypervisors",
+ "description": "os_compute_api:os-hypervisors action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable",
+ "description": "os_compute_api:os-hypervisors:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:images:discoverable",
+ "description": "os_compute_api:images:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:image-size",
+ "description": "os_compute_api:image-size action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:image-size:discoverable",
+ "description": "os_compute_api:image-size:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-actions",
+ "description": "os_compute_api:os-instance-actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable",
+ "description": "os_compute_api:os-instance-actions:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:events",
+ "description": "os_compute_api:os-instance-actions:events action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log",
+ "description": "os_compute_api:os-instance-usage-audit-log action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable",
+ "description": "os_compute_api:os-instance-usage-audit-log:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:ips:discoverable",
+ "description": "os_compute_api:ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:ips:index",
+ "description": "os_compute_api:ips:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:ips:show",
+ "description": "os_compute_api:ips:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:discoverable",
+ "description": "os_compute_api:os-keypairs:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs",
+ "description": "os_compute_api:os-keypairs action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:index",
+ "description": "os_compute_api:os-keypairs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:show",
+ "description": "os_compute_api:os-keypairs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:create",
+ "description": "os_compute_api:os-keypairs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:delete",
+ "description": "os_compute_api:os-keypairs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:limits:discoverable",
+ "description": "os_compute_api:limits:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:limits",
+ "description": "os_compute_api:limits action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:discoverable",
+ "description": "os_compute_api:os-lock-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:lock",
+ "description": "os_compute_api:os-lock-server:lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock",
+ "description": "os_compute_api:os-lock-server:unlock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override",
+ "description": "os_compute_api:os-lock-server:unlock:unlock_override action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable",
+ "description": "os_compute_api:os-migrate-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate",
+ "description": "os_compute_api:os-migrate-server:migrate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live",
+ "description": "os_compute_api:os-migrate-server:migrate_live action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-multinic",
+ "description": "os_compute_api:os-multinic action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-multinic:discoverable",
+ "description": "os_compute_api:os-multinic:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks",
+ "description": "os_compute_api:os-networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks:view",
+ "description": "os_compute_api:os-networks:view action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks:discoverable",
+ "description": "os_compute_api:os-networks:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks-associate",
+ "description": "os_compute_api:os-networks-associate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable",
+ "description": "os_compute_api:os-networks-associate:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pause-server:discoverable",
+ "description": "os_compute_api:os-pause-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pause-server:pause",
+ "description": "os_compute_api:os-pause-server:pause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pause-server:unpause",
+ "description": "os_compute_api:os-pause-server:unpause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:pci_servers",
+ "description": "os_compute_api:os-pci:pci_servers action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:discoverable",
+ "description": "os_compute_api:os-pci:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:index",
+ "description": "os_compute_api:os-pci:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:detail",
+ "description": "os_compute_api:os-pci:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:show",
+ "description": "os_compute_api:os-pci:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-personality:discoverable",
+ "description": "os_compute_api:os-personality:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable",
+ "description": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable",
+ "description": "os_compute_api:os-quota-sets:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:show",
+ "description": "os_compute_api:os-quota-sets:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:defaults",
+ "description": "os_compute_api:os-quota-sets:defaults action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:update",
+ "description": "os_compute_api:os-quota-sets:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:delete",
+ "description": "os_compute_api:os-quota-sets:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:detail",
+ "description": "os_compute_api:os-quota-sets:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:update",
+ "description": "os_compute_api:os-quota-class-sets:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:show",
+ "description": "os_compute_api:os-quota-class-sets:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable",
+ "description": "os_compute_api:os-quota-class-sets:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-rescue",
+ "description": "os_compute_api:os-rescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-rescue:discoverable",
+ "description": "os_compute_api:os-rescue:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable",
+ "description": "os_compute_api:os-scheduler-hints:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable",
+ "description": "os_compute_api:os-security-group-default-rules:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules",
+ "description": "os_compute_api:os-security-group-default-rules action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-groups",
+ "description": "os_compute_api:os-security-groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-groups:discoverable",
+ "description": "os_compute_api:os-security-groups:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics",
+ "description": "os_compute_api:os-server-diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable",
+ "description": "os_compute_api:os-server-diagnostics:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-password",
+ "description": "os_compute_api:os-server-password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-password:discoverable",
+ "description": "os_compute_api:os-server-password:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-usage",
+ "description": "os_compute_api:os-server-usage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-usage:discoverable",
+ "description": "os_compute_api:os-server-usage:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-groups",
+ "description": "os_compute_api:os-server-groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-groups:discoverable",
+ "description": "os_compute_api:os-server-groups:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-services",
+ "description": "os_compute_api:os-services action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-services:discoverable",
+ "description": "os_compute_api:os-services:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:discoverable",
+ "description": "os_compute_api:server-metadata:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:index",
+ "description": "os_compute_api:server-metadata:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:show",
+ "description": "os_compute_api:server-metadata:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:delete",
+ "description": "os_compute_api:server-metadata:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:create",
+ "description": "os_compute_api:server-metadata:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:update",
+ "description": "os_compute_api:server-metadata:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:update_all",
+ "description": "os_compute_api:server-metadata:update_all action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:discoverable",
+ "description": "os_compute_api:servers:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve",
+ "description": "os_compute_api:os-shelve:shelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable",
+ "description": "os_compute_api:os-shelve:shelve:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload",
+ "description": "os_compute_api:os-shelve:shelve_offload action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable",
+ "description": "os_compute_api:os-simple-tenant-usage:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show",
+ "description": "os_compute_api:os-simple-tenant-usage:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list",
+ "description": "os_compute_api:os-simple-tenant-usage:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable",
+ "description": "os_compute_api:os-suspend-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:suspend",
+ "description": "os_compute_api:os-suspend-server:suspend action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:resume",
+ "description": "os_compute_api:os-suspend-server:resume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks",
+ "description": "os_compute_api:os-tenant-networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable",
+ "description": "os_compute_api:os-tenant-networks:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:unshelve",
+ "description": "os_compute_api:os-shelve:unshelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-user-data:discoverable",
+ "description": "os_compute_api:os-user-data:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces",
+ "description": "os_compute_api:os-virtual-interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable",
+ "description": "os_compute_api:os-virtual-interfaces:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes",
+ "description": "os_compute_api:os-volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes:discoverable",
+ "description": "os_compute_api:os-volumes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:index",
+ "description": "os_compute_api:os-volumes-attachments:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:show",
+ "description": "os_compute_api:os-volumes-attachments:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:create",
+ "description": "os_compute_api:os-volumes-attachments:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:update",
+ "description": "os_compute_api:os-volumes-attachments:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete",
+ "description": "os_compute_api:os-volumes-attachments:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable",
+ "description": "os_compute_api:os-volumes-attachments:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:list",
+ "description": "os_compute_api:os-availability-zone:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable",
+ "description": "os_compute_api:os-availability-zone:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:detail",
+ "description": "os_compute_api:os-availability-zone:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-used-limits",
+ "description": "os_compute_api:os-used-limits action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-used-limits:discoverable",
+ "description": "os_compute_api:os-used-limits:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrations:index",
+ "description": "os_compute_api:os-migrations:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrations:discoverable",
+ "description": "os_compute_api:os-migrations:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create",
+ "description": "os_compute_api:os-assisted-volume-snapshots:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete",
+ "description": "os_compute_api:os-assisted-volume-snapshots:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable",
+ "description": "os_compute_api:os-assisted-volume-snapshots:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-console-auth-tokens",
+ "description": "os_compute_api:os-console-auth-tokens action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-external-events:create",
+ "description": "os_compute_api:os-server-external-events:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {
+ "name": "volume:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_volume_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_volume_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete_volume_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete_volume_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_volume_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_volume_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_volume_admin_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_volume_admin_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_volume_admin_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_volume_admin_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_all_snapshots"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_all_snapshots"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:create_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:create_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:extend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:extend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_readonly_flag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_readonly_flag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:retype"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:retype"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:types_manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:types_manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:types_extra_specs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:types_extra_specs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:access_types_qos_specs_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:access_types_qos_specs_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:access_types_extra_specs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:access_types_extra_specs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_access:addProjectAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_access:removeProjectAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_encryption"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_encryption"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_encryption_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_encryption_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:extended_snapshot_attributes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:extended_snapshot_attributes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_image_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_image_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quotas:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quotas:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quotas:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quotas:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quotas:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quotas:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quota_classes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quota_classes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:reset_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:snapshot_admin_actions:reset_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:backup_admin_actions:reset_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:force_detach"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:snapshot_admin_actions:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:backup_admin_actions:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:migrate_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_host_attribute"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_host_attribute"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_tenant_attribute"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_tenant_attribute"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_mig_status_attribute"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_mig_status_attribute"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:hosts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:hosts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:services:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:services:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:services:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:services:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_unmanage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_unmanage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:capabilities"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:capabilities"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:create_transfer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:create_transfer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:accept_transfer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:accept_transfer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete_transfer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete_transfer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_all_transfers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_all_transfers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:replication:promote"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:replication:promote"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:replication:reenable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:replication:reenable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:enable_replication"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:enable_replication"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:disable_replication"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:disable_replication"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:failover_replication"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:failover_replication"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:list_replication_targets"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:list_replication_targets"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:restore"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:restore"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:backup-import"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:backup-import"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:backup-export"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:backup-export"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "snapshot_extension:snapshot_manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "snapshot_extension:snapshot_manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "snapshot_extension:snapshot_unmanage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "snapshot_extension:snapshot_unmanage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:create_cgsnapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:create_cgsnapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:delete_cgsnapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:delete_cgsnapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get_cgsnapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get_cgsnapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get_all_cgsnapshots"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get_all_cgsnapshots"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "scheduler_extension:scheduler_stats:get_pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_images"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_images"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "publicize_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "publicize_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "communitize_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "communitize_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "copy_from"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "copy_from"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "download_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "download_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "upload_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "upload_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_image_location"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_image_location"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_image_location"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_image_location"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "set_image_location"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "set_image_location"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_members"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_members"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "manage_image_cache"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "manage_image_cache"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_task"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_task"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_tasks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_tasks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_task"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_task"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_task"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_task"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "tasks_api_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "tasks_api_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "deactivate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "deactivate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "reactivate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "reactivate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_namespace"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_namespace"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_namespaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_namespaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_namespace"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_namespace"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_namespace"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_namespace"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_object"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_object"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_objects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_objects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_object"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_object"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_object"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_object"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "list_metadef_resource_types"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "list_metadef_resource_types"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_resource_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_resource_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_resource_type_association"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_resource_type_association"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_property"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_property"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_properties"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_properties"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_property"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_property"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_property"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_property"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_regions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_regions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_services"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_services"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_registered_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_registered_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_registered_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_registered_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_registered_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_registered_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_registered_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_registered_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_registered_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_registered_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_domains"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_domains"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_target_project_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_target_project_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_project_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_project_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_user_projects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_user_projects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_project_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_project_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_project_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_project_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_project_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_project_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_project_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_project_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_project_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_project_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_project_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_project_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_target_user_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_target_user_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_user_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_user_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_users"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_users"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_target_group_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_target_group_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_group_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_group_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_groups_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_groups_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_users_in_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_users_in_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:remove_user_from_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:remove_user_from_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_user_in_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_user_in_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:add_user_to_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:add_user_to_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_credentials"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_credentials"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_get_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_get_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_list_credentials"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_list_credentials"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_create_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_create_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_delete_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_delete_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_matches_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_matches_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_matches_target_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_matches_target_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_matches_filter_on_list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_matches_filter_on_list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_prior_role_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_prior_role_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "implied_role_matches_prior_role_domain_or_global"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_implied_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_implied_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_role_inference_rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_role_inference_rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_system_grants_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_system_grants_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_system_grant_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_system_grant_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_system_grant_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_system_grant_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_system_grant_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_system_grant_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_system_grants_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_system_grants_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_system_grant_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_system_grant_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_system_grant_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_system_grant_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_system_grant_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_system_grant_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_grant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_grant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_grant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_grant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_grant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_grant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_global_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_global_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_domain_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_grant_match"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_grant_match"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_global_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_global_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_domain_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_list_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_list_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_list_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_list_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_on_domain_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_on_domain_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_on_project_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_on_project_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_on_domain_of_project_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_on_domain_of_project_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_role_assignments"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_role_assignments"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_role_assignments_for_tree"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_role_assignments_for_tree"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_policies"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_policies"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:validate_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:validate_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:validate_token_head"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:validate_token_head"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revocation_list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revocation_list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_trusts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_trusts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_roles_for_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_roles_for_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_role_for_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_role_for_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_consumers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_consumers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:authorize_request_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:authorize_request_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_access_token_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_access_token_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_access_token_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_access_token_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_access_tokens"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_access_tokens"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_access_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_access_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_access_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_access_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:add_endpoint_to_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:add_endpoint_to_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_endpoint_in_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_endpoint_in_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints_for_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints_for_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:remove_endpoint_from_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:remove_endpoint_from_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoint_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoint_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects_associated_with_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints_associated_with_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_endpoint_group_in_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_endpoint_group_in_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoint_groups_for_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoint_groups_for_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:add_endpoint_group_to_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:add_endpoint_group_to_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:remove_endpoint_group_from_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:remove_endpoint_group_from_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_identity_providers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_identity_providers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_protocols"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_protocols"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_mappings"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_mappings"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_service_providers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_service_providers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_catalog"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_catalog"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_projects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_projects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_domains"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_domains"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_system"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_system"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_domains_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_domains_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_revoke_events"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_revoke_events"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy_association_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy_association_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_policy_association_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_policy_association_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy_association_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy_association_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy_association_for_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy_association_for_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_policy_association_for_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_policy_association_for_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy_association_for_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy_association_for_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy_association_for_region_and_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_policy_association_for_region_and_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy_association_for_region_and_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_policy_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_policy_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints_for_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints_for_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_security_compliance_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_security_compliance_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain_config_default"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain_config_default"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_application_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_application_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_application_credentials"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_application_credentials"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_application_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_application_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_application_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_application_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_subnet"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_subnet"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_subnet:segment_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_subnet:segment_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_subnet:service_types"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_subnet:service_types"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_subnet"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_subnet"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_subnet:segment_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_subnet:segment_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_subnet"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_subnet"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_subnet:service_types"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_subnet:service_types"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_subnet"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_subnet"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_subnetpool"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_subnetpool"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_subnetpool:shared"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_subnetpool:shared"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_subnetpool:is_default"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_subnetpool:is_default"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_subnetpool"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_subnetpool"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_subnetpool"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_subnetpool"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_subnetpool:is_default"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_subnetpool:is_default"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_subnetpool"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_subnetpool"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_address_scope"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_address_scope"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_address_scope:shared"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_address_scope:shared"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_address_scope"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_address_scope"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_address_scope"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_address_scope"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_address_scope:shared"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_address_scope:shared"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_address_scope"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_address_scope"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network:router:external"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network:router:external"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network:segments"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network:segments"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network:provider:network_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network:provider:network_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network:provider:physical_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network:provider:physical_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network:provider:segmentation_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network:provider:segmentation_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network:queue_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network:queue_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network_ip_availabilities"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network_ip_availabilities"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network_ip_availability"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network_ip_availability"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:shared"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:shared"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:router:external"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:router:external"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:is_default"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:is_default"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:segments"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:segments"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:provider:network_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:provider:network_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:provider:physical_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:provider:physical_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network:provider:segmentation_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network:provider:segmentation_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network:segments"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network:segments"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network:shared"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network:shared"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network:provider:network_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network:provider:network_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network:provider:physical_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network:provider:physical_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network:provider:segmentation_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network:provider:segmentation_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network:router:external"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network:router:external"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_segment"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_segment"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_segment"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_segment"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_segment"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_segment"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_segment"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_segment"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network_device"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network_device"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:device_owner"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:device_owner"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:mac_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:mac_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:fixed_ips:ip_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:fixed_ips:ip_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:fixed_ips:subnet_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:fixed_ips:subnet_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:port_security_enabled"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:port_security_enabled"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:binding:host_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:binding:host_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:binding:profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:binding:profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:mac_learning_enabled"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:mac_learning_enabled"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_port:allowed_address_pairs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_port:allowed_address_pairs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_port"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_port"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_port:queue_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_port:queue_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_port:binding:vif_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_port:binding:vif_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_port:binding:vif_details"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_port:binding:vif_details"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_port:binding:host_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_port:binding:host_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_port:binding:profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_port:binding:profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:device_owner"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:device_owner"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:mac_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:mac_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:fixed_ips:ip_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:fixed_ips:ip_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:fixed_ips:subnet_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:fixed_ips:subnet_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:port_security_enabled"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:port_security_enabled"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:binding:host_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:binding:host_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:binding:profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:binding:profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:mac_learning_enabled"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:mac_learning_enabled"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:allowed_address_pairs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:allowed_address_pairs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_port:data_plane_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_port:data_plane_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_port"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_port"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_router:ha"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_router:ha"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_router"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_router"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_router:external_gateway_info:enable_snat"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_router:external_gateway_info:enable_snat"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_router:distributed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_router:distributed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_router:ha"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_router:ha"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_router"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_router"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_router:distributed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_router:distributed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router:external_gateway_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router:external_gateway_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router:external_gateway_info:network_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router:external_gateway_info:network_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router:external_gateway_info:enable_snat"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router:external_gateway_info:enable_snat"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router:distributed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router:distributed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router:ha"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router:ha"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_router"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_router"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_router_interface"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_router_interface"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "remove_router_interface"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "remove_router_interface"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_router:external_gateway_info:external_fixed_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_router:external_gateway_info:external_fixed_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_router:external_gateway_info:external_fixed_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_router:external_gateway_info:external_fixed_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_qos_queue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_qos_queue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_qos_queue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_qos_queue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_agent"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_agent"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_agent"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_agent"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_agent"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_agent"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_dhcp-network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_dhcp-network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_dhcp-network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_dhcp-network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_dhcp-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_dhcp-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_l3-router"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_l3-router"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_l3-router"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_l3-router"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_l3-routers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_l3-routers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_dhcp-agents"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_dhcp-agents"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_l3-agents"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_l3-agents"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_loadbalancer-agent"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_loadbalancer-agent"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_loadbalancer-pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_loadbalancer-pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_agent-loadbalancers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_agent-loadbalancers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_loadbalancer-hosting-agent"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_loadbalancer-hosting-agent"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_floatingip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_floatingip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_floatingip:floating_ip_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_floatingip:floating_ip_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_floatingip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_floatingip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_floatingip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_floatingip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_floatingip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_floatingip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_network_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_network_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_network_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_network_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_network_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_network_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network_profiles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network_profiles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_network_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_network_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_policy_profiles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_policy_profiles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_policy_profiles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_policy_profiles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_policy_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_policy_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_metering_label"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_metering_label"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_metering_label"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_metering_label"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metering_label"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metering_label"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_metering_label_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_metering_label_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_metering_label_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_metering_label_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metering_label_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metering_label_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_lsn"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_lsn"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_lsn"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_lsn"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_flavor"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_flavor"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_flavor"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_flavor"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_flavor"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_flavor"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_flavors"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_flavors"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_flavor"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_flavor"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_service_profiles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_service_profiles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_policy_bandwidth_limit_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_policy_bandwidth_limit_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_policy_bandwidth_limit_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_policy_bandwidth_limit_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_policy_dscp_marking_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_policy_dscp_marking_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_policy_dscp_marking_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_policy_dscp_marking_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_rule_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_rule_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_policy_minimum_bandwidth_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_policy_minimum_bandwidth_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_policy_minimum_bandwidth_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_policy_minimum_bandwidth_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "restrict_wildcard"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "restrict_wildcard"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_rbac_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_rbac_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_rbac_policy:target_tenant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_rbac_policy:target_tenant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_rbac_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_rbac_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_rbac_policy:target_tenant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_rbac_policy:target_tenant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_rbac_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_rbac_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_rbac_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_rbac_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_flavor_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_flavor_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_flavor_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_flavor_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_flavor_service_profile"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_flavor_service_profile"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_auto_allocated_topology"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_auto_allocated_topology"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_trunk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_trunk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_trunk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_trunk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_trunk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_trunk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_subports"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_subports"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_subports"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_subports"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "remove_subports"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "remove_subports"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_security_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_security_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_security_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_security_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_security_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_security_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_security_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_security_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_security_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_security_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_security_group_rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_security_group_rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_security_group_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_security_group_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_security_group_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_security_group_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_security_group_rule"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_security_group_rule"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_loggable_resources"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_loggable_resources"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "create_log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "create_log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "update_log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "update_log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_logs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_logs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "cells_scheduler_filter:TargetCellFilter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create:attach_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create:attach_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create:attach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create:attach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create:forced_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create:forced_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all_instance_system_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all_instance_system_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:update_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:update_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:delete_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:delete_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_instance_faults"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_instance_faults"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_instance_diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_instance_diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:start"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:start"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:stop"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:stop"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unlock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unlock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unlock_override"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unlock_override"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_vnc_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_vnc_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_spice_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_spice_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_rdp_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_rdp_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_serial_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_serial_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_mks_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_mks_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_console_output"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_console_output"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:reset_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:reset_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:inject_network_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:inject_network_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:add_fixed_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:add_fixed_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:remove_fixed_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:remove_fixed_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:attach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:attach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:detach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:detach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:swap_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:swap_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:attach_interface"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:attach_interface"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:detach_interface"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:detach_interface"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:set_admin_password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:set_admin_password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:rescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:rescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unrescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unrescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:suspend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:suspend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:resume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:resume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:pause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:pause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unpause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unpause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:shelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:shelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:shelve_offload"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:shelve_offload"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unshelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unshelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:snapshot_volume_backed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:snapshot_volume_backed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:backup"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:backup"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:confirm_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:confirm_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:revert_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:revert_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:rebuild"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:rebuild"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:reboot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:reboot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:soft_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:soft_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:security_groups:add_to_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:security_groups:add_to_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:security_groups:remove_from_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:security_groups:remove_from_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:restore"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:restore"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:volume_snapshot_create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:volume_snapshot_create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:volume_snapshot_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:volume_snapshot_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:accounts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:accounts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:pause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:pause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:unpause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:unpause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:suspend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:suspend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:resume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:resume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:unlock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:unlock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:resetNetwork"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:resetNetwork"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:injectNetworkInfo"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:createBackup"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:createBackup"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:migrateLive"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:migrateLive"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:resetState"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:resetState"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:migrate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:migrate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:aggregates"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:aggregates"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:agents"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:agents"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:attach_interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:attach_interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:baremetal_nodes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:baremetal_nodes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:sync_instances"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:sync_instances"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:certificates"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:certificates"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cloudpipe"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cloudpipe"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cloudpipe_update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cloudpipe_update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:config_drive"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:config_drive"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:console_output"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:console_output"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:consoles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:consoles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:createserverext"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:createserverext"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:deferred_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:deferred_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:disk_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:disk_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:evacuate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:evacuate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_server_attributes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_server_attributes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_availability_zone"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_availability_zone"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_ips_mac"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_ips_mac"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_vif_net"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_vif_net"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:fixed_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:fixed_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_access:addTenantAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_access:removeTenantAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_disabled"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_disabled"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_rxtx"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_rxtx"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_swap"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_swap"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextradata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextradata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavormanage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavormanage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ip_dns"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ip_dns"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ip_pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ip_pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ips_bulk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ips_bulk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:fping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:fping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:fping:all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:fping:all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:hide_server_addresses"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:hide_server_addresses"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:hosts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:hosts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:hypervisors"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:hypervisors"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:image_size"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:image_size"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:instance_actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:instance_actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:instance_actions:events"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:instance_actions:events"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:instance_usage_audit_log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:instance_usage_audit_log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:multinic"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:multinic"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:networks:view"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:networks:view"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:networks_associate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:networks_associate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-tenant-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-tenant-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quotas:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quotas:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quotas:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quotas:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quotas:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quotas:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quota_classes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quota_classes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:rescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:rescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:security_group_default_rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:security_group_default_rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:security_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:security_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_usage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_usage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:services"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:services"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:shelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:shelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:shelveOffload"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:shelveOffload"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:simple_tenant_usage:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:simple_tenant_usage:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:simple_tenant_usage:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:simple_tenant_usage:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:unshelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:unshelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:users"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:users"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:virtual_interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:virtual_interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:virtual_storage_arrays"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:virtual_storage_arrays"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volumetypes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volumetypes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:availability_zone:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:availability_zone:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:availability_zone:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:availability_zone:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:used_limits_for_admin"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:used_limits_for_admin"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:migrations:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:migrations:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-assisted-volume-snapshots:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:console_auth_tokens"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:console_auth_tokens"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-server-external-events:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-server-external-events:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:associate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:associate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:disassociate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:disassociate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_vifs_by_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_vifs_by_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:allocate_for_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:allocate_for_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:deallocate_for_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:deallocate_for_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:validate_networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:validate_networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_instance_uuids_by_ip_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_instance_uuids_by_ip_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_instance_id_by_floating_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_instance_id_by_floating_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:setup_networks_on_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:setup_networks_on_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_backdoor_port"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_backdoor_port"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ip_pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ip_pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ip_by_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ip_by_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ips_by_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ips_by_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ips_by_fixed_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ips_by_fixed_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:allocate_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:allocate_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:associate_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:associate_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:disassociate_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:disassociate_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:release_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:release_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:migrate_instance_start"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:migrate_instance_start"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:migrate_instance_finish"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:migrate_instance_finish"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_fixed_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_fixed_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_fixed_ip_by_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_fixed_ip_by_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:add_fixed_ip_to_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:add_fixed_ip_to_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:remove_fixed_ip_from_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:remove_fixed_ip_from_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:add_network_to_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:add_network_to_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_instance_nw_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_instance_nw_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_dns_domains"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_dns_domains"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:add_dns_entry"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:add_dns_entry"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:modify_dns_entry"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:modify_dns_entry"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:delete_dns_entry"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:delete_dns_entry"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_dns_entries_by_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_dns_entries_by_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_dns_entries_by_name"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_dns_entries_by_name"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:create_private_dns_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:create_private_dns_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:create_public_dns_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:create_public_dns_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:delete_dns_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:delete_dns_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:attach_external_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:attach_external_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_vif_by_mac_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_vif_by_mac_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:detail:get_all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:index:get_all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:confirm_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:confirm_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create:attach_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create:attach_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create:attach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create:attach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create:forced_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create:forced_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:reboot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:reboot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:rebuild"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:rebuild"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:revert_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:revert_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:start"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:start"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:stop"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:stop"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-access-ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-access-ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-access-ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-access-ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:reset_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:inject_network_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:reset_state"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-password:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-password:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:add_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:add_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:remove_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:remove_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:set_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-agents"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-agents"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-agents:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-agents:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-attach-interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-attach-interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-attach-interfaces:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-baremetal-nodes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:sync_instances"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:sync_instances"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-certificates:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-certificates:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-certificates:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-certificates:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-certificates:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-certificates:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cloudpipe"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cloudpipe"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cloudpipe:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-config-drive"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-config-drive"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-console-output:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-console-output:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-console-output"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-console-output"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-remote-consoles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-remote-consoles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-remote-consoles:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-create-backup:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-create-backup:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-create-backup"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-create-backup"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-deferred-delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-deferred-delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-deferred-delete:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-disk-config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-disk-config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-disk-config:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-disk-config:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-evacuate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-evacuate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-evacuate:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-evacuate:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-server-attributes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-status:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-status:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-availability-zone"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:extensions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:extensions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:extension_info:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:extension_info:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-volumes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fixed-ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fixed-ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fixed-ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-rxtx"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:flavors:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:flavors:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-manage:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips-bulk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fping:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fping:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fping:all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fping:all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hide-server-addresses"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hosts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hosts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hosts:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hosts:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hypervisors"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hypervisors"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hypervisors:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:images:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:images:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:image-size"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:image-size"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:image-size:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:image-size:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-actions:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-actions:events"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-actions:events"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-usage-audit-log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:ips:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:ips:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:ips:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:ips:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:limits:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:limits:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:unlock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrate-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrate-server:migrate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrate-server:migrate_live"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-multinic"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-multinic"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-multinic:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-multinic:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks:view"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks:view"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks-associate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks-associate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks-associate:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pause-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pause-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pause-server:pause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pause-server:pause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pause-server:unpause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pause-server:unpause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:pci_servers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:pci_servers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-personality:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-personality:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:defaults"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:defaults"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-class-sets:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-class-sets:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-class-sets:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-rescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-rescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-rescue:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-rescue:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-scheduler-hints:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-group-default-rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-groups:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-groups:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-diagnostics:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-password:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-password:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-usage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-usage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-usage:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-usage:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-groups:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-groups:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-services"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-services"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-services:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-services:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:update_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:update_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:shelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:shelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:shelve:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:shelve_offload"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-simple-tenant-usage:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-simple-tenant-usage:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-suspend-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-suspend-server:suspend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-suspend-server:suspend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-suspend-server:resume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-suspend-server:resume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-tenant-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-tenant-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-tenant-networks:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:unshelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:unshelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-user-data:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-user-data:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-virtual-interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-availability-zone:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-availability-zone:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-availability-zone:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-availability-zone:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-availability-zone:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-used-limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-used-limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-used-limits:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-used-limits:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrations:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrations:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrations:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrations:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-console-auth-tokens"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-console-auth-tokens"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-external-events:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-external-events:create"
+ }
+ ]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [
+ {
+ "name": "role"
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id"
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id"
+ }
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_volume_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete_volume_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_volume_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_volume_admin_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_volume_admin_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_all_snapshots"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:extend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_readonly_flag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:retype"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:types_manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:types_extra_specs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:access_types_qos_specs_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:access_types_extra_specs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_encryption"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_encryption_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:extended_snapshot_attributes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_image_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quotas:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quotas:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quotas:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quota_classes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_host_attribute"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_tenant_attribute"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_mig_status_attribute"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:hosts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:services:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:services:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_unmanage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:capabilities"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create_transfer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:accept_transfer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete_transfer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_all_transfers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:replication:promote"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:replication:reenable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:enable_replication"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:disable_replication"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:failover_replication"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:list_replication_targets"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:restore"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:backup-import"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:backup-export"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "snapshot_extension:snapshot_manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "snapshot_extension:snapshot_unmanage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:create_cgsnapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:delete_cgsnapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get_cgsnapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get_all_cgsnapshots"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_images"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "publicize_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "communitize_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "copy_from"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "download_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "upload_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_image_location"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_image_location"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "set_image_location"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_members"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "manage_image_cache"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_task"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_tasks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_task"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_task"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "tasks_api_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "deactivate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "reactivate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_namespace"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_namespaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_namespace"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_namespace"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_object"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_objects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_object"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_object"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "list_metadef_resource_types"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_resource_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_resource_type_association"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_property"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_properties"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_property"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_property"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_regions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_services"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_registered_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_registered_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_registered_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_registered_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_registered_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_domains"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_target_project_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_project_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_user_projects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_project_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_project_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_project_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_project_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_project_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_project_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_target_user_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_user_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_users"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_target_group_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_group_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_groups_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_users_in_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:remove_user_from_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_user_in_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:add_user_to_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_credentials"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_get_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_list_credentials"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_create_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_delete_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_matches_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_prior_role_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_implied_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_role_inference_rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_system_grants_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_system_grant_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_system_grant_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_system_grant_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_system_grants_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_system_grant_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_system_grant_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_system_grant_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_grant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_grant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_grant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_global_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_grant_match"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_global_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_list_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_list_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_on_domain_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_on_project_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_on_domain_of_project_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_role_assignments"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_role_assignments_for_tree"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_policies"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:validate_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:validate_token_head"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revocation_list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_trusts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_roles_for_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_role_for_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_consumers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:authorize_request_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_access_token_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_access_token_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_access_tokens"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_access_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_access_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:add_endpoint_to_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_endpoint_in_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints_for_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:remove_endpoint_from_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoint_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_endpoint_group_in_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoint_groups_for_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:add_endpoint_group_to_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:remove_endpoint_group_from_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_identity_providers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_protocols"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_mappings"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_service_providers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_catalog"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_projects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_domains"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_system"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_domains_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_revoke_events"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy_association_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_policy_association_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy_association_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy_association_for_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_policy_association_for_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy_association_for_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_policy_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints_for_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_security_compliance_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain_config_default"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_application_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_application_credentials"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_application_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_application_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_subnet"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_subnet:segment_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_subnet:service_types"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_subnet"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_subnet:segment_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_subnet"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_subnet:service_types"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_subnet"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_subnetpool"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_subnetpool:shared"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_subnetpool:is_default"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_subnetpool"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_subnetpool"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_subnetpool:is_default"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_subnetpool"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_address_scope"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_address_scope:shared"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_address_scope"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_address_scope"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_address_scope:shared"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_address_scope"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network:router:external"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network:segments"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network:provider:network_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network:provider:physical_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network:provider:segmentation_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network:queue_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network_ip_availabilities"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network_ip_availability"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:shared"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:router:external"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:is_default"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:segments"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:provider:network_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:provider:physical_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network:provider:segmentation_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network:segments"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network:shared"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network:provider:network_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network:provider:physical_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network:provider:segmentation_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network:router:external"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_segment"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_segment"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_segment"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_segment"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network_device"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:device_owner"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:mac_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:fixed_ips:ip_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:fixed_ips:subnet_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:port_security_enabled"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:binding:host_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:binding:profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:mac_learning_enabled"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_port:allowed_address_pairs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_port"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_port:queue_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_port:binding:vif_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_port:binding:vif_details"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_port:binding:host_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_port:binding:profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:device_owner"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:mac_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:fixed_ips:ip_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:fixed_ips:subnet_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:port_security_enabled"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:binding:host_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:binding:profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:mac_learning_enabled"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:allowed_address_pairs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_port:data_plane_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_port"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_router:ha"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_router"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_router:external_gateway_info:enable_snat"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_router:distributed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_router:ha"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_router"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_router:distributed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router:external_gateway_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router:external_gateway_info:network_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router:external_gateway_info:enable_snat"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router:distributed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router:ha"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_router"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_router_interface"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "remove_router_interface"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_router:external_gateway_info:external_fixed_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_router:external_gateway_info:external_fixed_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_qos_queue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_qos_queue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_agent"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_agent"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_agent"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_dhcp-network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_dhcp-network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_dhcp-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_l3-router"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_l3-router"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_l3-routers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_dhcp-agents"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_l3-agents"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_loadbalancer-agent"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_loadbalancer-pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_agent-loadbalancers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_loadbalancer-hosting-agent"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_floatingip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_floatingip:floating_ip_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_floatingip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_floatingip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_floatingip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_network_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_network_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_network_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network_profiles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_network_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_policy_profiles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_policy_profiles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_policy_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_metering_label"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_metering_label"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metering_label"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_metering_label_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_metering_label_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metering_label_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_lsn"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_lsn"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_flavor"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_flavor"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_flavor"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_flavors"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_flavor"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_service_profiles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_policy_bandwidth_limit_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_policy_dscp_marking_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_rule_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_policy_minimum_bandwidth_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "restrict_wildcard"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_rbac_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_rbac_policy:target_tenant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_rbac_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_rbac_policy:target_tenant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_rbac_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_rbac_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_flavor_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_flavor_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_flavor_service_profile"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_auto_allocated_topology"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_trunk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_trunk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_trunk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_subports"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_subports"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "remove_subports"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_security_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_security_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_security_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_security_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_security_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_security_group_rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_security_group_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_security_group_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_security_group_rule"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_loggable_resources"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "create_log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "update_log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_logs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create:attach_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create:attach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create:forced_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all_instance_system_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:update_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:delete_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_instance_faults"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_instance_diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:start"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:stop"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unlock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unlock_override"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_vnc_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_spice_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_rdp_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_serial_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_mks_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_console_output"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:reset_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:inject_network_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:add_fixed_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:remove_fixed_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:attach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:detach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:swap_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:attach_interface"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:detach_interface"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:set_admin_password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:rescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unrescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:suspend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:resume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:pause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unpause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:shelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:shelve_offload"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unshelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:snapshot_volume_backed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:backup"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:confirm_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:revert_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:rebuild"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:reboot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:soft_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:security_groups:add_to_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:security_groups:remove_from_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:restore"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:volume_snapshot_create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:volume_snapshot_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:accounts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:pause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:unpause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:suspend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:resume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:unlock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:resetNetwork"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:createBackup"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:migrateLive"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:resetState"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:migrate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:aggregates"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:agents"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:attach_interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:baremetal_nodes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:sync_instances"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:certificates"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cloudpipe"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cloudpipe_update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:config_drive"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:console_output"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:consoles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:createserverext"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:deferred_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:disk_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:evacuate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_server_attributes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_availability_zone"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_ips_mac"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_vif_net"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:fixed_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_disabled"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_rxtx"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_swap"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextradata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavormanage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ip_dns"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ip_pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ips_bulk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:fping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:fping:all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:hide_server_addresses"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:hosts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:hypervisors"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:image_size"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:instance_actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:instance_actions:events"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:instance_usage_audit_log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:multinic"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:networks:view"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:networks_associate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-tenant-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quotas:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quotas:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quotas:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quota_classes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:rescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:security_group_default_rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:security_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_usage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:services"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:shelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:shelveOffload"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:simple_tenant_usage:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:simple_tenant_usage:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:unshelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:users"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:virtual_interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:virtual_storage_arrays"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volumetypes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:availability_zone:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:availability_zone:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:used_limits_for_admin"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:migrations:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:console_auth_tokens"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-server-external-events:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:associate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:disassociate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_vifs_by_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:allocate_for_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:deallocate_for_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:validate_networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_instance_uuids_by_ip_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_instance_id_by_floating_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:setup_networks_on_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_backdoor_port"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ip_pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ip_by_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ips_by_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ips_by_fixed_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:allocate_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:associate_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:disassociate_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:release_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:migrate_instance_start"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:migrate_instance_finish"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_fixed_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_fixed_ip_by_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:add_fixed_ip_to_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:remove_fixed_ip_from_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:add_network_to_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_instance_nw_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_dns_domains"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:add_dns_entry"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:modify_dns_entry"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:delete_dns_entry"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_dns_entries_by_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_dns_entries_by_name"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:create_private_dns_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:create_public_dns_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:delete_dns_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:attach_external_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_vif_by_mac_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:confirm_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create:attach_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create:attach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create:forced_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:reboot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:rebuild"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:revert_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:start"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:stop"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-access-ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-access-ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-password:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:add_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:remove_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-agents"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-agents:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-attach-interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:sync_instances"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-certificates:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-certificates:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-certificates:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cloudpipe"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-config-drive"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-console-output:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-console-output"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-remote-consoles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-create-backup:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-create-backup"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-deferred-delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-disk-config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-disk-config:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-evacuate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-evacuate:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-status:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:extensions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:extension_info:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fixed-ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:flavors:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fping:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fping:all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hosts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hosts:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hypervisors"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:images:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:image-size"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:image-size:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-actions:events"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:ips:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:ips:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:limits:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-multinic"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-multinic:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks:view"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks-associate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pause-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pause-server:pause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pause-server:unpause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:pci_servers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-personality:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:defaults"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-rescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-rescue:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-groups:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-password:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-usage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-usage:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-groups:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-services"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-services:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:update_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:shelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-suspend-server:suspend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-suspend-server:resume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-tenant-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:unshelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-user-data:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-availability-zone:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-availability-zone:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-used-limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-used-limits:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrations:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrations:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-console-auth-tokens"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-external-events:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/opst_rbac_cinder.json b/moon_engine/tests/func_policies/opst_rbac_cinder.json
new file mode 100644
index 00000000..f0cba96b
--- /dev/null
+++ b/moon_engine/tests/func_policies/opst_rbac_cinder.json
@@ -0,0 +1,5078 @@
+{
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy",
+ "genre": "authz",
+ "description": "A RBAC policy similar of what you can find through policy.json files",
+ "model": {
+ "name": "OPST_RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "OPST_RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "a role in OpenStack"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "the admin role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "member",
+ "description": "the member role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {
+ "name": "admin"
+ },
+ "category": {
+ "name": "role"
+ },
+ "assignments": [
+ {
+ "name": "admin"
+ },
+ {
+ "name": "member"
+ }
+ ]
+ }
+ ],
+ "objects": [
+ {
+ "name": "all_vm",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "the UID of each virtual machine"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm",
+ "description": "represents all virtual machines in this project",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {
+ "name": "all_vm"
+ },
+ "category": {
+ "name": "id"
+ },
+ "assignments": [
+ {
+ "name": "all_vm"
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "name": "volume:create",
+ "description": "volume:create action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete",
+ "description": "volume:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get",
+ "description": "volume:get action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_all",
+ "description": "volume:get_all action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_volume_metadata",
+ "description": "volume:get_volume_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete_volume_metadata",
+ "description": "volume:delete_volume_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_volume_metadata",
+ "description": "volume:update_volume_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_volume_admin_metadata",
+ "description": "volume:get_volume_admin_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_volume_admin_metadata",
+ "description": "volume:update_volume_admin_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_snapshot",
+ "description": "volume:get_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_all_snapshots",
+ "description": "volume:get_all_snapshots action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:create_snapshot",
+ "description": "volume:create_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete_snapshot",
+ "description": "volume:delete_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_snapshot",
+ "description": "volume:update_snapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:extend",
+ "description": "volume:extend action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update_readonly_flag",
+ "description": "volume:update_readonly_flag action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:retype",
+ "description": "volume:retype action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:update",
+ "description": "volume:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:types_manage",
+ "description": "volume_extension:types_manage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:types_extra_specs",
+ "description": "volume_extension:types_extra_specs action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:access_types_qos_specs_id",
+ "description": "volume_extension:access_types_qos_specs_id action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:access_types_extra_specs",
+ "description": "volume_extension:access_types_extra_specs action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_access",
+ "description": "volume_extension:volume_type_access action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess",
+ "description": "volume_extension:volume_type_access:addProjectAccess action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess",
+ "description": "volume_extension:volume_type_access:removeProjectAccess action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_type_encryption",
+ "description": "volume_extension:volume_type_encryption action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_encryption_metadata",
+ "description": "volume_extension:volume_encryption_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:extended_snapshot_attributes",
+ "description": "volume_extension:extended_snapshot_attributes action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_image_metadata",
+ "description": "volume_extension:volume_image_metadata action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quotas:show",
+ "description": "volume_extension:quotas:show action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quotas:update",
+ "description": "volume_extension:quotas:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quotas:delete",
+ "description": "volume_extension:quotas:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quota_classes",
+ "description": "volume_extension:quota_classes action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use",
+ "description": "volume_extension:quota_classes:validate_setup_for_nested_quota_use action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status",
+ "description": "volume_extension:volume_admin_actions:reset_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status",
+ "description": "volume_extension:snapshot_admin_actions:reset_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status",
+ "description": "volume_extension:backup_admin_actions:reset_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete",
+ "description": "volume_extension:volume_admin_actions:force_delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach",
+ "description": "volume_extension:volume_admin_actions:force_detach action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete",
+ "description": "volume_extension:snapshot_admin_actions:force_delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete",
+ "description": "volume_extension:backup_admin_actions:force_delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume",
+ "description": "volume_extension:volume_admin_actions:migrate_volume action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion",
+ "description": "volume_extension:volume_admin_actions:migrate_volume_completion action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_host_attribute",
+ "description": "volume_extension:volume_host_attribute action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_tenant_attribute",
+ "description": "volume_extension:volume_tenant_attribute action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_mig_status_attribute",
+ "description": "volume_extension:volume_mig_status_attribute action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:hosts",
+ "description": "volume_extension:hosts action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:services:index",
+ "description": "volume_extension:services:index action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:services:update",
+ "description": "volume_extension:services:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_manage",
+ "description": "volume_extension:volume_manage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:volume_unmanage",
+ "description": "volume_extension:volume_unmanage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:capabilities",
+ "description": "volume_extension:capabilities action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:create_transfer",
+ "description": "volume:create_transfer action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:accept_transfer",
+ "description": "volume:accept_transfer action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:delete_transfer",
+ "description": "volume:delete_transfer action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:get_all_transfers",
+ "description": "volume:get_all_transfers action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:replication:promote",
+ "description": "volume_extension:replication:promote action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume_extension:replication:reenable",
+ "description": "volume_extension:replication:reenable action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:enable_replication",
+ "description": "volume:enable_replication action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:disable_replication",
+ "description": "volume:disable_replication action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:failover_replication",
+ "description": "volume:failover_replication action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "volume:list_replication_targets",
+ "description": "volume:list_replication_targets action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:create",
+ "description": "backup:create action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:delete",
+ "description": "backup:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:get",
+ "description": "backup:get action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:get_all",
+ "description": "backup:get_all action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:restore",
+ "description": "backup:restore action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:backup-import",
+ "description": "backup:backup-import action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "backup:backup-export",
+ "description": "backup:backup-export action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status",
+ "description": "snapshot_extension:snapshot_actions:update_snapshot_status action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "snapshot_extension:snapshot_manage",
+ "description": "snapshot_extension:snapshot_manage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "snapshot_extension:snapshot_unmanage",
+ "description": "snapshot_extension:snapshot_unmanage action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:create",
+ "description": "consistencygroup:create action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:delete",
+ "description": "consistencygroup:delete action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:update",
+ "description": "consistencygroup:update action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get",
+ "description": "consistencygroup:get action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get_all",
+ "description": "consistencygroup:get_all action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:create_cgsnapshot",
+ "description": "consistencygroup:create_cgsnapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:delete_cgsnapshot",
+ "description": "consistencygroup:delete_cgsnapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get_cgsnapshot",
+ "description": "consistencygroup:get_cgsnapshot action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "consistencygroup:get_all_cgsnapshots",
+ "description": "consistencygroup:get_all_cgsnapshots action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ },
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools",
+ "description": "scheduler_extension:scheduler_stats:get_pools action for cinder",
+ "extra": {
+ "component": "cinder"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create",
+ "description": "volume:create action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete",
+ "description": "volume:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get",
+ "description": "volume:get action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_all",
+ "description": "volume:get_all action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_volume_metadata",
+ "description": "volume:get_volume_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete_volume_metadata",
+ "description": "volume:delete_volume_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_volume_metadata",
+ "description": "volume:update_volume_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_volume_admin_metadata",
+ "description": "volume:get_volume_admin_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_volume_admin_metadata",
+ "description": "volume:update_volume_admin_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_snapshot",
+ "description": "volume:get_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_all_snapshots",
+ "description": "volume:get_all_snapshots action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:create_snapshot",
+ "description": "volume:create_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete_snapshot",
+ "description": "volume:delete_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_snapshot",
+ "description": "volume:update_snapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:extend",
+ "description": "volume:extend action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update_readonly_flag",
+ "description": "volume:update_readonly_flag action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:retype",
+ "description": "volume:retype action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:update",
+ "description": "volume:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:types_manage",
+ "description": "volume_extension:types_manage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:types_extra_specs",
+ "description": "volume_extension:types_extra_specs action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:access_types_qos_specs_id",
+ "description": "volume_extension:access_types_qos_specs_id action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:access_types_extra_specs",
+ "description": "volume_extension:access_types_extra_specs action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_access",
+ "description": "volume_extension:volume_type_access action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess",
+ "description": "volume_extension:volume_type_access:addProjectAccess action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess",
+ "description": "volume_extension:volume_type_access:removeProjectAccess action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_type_encryption",
+ "description": "volume_extension:volume_type_encryption action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_encryption_metadata",
+ "description": "volume_extension:volume_encryption_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:extended_snapshot_attributes",
+ "description": "volume_extension:extended_snapshot_attributes action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_image_metadata",
+ "description": "volume_extension:volume_image_metadata action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quotas:show",
+ "description": "volume_extension:quotas:show action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quotas:update",
+ "description": "volume_extension:quotas:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quotas:delete",
+ "description": "volume_extension:quotas:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quota_classes",
+ "description": "volume_extension:quota_classes action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use",
+ "description": "volume_extension:quota_classes:validate_setup_for_nested_quota_use action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status",
+ "description": "volume_extension:volume_admin_actions:reset_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status",
+ "description": "volume_extension:snapshot_admin_actions:reset_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status",
+ "description": "volume_extension:backup_admin_actions:reset_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete",
+ "description": "volume_extension:volume_admin_actions:force_delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach",
+ "description": "volume_extension:volume_admin_actions:force_detach action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete",
+ "description": "volume_extension:snapshot_admin_actions:force_delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete",
+ "description": "volume_extension:backup_admin_actions:force_delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume",
+ "description": "volume_extension:volume_admin_actions:migrate_volume action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion",
+ "description": "volume_extension:volume_admin_actions:migrate_volume_completion action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_host_attribute",
+ "description": "volume_extension:volume_host_attribute action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_tenant_attribute",
+ "description": "volume_extension:volume_tenant_attribute action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_mig_status_attribute",
+ "description": "volume_extension:volume_mig_status_attribute action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:hosts",
+ "description": "volume_extension:hosts action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:services:index",
+ "description": "volume_extension:services:index action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:services:update",
+ "description": "volume_extension:services:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_manage",
+ "description": "volume_extension:volume_manage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:volume_unmanage",
+ "description": "volume_extension:volume_unmanage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:capabilities",
+ "description": "volume_extension:capabilities action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:create_transfer",
+ "description": "volume:create_transfer action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:accept_transfer",
+ "description": "volume:accept_transfer action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:delete_transfer",
+ "description": "volume:delete_transfer action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:get_all_transfers",
+ "description": "volume:get_all_transfers action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:replication:promote",
+ "description": "volume_extension:replication:promote action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume_extension:replication:reenable",
+ "description": "volume_extension:replication:reenable action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:enable_replication",
+ "description": "volume:enable_replication action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:disable_replication",
+ "description": "volume:disable_replication action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:failover_replication",
+ "description": "volume:failover_replication action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "volume:list_replication_targets",
+ "description": "volume:list_replication_targets action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:create",
+ "description": "backup:create action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:delete",
+ "description": "backup:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:get",
+ "description": "backup:get action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:get_all",
+ "description": "backup:get_all action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:restore",
+ "description": "backup:restore action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:backup-import",
+ "description": "backup:backup-import action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "backup:backup-export",
+ "description": "backup:backup-export action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status",
+ "description": "snapshot_extension:snapshot_actions:update_snapshot_status action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "snapshot_extension:snapshot_manage",
+ "description": "snapshot_extension:snapshot_manage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "snapshot_extension:snapshot_unmanage",
+ "description": "snapshot_extension:snapshot_unmanage action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:create",
+ "description": "consistencygroup:create action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:delete",
+ "description": "consistencygroup:delete action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:update",
+ "description": "consistencygroup:update action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get",
+ "description": "consistencygroup:get action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get_all",
+ "description": "consistencygroup:get_all action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:create_cgsnapshot",
+ "description": "consistencygroup:create_cgsnapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:delete_cgsnapshot",
+ "description": "consistencygroup:delete_cgsnapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get_cgsnapshot",
+ "description": "consistencygroup:get_cgsnapshot action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "consistencygroup:get_all_cgsnapshots",
+ "description": "consistencygroup:get_all_cgsnapshots action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools",
+ "description": "scheduler_extension:scheduler_stats:get_pools action for cinder",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {
+ "name": "volume:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_volume_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_volume_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete_volume_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete_volume_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_volume_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_volume_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_volume_admin_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_volume_admin_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_volume_admin_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_volume_admin_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_all_snapshots"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_all_snapshots"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:create_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:create_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:extend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:extend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update_readonly_flag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update_readonly_flag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:retype"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:retype"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:types_manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:types_manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:types_extra_specs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:types_extra_specs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:access_types_qos_specs_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:access_types_qos_specs_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:access_types_extra_specs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:access_types_extra_specs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_access:addProjectAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_access:removeProjectAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_type_encryption"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_type_encryption"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_encryption_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_encryption_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:extended_snapshot_attributes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:extended_snapshot_attributes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_image_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_image_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quotas:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quotas:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quotas:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quotas:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quotas:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quotas:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quota_classes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quota_classes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:reset_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:snapshot_admin_actions:reset_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:backup_admin_actions:reset_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:force_detach"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:snapshot_admin_actions:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:backup_admin_actions:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:migrate_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_host_attribute"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_host_attribute"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_tenant_attribute"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_tenant_attribute"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_mig_status_attribute"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_mig_status_attribute"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:hosts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:hosts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:services:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:services:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:services:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:services:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:volume_unmanage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:volume_unmanage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:capabilities"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:capabilities"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:create_transfer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:create_transfer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:accept_transfer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:accept_transfer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:delete_transfer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:delete_transfer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:get_all_transfers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:get_all_transfers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:replication:promote"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:replication:promote"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume_extension:replication:reenable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume_extension:replication:reenable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:enable_replication"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:enable_replication"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:disable_replication"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:disable_replication"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:failover_replication"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:failover_replication"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "volume:list_replication_targets"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "volume:list_replication_targets"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:restore"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:restore"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:backup-import"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:backup-import"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "backup:backup-export"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "backup:backup-export"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "snapshot_extension:snapshot_manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "snapshot_extension:snapshot_manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "snapshot_extension:snapshot_unmanage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "snapshot_extension:snapshot_unmanage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:create_cgsnapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:create_cgsnapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:delete_cgsnapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:delete_cgsnapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get_cgsnapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get_cgsnapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "consistencygroup:get_all_cgsnapshots"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "consistencygroup:get_all_cgsnapshots"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "scheduler_extension:scheduler_stats:get_pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools"
+ }
+ ]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [
+ {
+ "name": "role"
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id"
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id"
+ }
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_volume_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete_volume_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_volume_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_volume_admin_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_volume_admin_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_all_snapshots"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:extend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update_readonly_flag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:retype"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:types_manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:types_extra_specs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:access_types_qos_specs_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:access_types_extra_specs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_access:addProjectAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_access:removeProjectAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_type_encryption"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_encryption_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:extended_snapshot_attributes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_image_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quotas:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quotas:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quotas:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quota_classes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:quota_classes:validate_setup_for_nested_quota_use"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:reset_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:reset_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:backup_admin_actions:reset_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:force_detach"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:snapshot_admin_actions:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:backup_admin_actions:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_admin_actions:migrate_volume_completion"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_host_attribute"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_tenant_attribute"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_mig_status_attribute"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:hosts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:services:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:services:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:volume_unmanage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:capabilities"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:create_transfer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:accept_transfer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:delete_transfer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:get_all_transfers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:replication:promote"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume_extension:replication:reenable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:enable_replication"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:disable_replication"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:failover_replication"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "volume:list_replication_targets"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:restore"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:backup-import"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "backup:backup-export"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "snapshot_extension:snapshot_actions:update_snapshot_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "snapshot_extension:snapshot_manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "snapshot_extension:snapshot_unmanage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:create_cgsnapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:delete_cgsnapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get_cgsnapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "consistencygroup:get_all_cgsnapshots"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "scheduler_extension:scheduler_stats:get_pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/opst_rbac_glance.json b/moon_engine/tests/func_policies/opst_rbac_glance.json
new file mode 100644
index 00000000..276d1e3b
--- /dev/null
+++ b/moon_engine/tests/func_policies/opst_rbac_glance.json
@@ -0,0 +1,2918 @@
+{
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy",
+ "genre": "authz",
+ "description": "A RBAC policy similar of what you can find through policy.json files",
+ "model": {
+ "name": "OPST_RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "OPST_RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "a role in OpenStack"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "the admin role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "member",
+ "description": "the member role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {
+ "name": "admin"
+ },
+ "category": {
+ "name": "role"
+ },
+ "assignments": [
+ {
+ "name": "admin"
+ },
+ {
+ "name": "member"
+ }
+ ]
+ }
+ ],
+ "objects": [
+ {
+ "name": "all",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "the UID of each virtual machine"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all",
+ "description": "represents all virtual machines in this project",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {
+ "name": "all"
+ },
+ "category": {
+ "name": "id"
+ },
+ "assignments": [
+ {
+ "name": "all"
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "name": "add_image",
+ "description": "add_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_image",
+ "description": "delete_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_image",
+ "description": "get_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_image",
+ "description": "modify_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "publicize_image",
+ "description": "publicize_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "communitize_image",
+ "description": "communitize_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "copy_from",
+ "description": "copy_from action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "download_image",
+ "description": "download_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "upload_image",
+ "description": "upload_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_image_location",
+ "description": "delete_image_location action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_image_location",
+ "description": "get_image_location action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "set_image_location",
+ "description": "set_image_location action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_member",
+ "description": "add_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "delete_member",
+ "description": "delete_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_member",
+ "description": "get_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_members",
+ "description": "get_members action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_member",
+ "description": "modify_member action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "manage_image_cache",
+ "description": "manage_image_cache action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_task",
+ "description": "get_task action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_tasks",
+ "description": "get_tasks action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_task",
+ "description": "add_task action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_task",
+ "description": "modify_task action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "tasks_api_access",
+ "description": "tasks_api_access action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "deactivate",
+ "description": "deactivate action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "reactivate",
+ "description": "reactivate action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_namespace",
+ "description": "get_metadef_namespace action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_namespaces",
+ "description": "get_metadef_namespaces action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_namespace",
+ "description": "modify_metadef_namespace action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_namespace",
+ "description": "add_metadef_namespace action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_object",
+ "description": "get_metadef_object action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_objects",
+ "description": "get_metadef_objects action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_object",
+ "description": "modify_metadef_object action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_object",
+ "description": "add_metadef_object action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "list_metadef_resource_types",
+ "description": "list_metadef_resource_types action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_resource_type",
+ "description": "get_metadef_resource_type action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_resource_type_association",
+ "description": "add_metadef_resource_type_association action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_property",
+ "description": "get_metadef_property action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_properties",
+ "description": "get_metadef_properties action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_property",
+ "description": "modify_metadef_property action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_property",
+ "description": "add_metadef_property action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_tag",
+ "description": "get_metadef_tag action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_metadef_tags",
+ "description": "get_metadef_tags action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "modify_metadef_tag",
+ "description": "modify_metadef_tag action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_tag",
+ "description": "add_metadef_tag action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "add_metadef_tags",
+ "description": "add_metadef_tags action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_image",
+ "description": "add_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_image",
+ "description": "delete_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_image",
+ "description": "get_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_image",
+ "description": "modify_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "publicize_image",
+ "description": "publicize_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "communitize_image",
+ "description": "communitize_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "copy_from",
+ "description": "copy_from action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "download_image",
+ "description": "download_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "upload_image",
+ "description": "upload_image action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_image_location",
+ "description": "delete_image_location action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_image_location",
+ "description": "get_image_location action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "set_image_location",
+ "description": "set_image_location action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_member",
+ "description": "add_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "delete_member",
+ "description": "delete_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_member",
+ "description": "get_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_members",
+ "description": "get_members action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_member",
+ "description": "modify_member action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "manage_image_cache",
+ "description": "manage_image_cache action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_task",
+ "description": "get_task action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_tasks",
+ "description": "get_tasks action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_task",
+ "description": "add_task action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_task",
+ "description": "modify_task action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "tasks_api_access",
+ "description": "tasks_api_access action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "deactivate",
+ "description": "deactivate action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "reactivate",
+ "description": "reactivate action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_namespace",
+ "description": "get_metadef_namespace action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_namespaces",
+ "description": "get_metadef_namespaces action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_namespace",
+ "description": "modify_metadef_namespace action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_namespace",
+ "description": "add_metadef_namespace action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_object",
+ "description": "get_metadef_object action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_objects",
+ "description": "get_metadef_objects action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_object",
+ "description": "modify_metadef_object action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_object",
+ "description": "add_metadef_object action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "list_metadef_resource_types",
+ "description": "list_metadef_resource_types action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_resource_type",
+ "description": "get_metadef_resource_type action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_resource_type_association",
+ "description": "add_metadef_resource_type_association action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_property",
+ "description": "get_metadef_property action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_properties",
+ "description": "get_metadef_properties action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_property",
+ "description": "modify_metadef_property action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_property",
+ "description": "add_metadef_property action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_tag",
+ "description": "get_metadef_tag action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_metadef_tags",
+ "description": "get_metadef_tags action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "modify_metadef_tag",
+ "description": "modify_metadef_tag action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_tag",
+ "description": "add_metadef_tag action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "add_metadef_tags",
+ "description": "add_metadef_tags action for glance",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {
+ "name": "add_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_images"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_images"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "publicize_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "publicize_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "communitize_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "communitize_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "copy_from"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "copy_from"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "download_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "download_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "upload_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "upload_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_image_location"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_image_location"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_image_location"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_image_location"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "set_image_location"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "set_image_location"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "delete_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "delete_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_members"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_members"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_member"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_member"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "manage_image_cache"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "manage_image_cache"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_task"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_task"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_tasks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_tasks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_task"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_task"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_task"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_task"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "tasks_api_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "tasks_api_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "deactivate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "deactivate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "reactivate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "reactivate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_namespace"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_namespace"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_namespaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_namespaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_namespace"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_namespace"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_namespace"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_namespace"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_object"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_object"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_objects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_objects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_object"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_object"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_object"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_object"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "list_metadef_resource_types"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "list_metadef_resource_types"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_resource_type"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_resource_type"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_resource_type_association"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_resource_type_association"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_property"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_property"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_properties"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_properties"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_property"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_property"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_property"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_property"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_metadef_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_metadef_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "modify_metadef_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "modify_metadef_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "add_metadef_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "add_metadef_tags"
+ }
+ ]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [
+ {
+ "name": "role"
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id"
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id"
+ }
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_images"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "publicize_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "communitize_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "copy_from"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "download_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "upload_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_image_location"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_image_location"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "set_image_location"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "delete_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_members"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_member"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "manage_image_cache"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_task"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_tasks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_task"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_task"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "tasks_api_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "deactivate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "reactivate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_namespace"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_namespaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_namespace"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_namespace"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_object"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_objects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_object"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_object"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "list_metadef_resource_types"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_resource_type"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_resource_type_association"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_property"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_properties"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_property"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_property"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_metadef_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "modify_metadef_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "add_metadef_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/opst_rbac_keystone.json b/moon_engine/tests/func_policies/opst_rbac_keystone.json
new file mode 100644
index 00000000..6ccf975f
--- /dev/null
+++ b/moon_engine/tests/func_policies/opst_rbac_keystone.json
@@ -0,0 +1,12998 @@
+{
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy",
+ "genre": "authz",
+ "description": "A RBAC policy similar of what you can find through policy.json files",
+ "model": {
+ "name": "OPST_RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "OPST_RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "a role in OpenStack"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "the admin role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "member",
+ "description": "the member role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {
+ "name": "admin"
+ },
+ "category": {
+ "name": "role"
+ },
+ "assignments": [
+ {
+ "name": "admin"
+ },
+ {
+ "name": "member"
+ }
+ ]
+ }
+ ],
+ "objects": [
+ {
+ "name": "all_vm",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "the UID of each virtual machine"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm",
+ "description": "represents all virtual machines in this project",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {
+ "name": "all_vm"
+ },
+ "category": {
+ "name": "id"
+ },
+ "assignments": [
+ {
+ "name": "all_vm"
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "name": "identity:get_region",
+ "description": "identity:get_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_regions",
+ "description": "identity:list_regions action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_region",
+ "description": "identity:create_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_region",
+ "description": "identity:update_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_region",
+ "description": "identity:delete_region action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_service",
+ "description": "identity:get_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_services",
+ "description": "identity:list_services action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_service",
+ "description": "identity:create_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_service",
+ "description": "identity:update_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_service",
+ "description": "identity:delete_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_endpoint",
+ "description": "identity:get_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints",
+ "description": "identity:list_endpoints action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_endpoint",
+ "description": "identity:create_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_endpoint",
+ "description": "identity:update_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_endpoint",
+ "description": "identity:delete_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_registered_limit",
+ "description": "identity:get_registered_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_registered_limits",
+ "description": "identity:list_registered_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_registered_limits",
+ "description": "identity:create_registered_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_registered_limits",
+ "description": "identity:update_registered_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_registered_limit",
+ "description": "identity:delete_registered_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_limit",
+ "description": "identity:get_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_limits",
+ "description": "identity:list_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_limits",
+ "description": "identity:create_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_limits",
+ "description": "identity:update_limits action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_limit",
+ "description": "identity:delete_limit action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain",
+ "description": "identity:get_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_domains",
+ "description": "identity:list_domains action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_domain",
+ "description": "identity:create_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_domain",
+ "description": "identity:update_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_domain",
+ "description": "identity:delete_domain action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_target_project_domain_id",
+ "description": "admin_and_matching_target_project_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_project_domain_id",
+ "description": "admin_and_matching_project_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_project",
+ "description": "identity:get_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects",
+ "description": "identity:list_projects action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_user_projects",
+ "description": "identity:list_user_projects action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_project",
+ "description": "identity:create_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_project",
+ "description": "identity:update_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_project",
+ "description": "identity:delete_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_project_tag",
+ "description": "identity:create_project_tag action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_project_tag",
+ "description": "identity:delete_project_tag action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_project_tag",
+ "description": "identity:get_project_tag action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_project_tags",
+ "description": "identity:list_project_tags action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_project_tags",
+ "description": "identity:delete_project_tags action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_project_tags",
+ "description": "identity:update_project_tags action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_target_user_domain_id",
+ "description": "admin_and_matching_target_user_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_user_domain_id",
+ "description": "admin_and_matching_user_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_user",
+ "description": "identity:get_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_users",
+ "description": "identity:list_users action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_user",
+ "description": "identity:create_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_user",
+ "description": "identity:update_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_user",
+ "description": "identity:delete_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_target_group_domain_id",
+ "description": "admin_and_matching_target_group_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_group_domain_id",
+ "description": "admin_and_matching_group_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_group",
+ "description": "identity:get_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_groups",
+ "description": "identity:list_groups action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_groups_for_user",
+ "description": "identity:list_groups_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_group",
+ "description": "identity:create_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_group",
+ "description": "identity:update_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_group",
+ "description": "identity:delete_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_users_in_group",
+ "description": "identity:list_users_in_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:remove_user_from_group",
+ "description": "identity:remove_user_from_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_user_in_group",
+ "description": "identity:check_user_in_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:add_user_to_group",
+ "description": "identity:add_user_to_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_credential",
+ "description": "identity:get_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_credentials",
+ "description": "identity:list_credentials action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_credential",
+ "description": "identity:create_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_credential",
+ "description": "identity:update_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_credential",
+ "description": "identity:delete_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_get_credential",
+ "description": "identity:ec2_get_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_list_credentials",
+ "description": "identity:ec2_list_credentials action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_create_credential",
+ "description": "identity:ec2_create_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:ec2_delete_credential",
+ "description": "identity:ec2_delete_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_role",
+ "description": "identity:get_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_roles",
+ "description": "identity:list_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_role",
+ "description": "identity:create_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_role",
+ "description": "identity:update_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_role",
+ "description": "identity:delete_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain_role",
+ "description": "identity:get_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_domain_roles",
+ "description": "identity:list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_domain_role",
+ "description": "identity:create_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_domain_role",
+ "description": "identity:update_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_domain_role",
+ "description": "identity:delete_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_matches_domain_role",
+ "description": "domain_admin_matches_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_domain_roles",
+ "description": "get_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_matches_target_domain_role",
+ "description": "domain_admin_matches_target_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_matches_target_domain_role",
+ "description": "project_admin_matches_target_domain_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "list_domain_roles",
+ "description": "list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles",
+ "description": "domain_admin_matches_filter_on_list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles",
+ "description": "project_admin_matches_filter_on_list_domain_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_and_matching_prior_role_domain_id",
+ "description": "admin_and_matching_prior_role_domain_id action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global",
+ "description": "implied_role_matches_prior_role_domain_or_global action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_implied_role",
+ "description": "identity:get_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_implied_roles",
+ "description": "identity:list_implied_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_implied_role",
+ "description": "identity:create_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_implied_role",
+ "description": "identity:delete_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_role_inference_rules",
+ "description": "identity:list_role_inference_rules action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_implied_role",
+ "description": "identity:check_implied_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_system_grants_for_user",
+ "description": "identity:list_system_grants_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_system_grant_for_user",
+ "description": "identity:check_system_grant_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_system_grant_for_user",
+ "description": "identity:create_system_grant_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_system_grant_for_user",
+ "description": "identity:revoke_system_grant_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_system_grants_for_group",
+ "description": "identity:list_system_grants_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_system_grant_for_group",
+ "description": "identity:check_system_grant_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_system_grant_for_group",
+ "description": "identity:create_system_grant_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_system_grant_for_group",
+ "description": "identity:revoke_system_grant_for_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_grant",
+ "description": "identity:check_grant action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_grants",
+ "description": "identity:list_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_grant",
+ "description": "identity:create_grant action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_grant",
+ "description": "identity:revoke_grant action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_grants",
+ "description": "domain_admin_for_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_global_role_grants",
+ "description": "domain_admin_for_global_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_domain_role_grants",
+ "description": "domain_admin_for_domain_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_grant_match",
+ "description": "domain_admin_grant_match action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_grants",
+ "description": "project_admin_for_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_global_role_grants",
+ "description": "project_admin_for_global_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_domain_role_grants",
+ "description": "project_admin_for_domain_role_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "domain_admin_for_list_grants",
+ "description": "domain_admin_for_list_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "project_admin_for_list_grants",
+ "description": "project_admin_for_list_grants action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_on_domain_filter",
+ "description": "admin_on_domain_filter action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_on_project_filter",
+ "description": "admin_on_project_filter action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "admin_on_domain_of_project_filter",
+ "description": "admin_on_domain_of_project_filter action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_role_assignments",
+ "description": "identity:list_role_assignments action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_role_assignments_for_tree",
+ "description": "identity:list_role_assignments_for_tree action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_policy",
+ "description": "identity:get_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_policies",
+ "description": "identity:list_policies action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy",
+ "description": "identity:create_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_policy",
+ "description": "identity:update_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy",
+ "description": "identity:delete_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_token",
+ "description": "identity:check_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:validate_token",
+ "description": "identity:validate_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:validate_token_head",
+ "description": "identity:validate_token_head action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revocation_list",
+ "description": "identity:revocation_list action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:revoke_token",
+ "description": "identity:revoke_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_trust",
+ "description": "identity:create_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_trusts",
+ "description": "identity:list_trusts action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_roles_for_trust",
+ "description": "identity:list_roles_for_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_role_for_trust",
+ "description": "identity:get_role_for_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_trust",
+ "description": "identity:delete_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_trust",
+ "description": "identity:get_trust action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_consumer",
+ "description": "identity:create_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_consumer",
+ "description": "identity:get_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_consumers",
+ "description": "identity:list_consumers action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_consumer",
+ "description": "identity:delete_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_consumer",
+ "description": "identity:update_consumer action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:authorize_request_token",
+ "description": "identity:authorize_request_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_access_token_roles",
+ "description": "identity:list_access_token_roles action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_access_token_role",
+ "description": "identity:get_access_token_role action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_access_tokens",
+ "description": "identity:list_access_tokens action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_access_token",
+ "description": "identity:get_access_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_access_token",
+ "description": "identity:delete_access_token action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects_for_endpoint",
+ "description": "identity:list_projects_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:add_endpoint_to_project",
+ "description": "identity:add_endpoint_to_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_endpoint_in_project",
+ "description": "identity:check_endpoint_in_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints_for_project",
+ "description": "identity:list_endpoints_for_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:remove_endpoint_from_project",
+ "description": "identity:remove_endpoint_from_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_endpoint_group",
+ "description": "identity:create_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoint_groups",
+ "description": "identity:list_endpoint_groups action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_endpoint_group",
+ "description": "identity:get_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_endpoint_group",
+ "description": "identity:update_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_endpoint_group",
+ "description": "identity:delete_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group",
+ "description": "identity:list_projects_associated_with_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group",
+ "description": "identity:list_endpoints_associated_with_endpoint_group action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_endpoint_group_in_project",
+ "description": "identity:get_endpoint_group_in_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoint_groups_for_project",
+ "description": "identity:list_endpoint_groups_for_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:add_endpoint_group_to_project",
+ "description": "identity:add_endpoint_group_to_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:remove_endpoint_group_from_project",
+ "description": "identity:remove_endpoint_group_from_project action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_identity_provider",
+ "description": "identity:create_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_identity_providers",
+ "description": "identity:list_identity_providers action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_identity_provider",
+ "description": "identity:get_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_identity_provider",
+ "description": "identity:update_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_identity_provider",
+ "description": "identity:delete_identity_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_protocol",
+ "description": "identity:create_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_protocol",
+ "description": "identity:update_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_protocol",
+ "description": "identity:get_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_protocols",
+ "description": "identity:list_protocols action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_protocol",
+ "description": "identity:delete_protocol action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_mapping",
+ "description": "identity:create_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_mapping",
+ "description": "identity:get_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_mappings",
+ "description": "identity:list_mappings action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_mapping",
+ "description": "identity:delete_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_mapping",
+ "description": "identity:update_mapping action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_service_provider",
+ "description": "identity:create_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_service_providers",
+ "description": "identity:list_service_providers action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_service_provider",
+ "description": "identity:get_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_service_provider",
+ "description": "identity:update_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_service_provider",
+ "description": "identity:delete_service_provider action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_catalog",
+ "description": "identity:get_auth_catalog action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_projects",
+ "description": "identity:get_auth_projects action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_domains",
+ "description": "identity:get_auth_domains action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_auth_system",
+ "description": "identity:get_auth_system action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_projects_for_user",
+ "description": "identity:list_projects_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_domains_for_user",
+ "description": "identity:list_domains_for_user action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_revoke_events",
+ "description": "identity:list_revoke_events action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy_association_for_endpoint",
+ "description": "identity:create_policy_association_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_policy_association_for_endpoint",
+ "description": "identity:check_policy_association_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy_association_for_endpoint",
+ "description": "identity:delete_policy_association_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy_association_for_service",
+ "description": "identity:create_policy_association_for_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_policy_association_for_service",
+ "description": "identity:check_policy_association_for_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy_association_for_service",
+ "description": "identity:delete_policy_association_for_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_policy_association_for_region_and_service",
+ "description": "identity:create_policy_association_for_region_and_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:check_policy_association_for_region_and_service",
+ "description": "identity:check_policy_association_for_region_and_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_policy_association_for_region_and_service",
+ "description": "identity:delete_policy_association_for_region_and_service action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_policy_for_endpoint",
+ "description": "identity:get_policy_for_endpoint action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_endpoints_for_policy",
+ "description": "identity:list_endpoints_for_policy action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_domain_config",
+ "description": "identity:create_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain_config",
+ "description": "identity:get_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_security_compliance_domain_config",
+ "description": "identity:get_security_compliance_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:update_domain_config",
+ "description": "identity:update_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_domain_config",
+ "description": "identity:delete_domain_config action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_domain_config_default",
+ "description": "identity:get_domain_config_default action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:get_application_credential",
+ "description": "identity:get_application_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:list_application_credentials",
+ "description": "identity:list_application_credentials action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:create_application_credential",
+ "description": "identity:create_application_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ },
+ {
+ "name": "identity:delete_application_credential",
+ "description": "identity:delete_application_credential action for keystone",
+ "extra": {
+ "component": "keystone"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_region",
+ "description": "identity:get_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_regions",
+ "description": "identity:list_regions action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_region",
+ "description": "identity:create_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_region",
+ "description": "identity:update_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_region",
+ "description": "identity:delete_region action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_service",
+ "description": "identity:get_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_services",
+ "description": "identity:list_services action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_service",
+ "description": "identity:create_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_service",
+ "description": "identity:update_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_service",
+ "description": "identity:delete_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_endpoint",
+ "description": "identity:get_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints",
+ "description": "identity:list_endpoints action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_endpoint",
+ "description": "identity:create_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_endpoint",
+ "description": "identity:update_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_endpoint",
+ "description": "identity:delete_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_registered_limit",
+ "description": "identity:get_registered_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_registered_limits",
+ "description": "identity:list_registered_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_registered_limits",
+ "description": "identity:create_registered_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_registered_limits",
+ "description": "identity:update_registered_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_registered_limit",
+ "description": "identity:delete_registered_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_limit",
+ "description": "identity:get_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_limits",
+ "description": "identity:list_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_limits",
+ "description": "identity:create_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_limits",
+ "description": "identity:update_limits action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_limit",
+ "description": "identity:delete_limit action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain",
+ "description": "identity:get_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_domains",
+ "description": "identity:list_domains action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_domain",
+ "description": "identity:create_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_domain",
+ "description": "identity:update_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_domain",
+ "description": "identity:delete_domain action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_target_project_domain_id",
+ "description": "admin_and_matching_target_project_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_project_domain_id",
+ "description": "admin_and_matching_project_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_project",
+ "description": "identity:get_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects",
+ "description": "identity:list_projects action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_user_projects",
+ "description": "identity:list_user_projects action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_project",
+ "description": "identity:create_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_project",
+ "description": "identity:update_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_project",
+ "description": "identity:delete_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_project_tag",
+ "description": "identity:create_project_tag action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_project_tag",
+ "description": "identity:delete_project_tag action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_project_tag",
+ "description": "identity:get_project_tag action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_project_tags",
+ "description": "identity:list_project_tags action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_project_tags",
+ "description": "identity:delete_project_tags action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_project_tags",
+ "description": "identity:update_project_tags action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_target_user_domain_id",
+ "description": "admin_and_matching_target_user_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_user_domain_id",
+ "description": "admin_and_matching_user_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_user",
+ "description": "identity:get_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_users",
+ "description": "identity:list_users action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_user",
+ "description": "identity:create_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_user",
+ "description": "identity:update_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_user",
+ "description": "identity:delete_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_target_group_domain_id",
+ "description": "admin_and_matching_target_group_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_group_domain_id",
+ "description": "admin_and_matching_group_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_group",
+ "description": "identity:get_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_groups",
+ "description": "identity:list_groups action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_groups_for_user",
+ "description": "identity:list_groups_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_group",
+ "description": "identity:create_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_group",
+ "description": "identity:update_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_group",
+ "description": "identity:delete_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_users_in_group",
+ "description": "identity:list_users_in_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:remove_user_from_group",
+ "description": "identity:remove_user_from_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_user_in_group",
+ "description": "identity:check_user_in_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:add_user_to_group",
+ "description": "identity:add_user_to_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_credential",
+ "description": "identity:get_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_credentials",
+ "description": "identity:list_credentials action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_credential",
+ "description": "identity:create_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_credential",
+ "description": "identity:update_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_credential",
+ "description": "identity:delete_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_get_credential",
+ "description": "identity:ec2_get_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_list_credentials",
+ "description": "identity:ec2_list_credentials action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_create_credential",
+ "description": "identity:ec2_create_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:ec2_delete_credential",
+ "description": "identity:ec2_delete_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_role",
+ "description": "identity:get_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_roles",
+ "description": "identity:list_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_role",
+ "description": "identity:create_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_role",
+ "description": "identity:update_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_role",
+ "description": "identity:delete_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain_role",
+ "description": "identity:get_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_domain_roles",
+ "description": "identity:list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_domain_role",
+ "description": "identity:create_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_domain_role",
+ "description": "identity:update_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_domain_role",
+ "description": "identity:delete_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_matches_domain_role",
+ "description": "domain_admin_matches_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "get_domain_roles",
+ "description": "get_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_matches_target_domain_role",
+ "description": "domain_admin_matches_target_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_matches_target_domain_role",
+ "description": "project_admin_matches_target_domain_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "list_domain_roles",
+ "description": "list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles",
+ "description": "domain_admin_matches_filter_on_list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles",
+ "description": "project_admin_matches_filter_on_list_domain_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_and_matching_prior_role_domain_id",
+ "description": "admin_and_matching_prior_role_domain_id action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global",
+ "description": "implied_role_matches_prior_role_domain_or_global action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_implied_role",
+ "description": "identity:get_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_implied_roles",
+ "description": "identity:list_implied_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_implied_role",
+ "description": "identity:create_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_implied_role",
+ "description": "identity:delete_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_role_inference_rules",
+ "description": "identity:list_role_inference_rules action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_implied_role",
+ "description": "identity:check_implied_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_system_grants_for_user",
+ "description": "identity:list_system_grants_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_system_grant_for_user",
+ "description": "identity:check_system_grant_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_system_grant_for_user",
+ "description": "identity:create_system_grant_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_system_grant_for_user",
+ "description": "identity:revoke_system_grant_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_system_grants_for_group",
+ "description": "identity:list_system_grants_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_system_grant_for_group",
+ "description": "identity:check_system_grant_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_system_grant_for_group",
+ "description": "identity:create_system_grant_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_system_grant_for_group",
+ "description": "identity:revoke_system_grant_for_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_grant",
+ "description": "identity:check_grant action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_grants",
+ "description": "identity:list_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_grant",
+ "description": "identity:create_grant action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_grant",
+ "description": "identity:revoke_grant action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_grants",
+ "description": "domain_admin_for_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_global_role_grants",
+ "description": "domain_admin_for_global_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_domain_role_grants",
+ "description": "domain_admin_for_domain_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_grant_match",
+ "description": "domain_admin_grant_match action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_grants",
+ "description": "project_admin_for_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_global_role_grants",
+ "description": "project_admin_for_global_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_domain_role_grants",
+ "description": "project_admin_for_domain_role_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "domain_admin_for_list_grants",
+ "description": "domain_admin_for_list_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "project_admin_for_list_grants",
+ "description": "project_admin_for_list_grants action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_on_domain_filter",
+ "description": "admin_on_domain_filter action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_on_project_filter",
+ "description": "admin_on_project_filter action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "admin_on_domain_of_project_filter",
+ "description": "admin_on_domain_of_project_filter action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_role_assignments",
+ "description": "identity:list_role_assignments action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_role_assignments_for_tree",
+ "description": "identity:list_role_assignments_for_tree action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_policy",
+ "description": "identity:get_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_policies",
+ "description": "identity:list_policies action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy",
+ "description": "identity:create_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_policy",
+ "description": "identity:update_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy",
+ "description": "identity:delete_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_token",
+ "description": "identity:check_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:validate_token",
+ "description": "identity:validate_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:validate_token_head",
+ "description": "identity:validate_token_head action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revocation_list",
+ "description": "identity:revocation_list action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:revoke_token",
+ "description": "identity:revoke_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_trust",
+ "description": "identity:create_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_trusts",
+ "description": "identity:list_trusts action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_roles_for_trust",
+ "description": "identity:list_roles_for_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_role_for_trust",
+ "description": "identity:get_role_for_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_trust",
+ "description": "identity:delete_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_trust",
+ "description": "identity:get_trust action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_consumer",
+ "description": "identity:create_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_consumer",
+ "description": "identity:get_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_consumers",
+ "description": "identity:list_consumers action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_consumer",
+ "description": "identity:delete_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_consumer",
+ "description": "identity:update_consumer action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:authorize_request_token",
+ "description": "identity:authorize_request_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_access_token_roles",
+ "description": "identity:list_access_token_roles action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_access_token_role",
+ "description": "identity:get_access_token_role action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_access_tokens",
+ "description": "identity:list_access_tokens action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_access_token",
+ "description": "identity:get_access_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_access_token",
+ "description": "identity:delete_access_token action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects_for_endpoint",
+ "description": "identity:list_projects_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:add_endpoint_to_project",
+ "description": "identity:add_endpoint_to_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_endpoint_in_project",
+ "description": "identity:check_endpoint_in_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints_for_project",
+ "description": "identity:list_endpoints_for_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:remove_endpoint_from_project",
+ "description": "identity:remove_endpoint_from_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_endpoint_group",
+ "description": "identity:create_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoint_groups",
+ "description": "identity:list_endpoint_groups action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_endpoint_group",
+ "description": "identity:get_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_endpoint_group",
+ "description": "identity:update_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_endpoint_group",
+ "description": "identity:delete_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group",
+ "description": "identity:list_projects_associated_with_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group",
+ "description": "identity:list_endpoints_associated_with_endpoint_group action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_endpoint_group_in_project",
+ "description": "identity:get_endpoint_group_in_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoint_groups_for_project",
+ "description": "identity:list_endpoint_groups_for_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:add_endpoint_group_to_project",
+ "description": "identity:add_endpoint_group_to_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:remove_endpoint_group_from_project",
+ "description": "identity:remove_endpoint_group_from_project action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_identity_provider",
+ "description": "identity:create_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_identity_providers",
+ "description": "identity:list_identity_providers action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_identity_provider",
+ "description": "identity:get_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_identity_provider",
+ "description": "identity:update_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_identity_provider",
+ "description": "identity:delete_identity_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_protocol",
+ "description": "identity:create_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_protocol",
+ "description": "identity:update_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_protocol",
+ "description": "identity:get_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_protocols",
+ "description": "identity:list_protocols action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_protocol",
+ "description": "identity:delete_protocol action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_mapping",
+ "description": "identity:create_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_mapping",
+ "description": "identity:get_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_mappings",
+ "description": "identity:list_mappings action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_mapping",
+ "description": "identity:delete_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_mapping",
+ "description": "identity:update_mapping action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_service_provider",
+ "description": "identity:create_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_service_providers",
+ "description": "identity:list_service_providers action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_service_provider",
+ "description": "identity:get_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_service_provider",
+ "description": "identity:update_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_service_provider",
+ "description": "identity:delete_service_provider action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_catalog",
+ "description": "identity:get_auth_catalog action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_projects",
+ "description": "identity:get_auth_projects action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_domains",
+ "description": "identity:get_auth_domains action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_auth_system",
+ "description": "identity:get_auth_system action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_projects_for_user",
+ "description": "identity:list_projects_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_domains_for_user",
+ "description": "identity:list_domains_for_user action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_revoke_events",
+ "description": "identity:list_revoke_events action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy_association_for_endpoint",
+ "description": "identity:create_policy_association_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_policy_association_for_endpoint",
+ "description": "identity:check_policy_association_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy_association_for_endpoint",
+ "description": "identity:delete_policy_association_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy_association_for_service",
+ "description": "identity:create_policy_association_for_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_policy_association_for_service",
+ "description": "identity:check_policy_association_for_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy_association_for_service",
+ "description": "identity:delete_policy_association_for_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_policy_association_for_region_and_service",
+ "description": "identity:create_policy_association_for_region_and_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:check_policy_association_for_region_and_service",
+ "description": "identity:check_policy_association_for_region_and_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_policy_association_for_region_and_service",
+ "description": "identity:delete_policy_association_for_region_and_service action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_policy_for_endpoint",
+ "description": "identity:get_policy_for_endpoint action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_endpoints_for_policy",
+ "description": "identity:list_endpoints_for_policy action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_domain_config",
+ "description": "identity:create_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain_config",
+ "description": "identity:get_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_security_compliance_domain_config",
+ "description": "identity:get_security_compliance_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:update_domain_config",
+ "description": "identity:update_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_domain_config",
+ "description": "identity:delete_domain_config action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_domain_config_default",
+ "description": "identity:get_domain_config_default action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:get_application_credential",
+ "description": "identity:get_application_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:list_application_credentials",
+ "description": "identity:list_application_credentials action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:create_application_credential",
+ "description": "identity:create_application_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "identity:delete_application_credential",
+ "description": "identity:delete_application_credential action for keystone",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {
+ "name": "identity:get_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_regions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_regions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_region"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_region"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_services"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_services"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_registered_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_registered_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_registered_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_registered_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_registered_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_registered_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_registered_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_registered_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_registered_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_registered_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_limit"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_limit"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_domains"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_domains"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_target_project_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_target_project_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_project_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_project_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_user_projects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_user_projects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_project_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_project_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_project_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_project_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_project_tag"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_project_tag"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_project_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_project_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_project_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_project_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_project_tags"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_project_tags"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_target_user_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_target_user_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_user_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_user_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_users"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_users"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_target_group_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_target_group_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_group_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_group_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_groups_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_groups_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_users_in_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_users_in_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:remove_user_from_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:remove_user_from_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_user_in_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_user_in_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:add_user_to_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:add_user_to_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_credentials"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_credentials"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_get_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_get_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_list_credentials"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_list_credentials"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_create_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_create_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:ec2_delete_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:ec2_delete_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_matches_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_matches_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "get_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "get_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_matches_target_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_matches_target_domain_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_matches_filter_on_list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_matches_filter_on_list_domain_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_and_matching_prior_role_domain_id"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_and_matching_prior_role_domain_id"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "implied_role_matches_prior_role_domain_or_global"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_implied_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_implied_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_role_inference_rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_role_inference_rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_implied_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_implied_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_system_grants_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_system_grants_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_system_grant_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_system_grant_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_system_grant_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_system_grant_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_system_grant_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_system_grant_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_system_grants_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_system_grants_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_system_grant_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_system_grant_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_system_grant_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_system_grant_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_system_grant_for_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_system_grant_for_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_grant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_grant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_grant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_grant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_grant"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_grant"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_global_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_global_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_domain_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_grant_match"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_grant_match"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_global_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_global_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_domain_role_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "domain_admin_for_list_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "domain_admin_for_list_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "project_admin_for_list_grants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "project_admin_for_list_grants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_on_domain_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_on_domain_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_on_project_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_on_project_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "admin_on_domain_of_project_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "admin_on_domain_of_project_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_role_assignments"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_role_assignments"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_role_assignments_for_tree"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_role_assignments_for_tree"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_policies"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_policies"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:validate_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:validate_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:validate_token_head"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:validate_token_head"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revocation_list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revocation_list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:revoke_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:revoke_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_trusts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_trusts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_roles_for_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_roles_for_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_role_for_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_role_for_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_trust"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_trust"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_consumers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_consumers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_consumer"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_consumer"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:authorize_request_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:authorize_request_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_access_token_roles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_access_token_roles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_access_token_role"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_access_token_role"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_access_tokens"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_access_tokens"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_access_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_access_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_access_token"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_access_token"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:add_endpoint_to_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:add_endpoint_to_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_endpoint_in_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_endpoint_in_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints_for_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints_for_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:remove_endpoint_from_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:remove_endpoint_from_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoint_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoint_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects_associated_with_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints_associated_with_endpoint_group"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_endpoint_group_in_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_endpoint_group_in_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoint_groups_for_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoint_groups_for_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:add_endpoint_group_to_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:add_endpoint_group_to_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:remove_endpoint_group_from_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:remove_endpoint_group_from_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_identity_providers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_identity_providers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_identity_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_identity_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_protocols"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_protocols"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_protocol"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_protocol"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_mappings"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_mappings"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_mapping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_mapping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_service_providers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_service_providers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_service_provider"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_service_provider"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_catalog"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_catalog"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_projects"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_projects"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_domains"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_domains"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_auth_system"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_auth_system"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_projects_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_projects_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_domains_for_user"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_domains_for_user"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_revoke_events"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_revoke_events"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy_association_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy_association_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_policy_association_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_policy_association_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy_association_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy_association_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy_association_for_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy_association_for_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_policy_association_for_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_policy_association_for_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy_association_for_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy_association_for_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_policy_association_for_region_and_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:check_policy_association_for_region_and_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:check_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_policy_association_for_region_and_service"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_policy_for_endpoint"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_policy_for_endpoint"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_endpoints_for_policy"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_endpoints_for_policy"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_security_compliance_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_security_compliance_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:update_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:update_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_domain_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_domain_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_domain_config_default"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_domain_config_default"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:get_application_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:get_application_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:list_application_credentials"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:list_application_credentials"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:create_application_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:create_application_credential"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "identity:delete_application_credential"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "identity:delete_application_credential"
+ }
+ ]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [
+ {
+ "name": "role"
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id"
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id"
+ }
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_regions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_region"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_services"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_registered_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_registered_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_registered_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_registered_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_registered_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_limit"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_domains"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_target_project_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_project_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_user_projects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_project_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_project_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_project_tag"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_project_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_project_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_project_tags"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_target_user_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_user_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_users"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_target_group_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_group_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_groups_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_users_in_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:remove_user_from_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_user_in_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:add_user_to_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_credentials"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_get_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_list_credentials"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_create_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:ec2_delete_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_matches_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "get_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_matches_target_domain_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_matches_filter_on_list_domain_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_and_matching_prior_role_domain_id"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "implied_role_matches_prior_role_domain_or_global"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_implied_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_role_inference_rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_implied_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_system_grants_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_system_grant_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_system_grant_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_system_grant_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_system_grants_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_system_grant_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_system_grant_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_system_grant_for_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_grant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_grant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_grant"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_global_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_grant_match"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_global_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_domain_role_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "domain_admin_for_list_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "project_admin_for_list_grants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_on_domain_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_on_project_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "admin_on_domain_of_project_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_role_assignments"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_role_assignments_for_tree"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_policies"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:validate_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:validate_token_head"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revocation_list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:revoke_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_trusts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_roles_for_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_role_for_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_trust"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_consumers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_consumer"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:authorize_request_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_access_token_roles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_access_token_role"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_access_tokens"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_access_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_access_token"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:add_endpoint_to_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_endpoint_in_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints_for_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:remove_endpoint_from_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoint_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects_associated_with_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints_associated_with_endpoint_group"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_endpoint_group_in_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoint_groups_for_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:add_endpoint_group_to_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:remove_endpoint_group_from_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_identity_providers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_identity_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_protocols"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_protocol"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_mappings"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_mapping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_service_providers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_service_provider"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_catalog"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_projects"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_domains"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_auth_system"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_projects_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_domains_for_user"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_revoke_events"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy_association_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_policy_association_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy_association_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy_association_for_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_policy_association_for_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy_association_for_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:check_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_policy_association_for_region_and_service"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_policy_for_endpoint"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_endpoints_for_policy"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_security_compliance_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:update_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_domain_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_domain_config_default"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:get_application_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:list_application_credentials"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:create_application_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "identity:delete_application_credential"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/opst_rbac_kg.json b/moon_engine/tests/func_policies/opst_rbac_kg.json
new file mode 100644
index 00000000..5fc27b8c
--- /dev/null
+++ b/moon_engine/tests/func_policies/opst_rbac_kg.json
@@ -0,0 +1 @@
+{"policies": [{"name": "OpenStack RBAC Policy", "genre": "authz", "description": "A RBAC policy similar of what you can find through policy.json files", "model": {"name": "OPST_RBAC"}, "mandatory": true, "override": true}], "models": [{"name": "OPST_RBAC", "description": "", "meta_rules": [{"name": "rbac"}], "override": true}], "subjects": [{"name": "admin", "description": "", "extra": {}, "policies": [{"name": "OpenStack RBAC Policy"}]}], "subject_categories": [{"name": "role", "description": "a role in OpenStack"}], "subject_data": [{"name": "admin", "description": "the admin role", "policies": [], "category": {"name": "role"}}, {"name": "member", "description": "the member role", "policies": [], "category": {"name": "role"}}], "subject_assignments": [{"subject": {"name": "admin"}, "category": {"name": "role"}, "assignments": [{"name": "admin"}, {"name": "member"}]}], "objects": [{"name": "all_vm", "description": "", "extra": {}, "policies": [{"name": "OpenStack RBAC Policy"}]}], "object_categories": [{"name": "id", "description": "the UID of each virtual machine"}], "object_data": [{"name": "all_vm", "description": "represents all virtual machines in this project", "policies": [], "category": {"name": "id"}}], "object_assignments": [{"object": {"name": "all_vm"}, "category": {"name": "id"}, "assignments": [{"name": "all_vm"}]}], "actions": [{"name": "add_image", "description": "add_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "delete_image", "description": "delete_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_image", "description": "get_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_images", "description": "get_images action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_image", "description": "modify_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "publicize_image", "description": "publicize_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "communitize_image", "description": "communitize_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "copy_from", "description": "copy_from action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "download_image", "description": "download_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "upload_image", "description": "upload_image action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "delete_image_location", "description": "delete_image_location action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_image_location", "description": "get_image_location action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "set_image_location", "description": "set_image_location action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_member", "description": "add_member action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "delete_member", "description": "delete_member action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_member", "description": "get_member action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_members", "description": "get_members action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_member", "description": "modify_member action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "manage_image_cache", "description": "manage_image_cache action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_task", "description": "get_task action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_tasks", "description": "get_tasks action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_task", "description": "add_task action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_task", "description": "modify_task action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "tasks_api_access", "description": "tasks_api_access action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "deactivate", "description": "deactivate action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "reactivate", "description": "reactivate action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_namespace", "description": "get_metadef_namespace action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_namespaces", "description": "get_metadef_namespaces action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_metadef_namespace", "description": "modify_metadef_namespace action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_metadef_namespace", "description": "add_metadef_namespace action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_object", "description": "get_metadef_object action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_objects", "description": "get_metadef_objects action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_metadef_object", "description": "modify_metadef_object action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_metadef_object", "description": "add_metadef_object action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "list_metadef_resource_types", "description": "list_metadef_resource_types action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_resource_type", "description": "get_metadef_resource_type action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_metadef_resource_type_association", "description": "add_metadef_resource_type_association action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_property", "description": "get_metadef_property action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_properties", "description": "get_metadef_properties action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_metadef_property", "description": "modify_metadef_property action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_metadef_property", "description": "add_metadef_property action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_tag", "description": "get_metadef_tag action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "get_metadef_tags", "description": "get_metadef_tags action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "modify_metadef_tag", "description": "modify_metadef_tag action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_metadef_tag", "description": "add_metadef_tag action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "add_metadef_tags", "description": "add_metadef_tags action for glance", "extra": {"component": "glance"}, "policies": []}, {"name": "identity:get_region", "description": "identity:get_region action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_regions", "description": "identity:list_regions action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_region", "description": "identity:create_region action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_region", "description": "identity:update_region action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_region", "description": "identity:delete_region action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_service", "description": "identity:get_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_services", "description": "identity:list_services action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_service", "description": "identity:create_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_service", "description": "identity:update_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_service", "description": "identity:delete_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_endpoint", "description": "identity:get_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_endpoints", "description": "identity:list_endpoints action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_endpoint", "description": "identity:create_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_endpoint", "description": "identity:update_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_endpoint", "description": "identity:delete_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_registered_limit", "description": "identity:get_registered_limit action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_registered_limits", "description": "identity:list_registered_limits action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_registered_limits", "description": "identity:create_registered_limits action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_registered_limits", "description": "identity:update_registered_limits action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_registered_limit", "description": "identity:delete_registered_limit action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_limit", "description": "identity:get_limit action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_limits", "description": "identity:list_limits action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_limits", "description": "identity:create_limits action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_limits", "description": "identity:update_limits action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_limit", "description": "identity:delete_limit action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_domain", "description": "identity:get_domain action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_domains", "description": "identity:list_domains action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_domain", "description": "identity:create_domain action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_domain", "description": "identity:update_domain action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_domain", "description": "identity:delete_domain action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_target_project_domain_id", "description": "admin_and_matching_target_project_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_project_domain_id", "description": "admin_and_matching_project_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_project", "description": "identity:get_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_projects", "description": "identity:list_projects action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_user_projects", "description": "identity:list_user_projects action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_project", "description": "identity:create_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_project", "description": "identity:update_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_project", "description": "identity:delete_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_project_tag", "description": "identity:create_project_tag action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_project_tag", "description": "identity:delete_project_tag action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_project_tag", "description": "identity:get_project_tag action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_project_tags", "description": "identity:list_project_tags action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_project_tags", "description": "identity:delete_project_tags action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_project_tags", "description": "identity:update_project_tags action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_target_user_domain_id", "description": "admin_and_matching_target_user_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_user_domain_id", "description": "admin_and_matching_user_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_user", "description": "identity:get_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_users", "description": "identity:list_users action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_user", "description": "identity:create_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_user", "description": "identity:update_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_user", "description": "identity:delete_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_target_group_domain_id", "description": "admin_and_matching_target_group_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_group_domain_id", "description": "admin_and_matching_group_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_group", "description": "identity:get_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_groups", "description": "identity:list_groups action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_groups_for_user", "description": "identity:list_groups_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_group", "description": "identity:create_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_group", "description": "identity:update_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_group", "description": "identity:delete_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_users_in_group", "description": "identity:list_users_in_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:remove_user_from_group", "description": "identity:remove_user_from_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_user_in_group", "description": "identity:check_user_in_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:add_user_to_group", "description": "identity:add_user_to_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_credential", "description": "identity:get_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_credentials", "description": "identity:list_credentials action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_credential", "description": "identity:create_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_credential", "description": "identity:update_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_credential", "description": "identity:delete_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:ec2_get_credential", "description": "identity:ec2_get_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:ec2_list_credentials", "description": "identity:ec2_list_credentials action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:ec2_create_credential", "description": "identity:ec2_create_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:ec2_delete_credential", "description": "identity:ec2_delete_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_role", "description": "identity:get_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_roles", "description": "identity:list_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_role", "description": "identity:create_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_role", "description": "identity:update_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_role", "description": "identity:delete_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_domain_role", "description": "identity:get_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_domain_roles", "description": "identity:list_domain_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_domain_role", "description": "identity:create_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_domain_role", "description": "identity:update_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_domain_role", "description": "identity:delete_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_matches_domain_role", "description": "domain_admin_matches_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "get_domain_roles", "description": "get_domain_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_matches_target_domain_role", "description": "domain_admin_matches_target_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "project_admin_matches_target_domain_role", "description": "project_admin_matches_target_domain_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "list_domain_roles", "description": "list_domain_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_matches_filter_on_list_domain_roles", "description": "domain_admin_matches_filter_on_list_domain_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "project_admin_matches_filter_on_list_domain_roles", "description": "project_admin_matches_filter_on_list_domain_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_and_matching_prior_role_domain_id", "description": "admin_and_matching_prior_role_domain_id action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "implied_role_matches_prior_role_domain_or_global", "description": "implied_role_matches_prior_role_domain_or_global action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_implied_role", "description": "identity:get_implied_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_implied_roles", "description": "identity:list_implied_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_implied_role", "description": "identity:create_implied_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_implied_role", "description": "identity:delete_implied_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_role_inference_rules", "description": "identity:list_role_inference_rules action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_implied_role", "description": "identity:check_implied_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_system_grants_for_user", "description": "identity:list_system_grants_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_system_grant_for_user", "description": "identity:check_system_grant_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_system_grant_for_user", "description": "identity:create_system_grant_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:revoke_system_grant_for_user", "description": "identity:revoke_system_grant_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_system_grants_for_group", "description": "identity:list_system_grants_for_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_system_grant_for_group", "description": "identity:check_system_grant_for_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_system_grant_for_group", "description": "identity:create_system_grant_for_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:revoke_system_grant_for_group", "description": "identity:revoke_system_grant_for_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_grant", "description": "identity:check_grant action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_grants", "description": "identity:list_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_grant", "description": "identity:create_grant action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:revoke_grant", "description": "identity:revoke_grant action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_for_grants", "description": "domain_admin_for_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_for_global_role_grants", "description": "domain_admin_for_global_role_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_for_domain_role_grants", "description": "domain_admin_for_domain_role_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_grant_match", "description": "domain_admin_grant_match action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "project_admin_for_grants", "description": "project_admin_for_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "project_admin_for_global_role_grants", "description": "project_admin_for_global_role_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "project_admin_for_domain_role_grants", "description": "project_admin_for_domain_role_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "domain_admin_for_list_grants", "description": "domain_admin_for_list_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "project_admin_for_list_grants", "description": "project_admin_for_list_grants action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_on_domain_filter", "description": "admin_on_domain_filter action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_on_project_filter", "description": "admin_on_project_filter action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "admin_on_domain_of_project_filter", "description": "admin_on_domain_of_project_filter action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_role_assignments", "description": "identity:list_role_assignments action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_role_assignments_for_tree", "description": "identity:list_role_assignments_for_tree action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_policy", "description": "identity:get_policy action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_policies", "description": "identity:list_policies action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_policy", "description": "identity:create_policy action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_policy", "description": "identity:update_policy action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_policy", "description": "identity:delete_policy action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_token", "description": "identity:check_token action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:validate_token", "description": "identity:validate_token action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:validate_token_head", "description": "identity:validate_token_head action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:revocation_list", "description": "identity:revocation_list action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:revoke_token", "description": "identity:revoke_token action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_trust", "description": "identity:create_trust action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_trusts", "description": "identity:list_trusts action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_roles_for_trust", "description": "identity:list_roles_for_trust action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_role_for_trust", "description": "identity:get_role_for_trust action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_trust", "description": "identity:delete_trust action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_trust", "description": "identity:get_trust action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_consumer", "description": "identity:create_consumer action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_consumer", "description": "identity:get_consumer action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_consumers", "description": "identity:list_consumers action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_consumer", "description": "identity:delete_consumer action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_consumer", "description": "identity:update_consumer action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:authorize_request_token", "description": "identity:authorize_request_token action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_access_token_roles", "description": "identity:list_access_token_roles action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_access_token_role", "description": "identity:get_access_token_role action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_access_tokens", "description": "identity:list_access_tokens action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_access_token", "description": "identity:get_access_token action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_access_token", "description": "identity:delete_access_token action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_projects_for_endpoint", "description": "identity:list_projects_for_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:add_endpoint_to_project", "description": "identity:add_endpoint_to_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_endpoint_in_project", "description": "identity:check_endpoint_in_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_endpoints_for_project", "description": "identity:list_endpoints_for_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:remove_endpoint_from_project", "description": "identity:remove_endpoint_from_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_endpoint_group", "description": "identity:create_endpoint_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_endpoint_groups", "description": "identity:list_endpoint_groups action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_endpoint_group", "description": "identity:get_endpoint_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_endpoint_group", "description": "identity:update_endpoint_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_endpoint_group", "description": "identity:delete_endpoint_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_projects_associated_with_endpoint_group", "description": "identity:list_projects_associated_with_endpoint_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_endpoints_associated_with_endpoint_group", "description": "identity:list_endpoints_associated_with_endpoint_group action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_endpoint_group_in_project", "description": "identity:get_endpoint_group_in_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_endpoint_groups_for_project", "description": "identity:list_endpoint_groups_for_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:add_endpoint_group_to_project", "description": "identity:add_endpoint_group_to_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:remove_endpoint_group_from_project", "description": "identity:remove_endpoint_group_from_project action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_identity_provider", "description": "identity:create_identity_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_identity_providers", "description": "identity:list_identity_providers action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_identity_provider", "description": "identity:get_identity_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_identity_provider", "description": "identity:update_identity_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_identity_provider", "description": "identity:delete_identity_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_protocol", "description": "identity:create_protocol action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_protocol", "description": "identity:update_protocol action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_protocol", "description": "identity:get_protocol action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_protocols", "description": "identity:list_protocols action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_protocol", "description": "identity:delete_protocol action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_mapping", "description": "identity:create_mapping action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_mapping", "description": "identity:get_mapping action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_mappings", "description": "identity:list_mappings action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_mapping", "description": "identity:delete_mapping action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_mapping", "description": "identity:update_mapping action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_service_provider", "description": "identity:create_service_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_service_providers", "description": "identity:list_service_providers action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_service_provider", "description": "identity:get_service_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_service_provider", "description": "identity:update_service_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_service_provider", "description": "identity:delete_service_provider action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_auth_catalog", "description": "identity:get_auth_catalog action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_auth_projects", "description": "identity:get_auth_projects action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_auth_domains", "description": "identity:get_auth_domains action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_auth_system", "description": "identity:get_auth_system action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_projects_for_user", "description": "identity:list_projects_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_domains_for_user", "description": "identity:list_domains_for_user action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_revoke_events", "description": "identity:list_revoke_events action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_policy_association_for_endpoint", "description": "identity:create_policy_association_for_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_policy_association_for_endpoint", "description": "identity:check_policy_association_for_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_policy_association_for_endpoint", "description": "identity:delete_policy_association_for_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_policy_association_for_service", "description": "identity:create_policy_association_for_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_policy_association_for_service", "description": "identity:check_policy_association_for_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_policy_association_for_service", "description": "identity:delete_policy_association_for_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_policy_association_for_region_and_service", "description": "identity:create_policy_association_for_region_and_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:check_policy_association_for_region_and_service", "description": "identity:check_policy_association_for_region_and_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_policy_association_for_region_and_service", "description": "identity:delete_policy_association_for_region_and_service action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_policy_for_endpoint", "description": "identity:get_policy_for_endpoint action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_endpoints_for_policy", "description": "identity:list_endpoints_for_policy action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_domain_config", "description": "identity:create_domain_config action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_domain_config", "description": "identity:get_domain_config action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_security_compliance_domain_config", "description": "identity:get_security_compliance_domain_config action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:update_domain_config", "description": "identity:update_domain_config action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_domain_config", "description": "identity:delete_domain_config action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_domain_config_default", "description": "identity:get_domain_config_default action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:get_application_credential", "description": "identity:get_application_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:list_application_credentials", "description": "identity:list_application_credentials action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:create_application_credential", "description": "identity:create_application_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}, {"name": "identity:delete_application_credential", "description": "identity:delete_application_credential action for keystone", "extra": {"component": "keystone"}, "policies": []}], "action_categories": [{"name": "action_id", "description": ""}], "action_data": [{"name": "add_image", "description": "add_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "delete_image", "description": "delete_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_image", "description": "get_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_images", "description": "get_images action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_image", "description": "modify_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "publicize_image", "description": "publicize_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "communitize_image", "description": "communitize_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "copy_from", "description": "copy_from action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "download_image", "description": "download_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "upload_image", "description": "upload_image action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "delete_image_location", "description": "delete_image_location action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_image_location", "description": "get_image_location action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "set_image_location", "description": "set_image_location action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_member", "description": "add_member action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "delete_member", "description": "delete_member action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_member", "description": "get_member action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_members", "description": "get_members action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_member", "description": "modify_member action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "manage_image_cache", "description": "manage_image_cache action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_task", "description": "get_task action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_tasks", "description": "get_tasks action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_task", "description": "add_task action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_task", "description": "modify_task action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "tasks_api_access", "description": "tasks_api_access action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "deactivate", "description": "deactivate action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "reactivate", "description": "reactivate action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_namespace", "description": "get_metadef_namespace action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_namespaces", "description": "get_metadef_namespaces action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_metadef_namespace", "description": "modify_metadef_namespace action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_metadef_namespace", "description": "add_metadef_namespace action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_object", "description": "get_metadef_object action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_objects", "description": "get_metadef_objects action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_metadef_object", "description": "modify_metadef_object action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_metadef_object", "description": "add_metadef_object action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "list_metadef_resource_types", "description": "list_metadef_resource_types action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_resource_type", "description": "get_metadef_resource_type action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_metadef_resource_type_association", "description": "add_metadef_resource_type_association action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_property", "description": "get_metadef_property action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_properties", "description": "get_metadef_properties action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_metadef_property", "description": "modify_metadef_property action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_metadef_property", "description": "add_metadef_property action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_tag", "description": "get_metadef_tag action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "get_metadef_tags", "description": "get_metadef_tags action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "modify_metadef_tag", "description": "modify_metadef_tag action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_metadef_tag", "description": "add_metadef_tag action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "add_metadef_tags", "description": "add_metadef_tags action for glance", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_region", "description": "identity:get_region action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_regions", "description": "identity:list_regions action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_region", "description": "identity:create_region action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_region", "description": "identity:update_region action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_region", "description": "identity:delete_region action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_service", "description": "identity:get_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_services", "description": "identity:list_services action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_service", "description": "identity:create_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_service", "description": "identity:update_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_service", "description": "identity:delete_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_endpoint", "description": "identity:get_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_endpoints", "description": "identity:list_endpoints action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_endpoint", "description": "identity:create_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_endpoint", "description": "identity:update_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_endpoint", "description": "identity:delete_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_registered_limit", "description": "identity:get_registered_limit action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_registered_limits", "description": "identity:list_registered_limits action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_registered_limits", "description": "identity:create_registered_limits action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_registered_limits", "description": "identity:update_registered_limits action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_registered_limit", "description": "identity:delete_registered_limit action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_limit", "description": "identity:get_limit action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_limits", "description": "identity:list_limits action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_limits", "description": "identity:create_limits action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_limits", "description": "identity:update_limits action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_limit", "description": "identity:delete_limit action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_domain", "description": "identity:get_domain action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_domains", "description": "identity:list_domains action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_domain", "description": "identity:create_domain action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_domain", "description": "identity:update_domain action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_domain", "description": "identity:delete_domain action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_target_project_domain_id", "description": "admin_and_matching_target_project_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_project_domain_id", "description": "admin_and_matching_project_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_project", "description": "identity:get_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_projects", "description": "identity:list_projects action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_user_projects", "description": "identity:list_user_projects action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_project", "description": "identity:create_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_project", "description": "identity:update_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_project", "description": "identity:delete_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_project_tag", "description": "identity:create_project_tag action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_project_tag", "description": "identity:delete_project_tag action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_project_tag", "description": "identity:get_project_tag action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_project_tags", "description": "identity:list_project_tags action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_project_tags", "description": "identity:delete_project_tags action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_project_tags", "description": "identity:update_project_tags action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_target_user_domain_id", "description": "admin_and_matching_target_user_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_user_domain_id", "description": "admin_and_matching_user_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_user", "description": "identity:get_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_users", "description": "identity:list_users action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_user", "description": "identity:create_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_user", "description": "identity:update_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_user", "description": "identity:delete_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_target_group_domain_id", "description": "admin_and_matching_target_group_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_group_domain_id", "description": "admin_and_matching_group_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_group", "description": "identity:get_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_groups", "description": "identity:list_groups action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_groups_for_user", "description": "identity:list_groups_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_group", "description": "identity:create_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_group", "description": "identity:update_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_group", "description": "identity:delete_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_users_in_group", "description": "identity:list_users_in_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:remove_user_from_group", "description": "identity:remove_user_from_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_user_in_group", "description": "identity:check_user_in_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:add_user_to_group", "description": "identity:add_user_to_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_credential", "description": "identity:get_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_credentials", "description": "identity:list_credentials action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_credential", "description": "identity:create_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_credential", "description": "identity:update_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_credential", "description": "identity:delete_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:ec2_get_credential", "description": "identity:ec2_get_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:ec2_list_credentials", "description": "identity:ec2_list_credentials action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:ec2_create_credential", "description": "identity:ec2_create_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:ec2_delete_credential", "description": "identity:ec2_delete_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_role", "description": "identity:get_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_roles", "description": "identity:list_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_role", "description": "identity:create_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_role", "description": "identity:update_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_role", "description": "identity:delete_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_domain_role", "description": "identity:get_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_domain_roles", "description": "identity:list_domain_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_domain_role", "description": "identity:create_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_domain_role", "description": "identity:update_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_domain_role", "description": "identity:delete_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_matches_domain_role", "description": "domain_admin_matches_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "get_domain_roles", "description": "get_domain_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_matches_target_domain_role", "description": "domain_admin_matches_target_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "project_admin_matches_target_domain_role", "description": "project_admin_matches_target_domain_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "list_domain_roles", "description": "list_domain_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_matches_filter_on_list_domain_roles", "description": "domain_admin_matches_filter_on_list_domain_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "project_admin_matches_filter_on_list_domain_roles", "description": "project_admin_matches_filter_on_list_domain_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_and_matching_prior_role_domain_id", "description": "admin_and_matching_prior_role_domain_id action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "implied_role_matches_prior_role_domain_or_global", "description": "implied_role_matches_prior_role_domain_or_global action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_implied_role", "description": "identity:get_implied_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_implied_roles", "description": "identity:list_implied_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_implied_role", "description": "identity:create_implied_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_implied_role", "description": "identity:delete_implied_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_role_inference_rules", "description": "identity:list_role_inference_rules action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_implied_role", "description": "identity:check_implied_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_system_grants_for_user", "description": "identity:list_system_grants_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_system_grant_for_user", "description": "identity:check_system_grant_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_system_grant_for_user", "description": "identity:create_system_grant_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:revoke_system_grant_for_user", "description": "identity:revoke_system_grant_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_system_grants_for_group", "description": "identity:list_system_grants_for_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_system_grant_for_group", "description": "identity:check_system_grant_for_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_system_grant_for_group", "description": "identity:create_system_grant_for_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:revoke_system_grant_for_group", "description": "identity:revoke_system_grant_for_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_grant", "description": "identity:check_grant action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_grants", "description": "identity:list_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_grant", "description": "identity:create_grant action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:revoke_grant", "description": "identity:revoke_grant action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_for_grants", "description": "domain_admin_for_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_for_global_role_grants", "description": "domain_admin_for_global_role_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_for_domain_role_grants", "description": "domain_admin_for_domain_role_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_grant_match", "description": "domain_admin_grant_match action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "project_admin_for_grants", "description": "project_admin_for_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "project_admin_for_global_role_grants", "description": "project_admin_for_global_role_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "project_admin_for_domain_role_grants", "description": "project_admin_for_domain_role_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "domain_admin_for_list_grants", "description": "domain_admin_for_list_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "project_admin_for_list_grants", "description": "project_admin_for_list_grants action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_on_domain_filter", "description": "admin_on_domain_filter action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_on_project_filter", "description": "admin_on_project_filter action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "admin_on_domain_of_project_filter", "description": "admin_on_domain_of_project_filter action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_role_assignments", "description": "identity:list_role_assignments action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_role_assignments_for_tree", "description": "identity:list_role_assignments_for_tree action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_policy", "description": "identity:get_policy action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_policies", "description": "identity:list_policies action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_policy", "description": "identity:create_policy action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_policy", "description": "identity:update_policy action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_policy", "description": "identity:delete_policy action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_token", "description": "identity:check_token action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:validate_token", "description": "identity:validate_token action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:validate_token_head", "description": "identity:validate_token_head action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:revocation_list", "description": "identity:revocation_list action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:revoke_token", "description": "identity:revoke_token action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_trust", "description": "identity:create_trust action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_trusts", "description": "identity:list_trusts action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_roles_for_trust", "description": "identity:list_roles_for_trust action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_role_for_trust", "description": "identity:get_role_for_trust action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_trust", "description": "identity:delete_trust action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_trust", "description": "identity:get_trust action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_consumer", "description": "identity:create_consumer action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_consumer", "description": "identity:get_consumer action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_consumers", "description": "identity:list_consumers action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_consumer", "description": "identity:delete_consumer action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_consumer", "description": "identity:update_consumer action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:authorize_request_token", "description": "identity:authorize_request_token action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_access_token_roles", "description": "identity:list_access_token_roles action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_access_token_role", "description": "identity:get_access_token_role action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_access_tokens", "description": "identity:list_access_tokens action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_access_token", "description": "identity:get_access_token action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_access_token", "description": "identity:delete_access_token action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_projects_for_endpoint", "description": "identity:list_projects_for_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:add_endpoint_to_project", "description": "identity:add_endpoint_to_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_endpoint_in_project", "description": "identity:check_endpoint_in_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_endpoints_for_project", "description": "identity:list_endpoints_for_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:remove_endpoint_from_project", "description": "identity:remove_endpoint_from_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_endpoint_group", "description": "identity:create_endpoint_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_endpoint_groups", "description": "identity:list_endpoint_groups action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_endpoint_group", "description": "identity:get_endpoint_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_endpoint_group", "description": "identity:update_endpoint_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_endpoint_group", "description": "identity:delete_endpoint_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_projects_associated_with_endpoint_group", "description": "identity:list_projects_associated_with_endpoint_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_endpoints_associated_with_endpoint_group", "description": "identity:list_endpoints_associated_with_endpoint_group action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_endpoint_group_in_project", "description": "identity:get_endpoint_group_in_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_endpoint_groups_for_project", "description": "identity:list_endpoint_groups_for_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:add_endpoint_group_to_project", "description": "identity:add_endpoint_group_to_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:remove_endpoint_group_from_project", "description": "identity:remove_endpoint_group_from_project action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_identity_provider", "description": "identity:create_identity_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_identity_providers", "description": "identity:list_identity_providers action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_identity_provider", "description": "identity:get_identity_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_identity_provider", "description": "identity:update_identity_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_identity_provider", "description": "identity:delete_identity_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_protocol", "description": "identity:create_protocol action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_protocol", "description": "identity:update_protocol action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_protocol", "description": "identity:get_protocol action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_protocols", "description": "identity:list_protocols action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_protocol", "description": "identity:delete_protocol action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_mapping", "description": "identity:create_mapping action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_mapping", "description": "identity:get_mapping action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_mappings", "description": "identity:list_mappings action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_mapping", "description": "identity:delete_mapping action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_mapping", "description": "identity:update_mapping action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_service_provider", "description": "identity:create_service_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_service_providers", "description": "identity:list_service_providers action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_service_provider", "description": "identity:get_service_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_service_provider", "description": "identity:update_service_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_service_provider", "description": "identity:delete_service_provider action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_auth_catalog", "description": "identity:get_auth_catalog action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_auth_projects", "description": "identity:get_auth_projects action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_auth_domains", "description": "identity:get_auth_domains action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_auth_system", "description": "identity:get_auth_system action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_projects_for_user", "description": "identity:list_projects_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_domains_for_user", "description": "identity:list_domains_for_user action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_revoke_events", "description": "identity:list_revoke_events action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_policy_association_for_endpoint", "description": "identity:create_policy_association_for_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_policy_association_for_endpoint", "description": "identity:check_policy_association_for_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_policy_association_for_endpoint", "description": "identity:delete_policy_association_for_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_policy_association_for_service", "description": "identity:create_policy_association_for_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_policy_association_for_service", "description": "identity:check_policy_association_for_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_policy_association_for_service", "description": "identity:delete_policy_association_for_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_policy_association_for_region_and_service", "description": "identity:create_policy_association_for_region_and_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:check_policy_association_for_region_and_service", "description": "identity:check_policy_association_for_region_and_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_policy_association_for_region_and_service", "description": "identity:delete_policy_association_for_region_and_service action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_policy_for_endpoint", "description": "identity:get_policy_for_endpoint action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_endpoints_for_policy", "description": "identity:list_endpoints_for_policy action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_domain_config", "description": "identity:create_domain_config action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_domain_config", "description": "identity:get_domain_config action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_security_compliance_domain_config", "description": "identity:get_security_compliance_domain_config action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:update_domain_config", "description": "identity:update_domain_config action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_domain_config", "description": "identity:delete_domain_config action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_domain_config_default", "description": "identity:get_domain_config_default action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:get_application_credential", "description": "identity:get_application_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:list_application_credentials", "description": "identity:list_application_credentials action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:create_application_credential", "description": "identity:create_application_credential action for keystone", "policies": [], "category": {"name": "action_id"}}, {"name": "identity:delete_application_credential", "description": "identity:delete_application_credential action for keystone", "policies": [], "category": {"name": "action_id"}}], "action_assignments": [{"action": {"name": "add_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_image"}]}, {"action": {"name": "delete_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "delete_image"}]}, {"action": {"name": "get_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_image"}]}, {"action": {"name": "get_images"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_images"}]}, {"action": {"name": "modify_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_image"}]}, {"action": {"name": "publicize_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "publicize_image"}]}, {"action": {"name": "communitize_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "communitize_image"}]}, {"action": {"name": "copy_from"}, "category": {"name": "action_id"}, "assignments": [{"name": "copy_from"}]}, {"action": {"name": "download_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "download_image"}]}, {"action": {"name": "upload_image"}, "category": {"name": "action_id"}, "assignments": [{"name": "upload_image"}]}, {"action": {"name": "delete_image_location"}, "category": {"name": "action_id"}, "assignments": [{"name": "delete_image_location"}]}, {"action": {"name": "get_image_location"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_image_location"}]}, {"action": {"name": "set_image_location"}, "category": {"name": "action_id"}, "assignments": [{"name": "set_image_location"}]}, {"action": {"name": "add_member"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_member"}]}, {"action": {"name": "delete_member"}, "category": {"name": "action_id"}, "assignments": [{"name": "delete_member"}]}, {"action": {"name": "get_member"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_member"}]}, {"action": {"name": "get_members"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_members"}]}, {"action": {"name": "modify_member"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_member"}]}, {"action": {"name": "manage_image_cache"}, "category": {"name": "action_id"}, "assignments": [{"name": "manage_image_cache"}]}, {"action": {"name": "get_task"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_task"}]}, {"action": {"name": "get_tasks"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_tasks"}]}, {"action": {"name": "add_task"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_task"}]}, {"action": {"name": "modify_task"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_task"}]}, {"action": {"name": "tasks_api_access"}, "category": {"name": "action_id"}, "assignments": [{"name": "tasks_api_access"}]}, {"action": {"name": "deactivate"}, "category": {"name": "action_id"}, "assignments": [{"name": "deactivate"}]}, {"action": {"name": "reactivate"}, "category": {"name": "action_id"}, "assignments": [{"name": "reactivate"}]}, {"action": {"name": "get_metadef_namespace"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_namespace"}]}, {"action": {"name": "get_metadef_namespaces"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_namespaces"}]}, {"action": {"name": "modify_metadef_namespace"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_metadef_namespace"}]}, {"action": {"name": "add_metadef_namespace"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_metadef_namespace"}]}, {"action": {"name": "get_metadef_object"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_object"}]}, {"action": {"name": "get_metadef_objects"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_objects"}]}, {"action": {"name": "modify_metadef_object"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_metadef_object"}]}, {"action": {"name": "add_metadef_object"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_metadef_object"}]}, {"action": {"name": "list_metadef_resource_types"}, "category": {"name": "action_id"}, "assignments": [{"name": "list_metadef_resource_types"}]}, {"action": {"name": "get_metadef_resource_type"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_resource_type"}]}, {"action": {"name": "add_metadef_resource_type_association"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_metadef_resource_type_association"}]}, {"action": {"name": "get_metadef_property"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_property"}]}, {"action": {"name": "get_metadef_properties"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_properties"}]}, {"action": {"name": "modify_metadef_property"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_metadef_property"}]}, {"action": {"name": "add_metadef_property"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_metadef_property"}]}, {"action": {"name": "get_metadef_tag"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_tag"}]}, {"action": {"name": "get_metadef_tags"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_metadef_tags"}]}, {"action": {"name": "modify_metadef_tag"}, "category": {"name": "action_id"}, "assignments": [{"name": "modify_metadef_tag"}]}, {"action": {"name": "add_metadef_tag"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_metadef_tag"}]}, {"action": {"name": "add_metadef_tags"}, "category": {"name": "action_id"}, "assignments": [{"name": "add_metadef_tags"}]}, {"action": {"name": "identity:get_region"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_region"}]}, {"action": {"name": "identity:list_regions"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_regions"}]}, {"action": {"name": "identity:create_region"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_region"}]}, {"action": {"name": "identity:update_region"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_region"}]}, {"action": {"name": "identity:delete_region"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_region"}]}, {"action": {"name": "identity:get_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_service"}]}, {"action": {"name": "identity:list_services"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_services"}]}, {"action": {"name": "identity:create_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_service"}]}, {"action": {"name": "identity:update_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_service"}]}, {"action": {"name": "identity:delete_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_service"}]}, {"action": {"name": "identity:get_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_endpoint"}]}, {"action": {"name": "identity:list_endpoints"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_endpoints"}]}, {"action": {"name": "identity:create_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_endpoint"}]}, {"action": {"name": "identity:update_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_endpoint"}]}, {"action": {"name": "identity:delete_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_endpoint"}]}, {"action": {"name": "identity:get_registered_limit"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_registered_limit"}]}, {"action": {"name": "identity:list_registered_limits"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_registered_limits"}]}, {"action": {"name": "identity:create_registered_limits"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_registered_limits"}]}, {"action": {"name": "identity:update_registered_limits"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_registered_limits"}]}, {"action": {"name": "identity:delete_registered_limit"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_registered_limit"}]}, {"action": {"name": "identity:get_limit"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_limit"}]}, {"action": {"name": "identity:list_limits"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_limits"}]}, {"action": {"name": "identity:create_limits"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_limits"}]}, {"action": {"name": "identity:update_limits"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_limits"}]}, {"action": {"name": "identity:delete_limit"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_limit"}]}, {"action": {"name": "identity:get_domain"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_domain"}]}, {"action": {"name": "identity:list_domains"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_domains"}]}, {"action": {"name": "identity:create_domain"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_domain"}]}, {"action": {"name": "identity:update_domain"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_domain"}]}, {"action": {"name": "identity:delete_domain"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_domain"}]}, {"action": {"name": "admin_and_matching_target_project_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_target_project_domain_id"}]}, {"action": {"name": "admin_and_matching_project_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_project_domain_id"}]}, {"action": {"name": "identity:get_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_project"}]}, {"action": {"name": "identity:list_projects"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_projects"}]}, {"action": {"name": "identity:list_user_projects"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_user_projects"}]}, {"action": {"name": "identity:create_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_project"}]}, {"action": {"name": "identity:update_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_project"}]}, {"action": {"name": "identity:delete_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_project"}]}, {"action": {"name": "identity:create_project_tag"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_project_tag"}]}, {"action": {"name": "identity:delete_project_tag"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_project_tag"}]}, {"action": {"name": "identity:get_project_tag"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_project_tag"}]}, {"action": {"name": "identity:list_project_tags"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_project_tags"}]}, {"action": {"name": "identity:delete_project_tags"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_project_tags"}]}, {"action": {"name": "identity:update_project_tags"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_project_tags"}]}, {"action": {"name": "admin_and_matching_target_user_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_target_user_domain_id"}]}, {"action": {"name": "admin_and_matching_user_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_user_domain_id"}]}, {"action": {"name": "identity:get_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_user"}]}, {"action": {"name": "identity:list_users"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_users"}]}, {"action": {"name": "identity:create_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_user"}]}, {"action": {"name": "identity:update_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_user"}]}, {"action": {"name": "identity:delete_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_user"}]}, {"action": {"name": "admin_and_matching_target_group_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_target_group_domain_id"}]}, {"action": {"name": "admin_and_matching_group_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_group_domain_id"}]}, {"action": {"name": "identity:get_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_group"}]}, {"action": {"name": "identity:list_groups"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_groups"}]}, {"action": {"name": "identity:list_groups_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_groups_for_user"}]}, {"action": {"name": "identity:create_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_group"}]}, {"action": {"name": "identity:update_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_group"}]}, {"action": {"name": "identity:delete_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_group"}]}, {"action": {"name": "identity:list_users_in_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_users_in_group"}]}, {"action": {"name": "identity:remove_user_from_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:remove_user_from_group"}]}, {"action": {"name": "identity:check_user_in_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_user_in_group"}]}, {"action": {"name": "identity:add_user_to_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:add_user_to_group"}]}, {"action": {"name": "identity:get_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_credential"}]}, {"action": {"name": "identity:list_credentials"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_credentials"}]}, {"action": {"name": "identity:create_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_credential"}]}, {"action": {"name": "identity:update_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_credential"}]}, {"action": {"name": "identity:delete_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_credential"}]}, {"action": {"name": "identity:ec2_get_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:ec2_get_credential"}]}, {"action": {"name": "identity:ec2_list_credentials"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:ec2_list_credentials"}]}, {"action": {"name": "identity:ec2_create_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:ec2_create_credential"}]}, {"action": {"name": "identity:ec2_delete_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:ec2_delete_credential"}]}, {"action": {"name": "identity:get_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_role"}]}, {"action": {"name": "identity:list_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_roles"}]}, {"action": {"name": "identity:create_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_role"}]}, {"action": {"name": "identity:update_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_role"}]}, {"action": {"name": "identity:delete_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_role"}]}, {"action": {"name": "identity:get_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_domain_role"}]}, {"action": {"name": "identity:list_domain_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_domain_roles"}]}, {"action": {"name": "identity:create_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_domain_role"}]}, {"action": {"name": "identity:update_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_domain_role"}]}, {"action": {"name": "identity:delete_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_domain_role"}]}, {"action": {"name": "domain_admin_matches_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_matches_domain_role"}]}, {"action": {"name": "get_domain_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "get_domain_roles"}]}, {"action": {"name": "domain_admin_matches_target_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_matches_target_domain_role"}]}, {"action": {"name": "project_admin_matches_target_domain_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "project_admin_matches_target_domain_role"}]}, {"action": {"name": "list_domain_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "list_domain_roles"}]}, {"action": {"name": "domain_admin_matches_filter_on_list_domain_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_matches_filter_on_list_domain_roles"}]}, {"action": {"name": "project_admin_matches_filter_on_list_domain_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "project_admin_matches_filter_on_list_domain_roles"}]}, {"action": {"name": "admin_and_matching_prior_role_domain_id"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_and_matching_prior_role_domain_id"}]}, {"action": {"name": "implied_role_matches_prior_role_domain_or_global"}, "category": {"name": "action_id"}, "assignments": [{"name": "implied_role_matches_prior_role_domain_or_global"}]}, {"action": {"name": "identity:get_implied_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_implied_role"}]}, {"action": {"name": "identity:list_implied_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_implied_roles"}]}, {"action": {"name": "identity:create_implied_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_implied_role"}]}, {"action": {"name": "identity:delete_implied_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_implied_role"}]}, {"action": {"name": "identity:list_role_inference_rules"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_role_inference_rules"}]}, {"action": {"name": "identity:check_implied_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_implied_role"}]}, {"action": {"name": "identity:list_system_grants_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_system_grants_for_user"}]}, {"action": {"name": "identity:check_system_grant_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_system_grant_for_user"}]}, {"action": {"name": "identity:create_system_grant_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_system_grant_for_user"}]}, {"action": {"name": "identity:revoke_system_grant_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:revoke_system_grant_for_user"}]}, {"action": {"name": "identity:list_system_grants_for_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_system_grants_for_group"}]}, {"action": {"name": "identity:check_system_grant_for_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_system_grant_for_group"}]}, {"action": {"name": "identity:create_system_grant_for_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_system_grant_for_group"}]}, {"action": {"name": "identity:revoke_system_grant_for_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:revoke_system_grant_for_group"}]}, {"action": {"name": "identity:check_grant"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_grant"}]}, {"action": {"name": "identity:list_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_grants"}]}, {"action": {"name": "identity:create_grant"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_grant"}]}, {"action": {"name": "identity:revoke_grant"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:revoke_grant"}]}, {"action": {"name": "domain_admin_for_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_for_grants"}]}, {"action": {"name": "domain_admin_for_global_role_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_for_global_role_grants"}]}, {"action": {"name": "domain_admin_for_domain_role_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_for_domain_role_grants"}]}, {"action": {"name": "domain_admin_grant_match"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_grant_match"}]}, {"action": {"name": "project_admin_for_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "project_admin_for_grants"}]}, {"action": {"name": "project_admin_for_global_role_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "project_admin_for_global_role_grants"}]}, {"action": {"name": "project_admin_for_domain_role_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "project_admin_for_domain_role_grants"}]}, {"action": {"name": "domain_admin_for_list_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "domain_admin_for_list_grants"}]}, {"action": {"name": "project_admin_for_list_grants"}, "category": {"name": "action_id"}, "assignments": [{"name": "project_admin_for_list_grants"}]}, {"action": {"name": "admin_on_domain_filter"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_on_domain_filter"}]}, {"action": {"name": "admin_on_project_filter"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_on_project_filter"}]}, {"action": {"name": "admin_on_domain_of_project_filter"}, "category": {"name": "action_id"}, "assignments": [{"name": "admin_on_domain_of_project_filter"}]}, {"action": {"name": "identity:list_role_assignments"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_role_assignments"}]}, {"action": {"name": "identity:list_role_assignments_for_tree"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_role_assignments_for_tree"}]}, {"action": {"name": "identity:get_policy"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_policy"}]}, {"action": {"name": "identity:list_policies"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_policies"}]}, {"action": {"name": "identity:create_policy"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_policy"}]}, {"action": {"name": "identity:update_policy"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_policy"}]}, {"action": {"name": "identity:delete_policy"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_policy"}]}, {"action": {"name": "identity:check_token"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_token"}]}, {"action": {"name": "identity:validate_token"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:validate_token"}]}, {"action": {"name": "identity:validate_token_head"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:validate_token_head"}]}, {"action": {"name": "identity:revocation_list"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:revocation_list"}]}, {"action": {"name": "identity:revoke_token"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:revoke_token"}]}, {"action": {"name": "identity:create_trust"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_trust"}]}, {"action": {"name": "identity:list_trusts"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_trusts"}]}, {"action": {"name": "identity:list_roles_for_trust"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_roles_for_trust"}]}, {"action": {"name": "identity:get_role_for_trust"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_role_for_trust"}]}, {"action": {"name": "identity:delete_trust"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_trust"}]}, {"action": {"name": "identity:get_trust"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_trust"}]}, {"action": {"name": "identity:create_consumer"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_consumer"}]}, {"action": {"name": "identity:get_consumer"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_consumer"}]}, {"action": {"name": "identity:list_consumers"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_consumers"}]}, {"action": {"name": "identity:delete_consumer"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_consumer"}]}, {"action": {"name": "identity:update_consumer"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_consumer"}]}, {"action": {"name": "identity:authorize_request_token"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:authorize_request_token"}]}, {"action": {"name": "identity:list_access_token_roles"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_access_token_roles"}]}, {"action": {"name": "identity:get_access_token_role"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_access_token_role"}]}, {"action": {"name": "identity:list_access_tokens"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_access_tokens"}]}, {"action": {"name": "identity:get_access_token"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_access_token"}]}, {"action": {"name": "identity:delete_access_token"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_access_token"}]}, {"action": {"name": "identity:list_projects_for_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_projects_for_endpoint"}]}, {"action": {"name": "identity:add_endpoint_to_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:add_endpoint_to_project"}]}, {"action": {"name": "identity:check_endpoint_in_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_endpoint_in_project"}]}, {"action": {"name": "identity:list_endpoints_for_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_endpoints_for_project"}]}, {"action": {"name": "identity:remove_endpoint_from_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:remove_endpoint_from_project"}]}, {"action": {"name": "identity:create_endpoint_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_endpoint_group"}]}, {"action": {"name": "identity:list_endpoint_groups"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_endpoint_groups"}]}, {"action": {"name": "identity:get_endpoint_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_endpoint_group"}]}, {"action": {"name": "identity:update_endpoint_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_endpoint_group"}]}, {"action": {"name": "identity:delete_endpoint_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_endpoint_group"}]}, {"action": {"name": "identity:list_projects_associated_with_endpoint_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_projects_associated_with_endpoint_group"}]}, {"action": {"name": "identity:list_endpoints_associated_with_endpoint_group"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_endpoints_associated_with_endpoint_group"}]}, {"action": {"name": "identity:get_endpoint_group_in_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_endpoint_group_in_project"}]}, {"action": {"name": "identity:list_endpoint_groups_for_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_endpoint_groups_for_project"}]}, {"action": {"name": "identity:add_endpoint_group_to_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:add_endpoint_group_to_project"}]}, {"action": {"name": "identity:remove_endpoint_group_from_project"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:remove_endpoint_group_from_project"}]}, {"action": {"name": "identity:create_identity_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_identity_provider"}]}, {"action": {"name": "identity:list_identity_providers"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_identity_providers"}]}, {"action": {"name": "identity:get_identity_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_identity_provider"}]}, {"action": {"name": "identity:update_identity_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_identity_provider"}]}, {"action": {"name": "identity:delete_identity_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_identity_provider"}]}, {"action": {"name": "identity:create_protocol"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_protocol"}]}, {"action": {"name": "identity:update_protocol"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_protocol"}]}, {"action": {"name": "identity:get_protocol"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_protocol"}]}, {"action": {"name": "identity:list_protocols"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_protocols"}]}, {"action": {"name": "identity:delete_protocol"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_protocol"}]}, {"action": {"name": "identity:create_mapping"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_mapping"}]}, {"action": {"name": "identity:get_mapping"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_mapping"}]}, {"action": {"name": "identity:list_mappings"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_mappings"}]}, {"action": {"name": "identity:delete_mapping"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_mapping"}]}, {"action": {"name": "identity:update_mapping"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_mapping"}]}, {"action": {"name": "identity:create_service_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_service_provider"}]}, {"action": {"name": "identity:list_service_providers"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_service_providers"}]}, {"action": {"name": "identity:get_service_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_service_provider"}]}, {"action": {"name": "identity:update_service_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_service_provider"}]}, {"action": {"name": "identity:delete_service_provider"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_service_provider"}]}, {"action": {"name": "identity:get_auth_catalog"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_auth_catalog"}]}, {"action": {"name": "identity:get_auth_projects"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_auth_projects"}]}, {"action": {"name": "identity:get_auth_domains"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_auth_domains"}]}, {"action": {"name": "identity:get_auth_system"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_auth_system"}]}, {"action": {"name": "identity:list_projects_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_projects_for_user"}]}, {"action": {"name": "identity:list_domains_for_user"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_domains_for_user"}]}, {"action": {"name": "identity:list_revoke_events"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_revoke_events"}]}, {"action": {"name": "identity:create_policy_association_for_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_policy_association_for_endpoint"}]}, {"action": {"name": "identity:check_policy_association_for_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_policy_association_for_endpoint"}]}, {"action": {"name": "identity:delete_policy_association_for_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_policy_association_for_endpoint"}]}, {"action": {"name": "identity:create_policy_association_for_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_policy_association_for_service"}]}, {"action": {"name": "identity:check_policy_association_for_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_policy_association_for_service"}]}, {"action": {"name": "identity:delete_policy_association_for_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_policy_association_for_service"}]}, {"action": {"name": "identity:create_policy_association_for_region_and_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_policy_association_for_region_and_service"}]}, {"action": {"name": "identity:check_policy_association_for_region_and_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:check_policy_association_for_region_and_service"}]}, {"action": {"name": "identity:delete_policy_association_for_region_and_service"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_policy_association_for_region_and_service"}]}, {"action": {"name": "identity:get_policy_for_endpoint"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_policy_for_endpoint"}]}, {"action": {"name": "identity:list_endpoints_for_policy"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_endpoints_for_policy"}]}, {"action": {"name": "identity:create_domain_config"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_domain_config"}]}, {"action": {"name": "identity:get_domain_config"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_domain_config"}]}, {"action": {"name": "identity:get_security_compliance_domain_config"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_security_compliance_domain_config"}]}, {"action": {"name": "identity:update_domain_config"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:update_domain_config"}]}, {"action": {"name": "identity:delete_domain_config"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_domain_config"}]}, {"action": {"name": "identity:get_domain_config_default"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_domain_config_default"}]}, {"action": {"name": "identity:get_application_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:get_application_credential"}]}, {"action": {"name": "identity:list_application_credentials"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:list_application_credentials"}]}, {"action": {"name": "identity:create_application_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:create_application_credential"}]}, {"action": {"name": "identity:delete_application_credential"}, "category": {"name": "action_id"}, "assignments": [{"name": "identity:delete_application_credential"}]}], "meta_rules": [{"name": "rbac", "description": "", "subject_categories": [{"name": "role"}], "object_categories": [{"name": "id"}], "action_categories": [{"name": "action_id"}]}], "rules": [{"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "delete_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_images"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "publicize_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "communitize_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "copy_from"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "download_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "upload_image"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "delete_image_location"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_image_location"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "set_image_location"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_member"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "delete_member"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_member"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_members"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_member"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "manage_image_cache"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_task"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_tasks"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_task"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_task"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "tasks_api_access"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "deactivate"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "reactivate"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_namespace"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_namespaces"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_metadef_namespace"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_metadef_namespace"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_object"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_objects"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_metadef_object"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_metadef_object"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "list_metadef_resource_types"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_resource_type"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_metadef_resource_type_association"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_property"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_properties"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_metadef_property"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_metadef_property"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_tag"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_metadef_tags"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "modify_metadef_tag"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_metadef_tag"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "add_metadef_tags"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_region"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_regions"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_region"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_region"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_region"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_services"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_endpoints"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_registered_limit"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_registered_limits"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_registered_limits"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_registered_limits"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_registered_limit"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_limit"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_limits"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_limits"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_limits"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_limit"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_domain"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_domains"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_domain"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_domain"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_domain"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_target_project_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_project_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_projects"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_user_projects"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_project_tag"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_project_tag"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_project_tag"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_project_tags"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_project_tags"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_project_tags"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_target_user_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_user_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_users"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_target_group_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_group_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_groups"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_groups_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_users_in_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:remove_user_from_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_user_in_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:add_user_to_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_credentials"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:ec2_get_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:ec2_list_credentials"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:ec2_create_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:ec2_delete_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_domain_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_matches_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "get_domain_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_matches_target_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "project_admin_matches_target_domain_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "list_domain_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_matches_filter_on_list_domain_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "project_admin_matches_filter_on_list_domain_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_and_matching_prior_role_domain_id"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "implied_role_matches_prior_role_domain_or_global"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_implied_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_implied_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_implied_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_implied_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_role_inference_rules"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_implied_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_system_grants_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_system_grant_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_system_grant_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:revoke_system_grant_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_system_grants_for_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_system_grant_for_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_system_grant_for_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:revoke_system_grant_for_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_grant"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_grant"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:revoke_grant"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_for_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_for_global_role_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_for_domain_role_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_grant_match"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "project_admin_for_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "project_admin_for_global_role_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "project_admin_for_domain_role_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "domain_admin_for_list_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "project_admin_for_list_grants"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_on_domain_filter"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_on_project_filter"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "admin_on_domain_of_project_filter"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_role_assignments"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_role_assignments_for_tree"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_policy"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_policies"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_policy"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_policy"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_policy"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_token"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:validate_token"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:validate_token_head"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:revocation_list"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:revoke_token"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_trust"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_trusts"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_roles_for_trust"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_role_for_trust"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_trust"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_trust"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_consumer"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_consumer"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_consumers"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_consumer"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_consumer"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:authorize_request_token"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_access_token_roles"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_access_token_role"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_access_tokens"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_access_token"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_access_token"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_projects_for_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:add_endpoint_to_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_endpoint_in_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_endpoints_for_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:remove_endpoint_from_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_endpoint_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_endpoint_groups"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_endpoint_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_endpoint_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_endpoint_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_projects_associated_with_endpoint_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_endpoints_associated_with_endpoint_group"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_endpoint_group_in_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_endpoint_groups_for_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:add_endpoint_group_to_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:remove_endpoint_group_from_project"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_identity_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_identity_providers"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_identity_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_identity_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_identity_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_protocol"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_protocol"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_protocol"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_protocols"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_protocol"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_mapping"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_mapping"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_mappings"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_mapping"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_mapping"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_service_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_service_providers"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_service_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_service_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_service_provider"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_auth_catalog"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_auth_projects"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_auth_domains"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_auth_system"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_projects_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_domains_for_user"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_revoke_events"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_policy_association_for_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_policy_association_for_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_policy_association_for_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_policy_association_for_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_policy_association_for_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_policy_association_for_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_policy_association_for_region_and_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:check_policy_association_for_region_and_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_policy_association_for_region_and_service"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_policy_for_endpoint"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_endpoints_for_policy"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_domain_config"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_domain_config"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_security_compliance_domain_config"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:update_domain_config"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_domain_config"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_domain_config_default"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:get_application_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:list_application_credentials"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:create_application_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}, {"meta_rule": {"name": "rbac"}, "rule": {"subject_data": [{"name": "admin"}], "object_data": [{"name": "all_vm"}], "action_data": [{"name": "identity:delete_application_credential"}]}, "policy": {"name": "OpenStack RBAC Policy"}, "instructions": [{"decision": "grant"}], "enabled": true}]} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/opst_rbac_nova.json b/moon_engine/tests/func_policies/opst_rbac_nova.json
new file mode 100644
index 00000000..2d5b9016
--- /dev/null
+++ b/moon_engine/tests/func_policies/opst_rbac_nova.json
@@ -0,0 +1,27158 @@
+{
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy",
+ "genre": "authz",
+ "description": "A RBAC policy similar of what you can find through policy.json files",
+ "model": {
+ "name": "OPST_RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "OPST_RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "a role in OpenStack"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "the admin role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "member",
+ "description": "the member role",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {
+ "name": "admin"
+ },
+ "category": {
+ "name": "role"
+ },
+ "assignments": [
+ {
+ "name": "admin"
+ },
+ {
+ "name": "member"
+ }
+ ]
+ }
+ ],
+ "objects": [
+ {
+ "name": "all_vm",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "OpenStack RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "the UID of each virtual machine"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm",
+ "description": "represents all virtual machines in this project",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {
+ "name": "all_vm"
+ },
+ "category": {
+ "name": "id"
+ },
+ "assignments": [
+ {
+ "name": "all_vm"
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter",
+ "description": "cells_scheduler_filter:TargetCellFilter action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create",
+ "description": "compute:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create:attach_network",
+ "description": "compute:create:attach_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create:attach_volume",
+ "description": "compute:create:attach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:create:forced_host",
+ "description": "compute:create:forced_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get",
+ "description": "compute:get action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all",
+ "description": "compute:get_all action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all_tenants",
+ "description": "compute:get_all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:update",
+ "description": "compute:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_instance_metadata",
+ "description": "compute:get_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all_instance_metadata",
+ "description": "compute:get_all_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_all_instance_system_metadata",
+ "description": "compute:get_all_instance_system_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:update_instance_metadata",
+ "description": "compute:update_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:delete_instance_metadata",
+ "description": "compute:delete_instance_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_instance_faults",
+ "description": "compute:get_instance_faults action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_diagnostics",
+ "description": "compute:get_diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_instance_diagnostics",
+ "description": "compute:get_instance_diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:start",
+ "description": "compute:start action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:stop",
+ "description": "compute:stop action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_lock",
+ "description": "compute:get_lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:lock",
+ "description": "compute:lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unlock",
+ "description": "compute:unlock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unlock_override",
+ "description": "compute:unlock_override action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_vnc_console",
+ "description": "compute:get_vnc_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_spice_console",
+ "description": "compute:get_spice_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_rdp_console",
+ "description": "compute:get_rdp_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_serial_console",
+ "description": "compute:get_serial_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_mks_console",
+ "description": "compute:get_mks_console action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:get_console_output",
+ "description": "compute:get_console_output action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:reset_network",
+ "description": "compute:reset_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:inject_network_info",
+ "description": "compute:inject_network_info action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:add_fixed_ip",
+ "description": "compute:add_fixed_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:remove_fixed_ip",
+ "description": "compute:remove_fixed_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:attach_volume",
+ "description": "compute:attach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:detach_volume",
+ "description": "compute:detach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:swap_volume",
+ "description": "compute:swap_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:attach_interface",
+ "description": "compute:attach_interface action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:detach_interface",
+ "description": "compute:detach_interface action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:set_admin_password",
+ "description": "compute:set_admin_password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:rescue",
+ "description": "compute:rescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unrescue",
+ "description": "compute:unrescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:suspend",
+ "description": "compute:suspend action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:resume",
+ "description": "compute:resume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:pause",
+ "description": "compute:pause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unpause",
+ "description": "compute:unpause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:shelve",
+ "description": "compute:shelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:shelve_offload",
+ "description": "compute:shelve_offload action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:unshelve",
+ "description": "compute:unshelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:snapshot",
+ "description": "compute:snapshot action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:snapshot_volume_backed",
+ "description": "compute:snapshot_volume_backed action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:backup",
+ "description": "compute:backup action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:resize",
+ "description": "compute:resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:confirm_resize",
+ "description": "compute:confirm_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:revert_resize",
+ "description": "compute:revert_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:rebuild",
+ "description": "compute:rebuild action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:reboot",
+ "description": "compute:reboot action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:delete",
+ "description": "compute:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:soft_delete",
+ "description": "compute:soft_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:force_delete",
+ "description": "compute:force_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:security_groups:add_to_instance",
+ "description": "compute:security_groups:add_to_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:security_groups:remove_from_instance",
+ "description": "compute:security_groups:remove_from_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:restore",
+ "description": "compute:restore action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:volume_snapshot_create",
+ "description": "compute:volume_snapshot_create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute:volume_snapshot_delete",
+ "description": "compute:volume_snapshot_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:accounts",
+ "description": "compute_extension:accounts action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions",
+ "description": "compute_extension:admin_actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:pause",
+ "description": "compute_extension:admin_actions:pause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:unpause",
+ "description": "compute_extension:admin_actions:unpause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:suspend",
+ "description": "compute_extension:admin_actions:suspend action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:resume",
+ "description": "compute_extension:admin_actions:resume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:lock",
+ "description": "compute_extension:admin_actions:lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:unlock",
+ "description": "compute_extension:admin_actions:unlock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:resetNetwork",
+ "description": "compute_extension:admin_actions:resetNetwork action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo",
+ "description": "compute_extension:admin_actions:injectNetworkInfo action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:createBackup",
+ "description": "compute_extension:admin_actions:createBackup action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:migrateLive",
+ "description": "compute_extension:admin_actions:migrateLive action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:resetState",
+ "description": "compute_extension:admin_actions:resetState action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:admin_actions:migrate",
+ "description": "compute_extension:admin_actions:migrate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:aggregates",
+ "description": "compute_extension:aggregates action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:agents",
+ "description": "compute_extension:agents action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:attach_interfaces",
+ "description": "compute_extension:attach_interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:baremetal_nodes",
+ "description": "compute_extension:baremetal_nodes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells",
+ "description": "compute_extension:cells action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:create",
+ "description": "compute_extension:cells:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:delete",
+ "description": "compute_extension:cells:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:update",
+ "description": "compute_extension:cells:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cells:sync_instances",
+ "description": "compute_extension:cells:sync_instances action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:certificates",
+ "description": "compute_extension:certificates action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cloudpipe",
+ "description": "compute_extension:cloudpipe action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:cloudpipe_update",
+ "description": "compute_extension:cloudpipe_update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:config_drive",
+ "description": "compute_extension:config_drive action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:console_output",
+ "description": "compute_extension:console_output action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:consoles",
+ "description": "compute_extension:consoles action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:createserverext",
+ "description": "compute_extension:createserverext action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:deferred_delete",
+ "description": "compute_extension:deferred_delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:disk_config",
+ "description": "compute_extension:disk_config action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:evacuate",
+ "description": "compute_extension:evacuate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_server_attributes",
+ "description": "compute_extension:extended_server_attributes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_status",
+ "description": "compute_extension:extended_status action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_availability_zone",
+ "description": "compute_extension:extended_availability_zone action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_ips",
+ "description": "compute_extension:extended_ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_ips_mac",
+ "description": "compute_extension:extended_ips_mac action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_vif_net",
+ "description": "compute_extension:extended_vif_net action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:extended_volumes",
+ "description": "compute_extension:extended_volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:fixed_ips",
+ "description": "compute_extension:fixed_ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_access",
+ "description": "compute_extension:flavor_access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess",
+ "description": "compute_extension:flavor_access:addTenantAccess action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess",
+ "description": "compute_extension:flavor_access:removeTenantAccess action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_disabled",
+ "description": "compute_extension:flavor_disabled action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_rxtx",
+ "description": "compute_extension:flavor_rxtx action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavor_swap",
+ "description": "compute_extension:flavor_swap action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextradata",
+ "description": "compute_extension:flavorextradata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:index",
+ "description": "compute_extension:flavorextraspecs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:show",
+ "description": "compute_extension:flavorextraspecs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:create",
+ "description": "compute_extension:flavorextraspecs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:update",
+ "description": "compute_extension:flavorextraspecs:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:delete",
+ "description": "compute_extension:flavorextraspecs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:flavormanage",
+ "description": "compute_extension:flavormanage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ip_dns",
+ "description": "compute_extension:floating_ip_dns action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ip_pools",
+ "description": "compute_extension:floating_ip_pools action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ips",
+ "description": "compute_extension:floating_ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:floating_ips_bulk",
+ "description": "compute_extension:floating_ips_bulk action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:fping",
+ "description": "compute_extension:fping action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:fping:all_tenants",
+ "description": "compute_extension:fping:all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:hide_server_addresses",
+ "description": "compute_extension:hide_server_addresses action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:hosts",
+ "description": "compute_extension:hosts action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:hypervisors",
+ "description": "compute_extension:hypervisors action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:image_size",
+ "description": "compute_extension:image_size action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:instance_actions",
+ "description": "compute_extension:instance_actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:instance_actions:events",
+ "description": "compute_extension:instance_actions:events action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:instance_usage_audit_log",
+ "description": "compute_extension:instance_usage_audit_log action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs",
+ "description": "compute_extension:keypairs action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:index",
+ "description": "compute_extension:keypairs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:show",
+ "description": "compute_extension:keypairs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:create",
+ "description": "compute_extension:keypairs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:keypairs:delete",
+ "description": "compute_extension:keypairs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:multinic",
+ "description": "compute_extension:multinic action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:networks",
+ "description": "compute_extension:networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:networks:view",
+ "description": "compute_extension:networks:view action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:networks_associate",
+ "description": "compute_extension:networks_associate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-tenant-networks",
+ "description": "compute_extension:os-tenant-networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quotas:show",
+ "description": "compute_extension:quotas:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quotas:update",
+ "description": "compute_extension:quotas:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quotas:delete",
+ "description": "compute_extension:quotas:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:quota_classes",
+ "description": "compute_extension:quota_classes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:rescue",
+ "description": "compute_extension:rescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:security_group_default_rules",
+ "description": "compute_extension:security_group_default_rules action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:security_groups",
+ "description": "compute_extension:security_groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_diagnostics",
+ "description": "compute_extension:server_diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_groups",
+ "description": "compute_extension:server_groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_password",
+ "description": "compute_extension:server_password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:server_usage",
+ "description": "compute_extension:server_usage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:services",
+ "description": "compute_extension:services action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:shelve",
+ "description": "compute_extension:shelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:shelveOffload",
+ "description": "compute_extension:shelveOffload action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:show",
+ "description": "compute_extension:simple_tenant_usage:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:list",
+ "description": "compute_extension:simple_tenant_usage:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:unshelve",
+ "description": "compute_extension:unshelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:users",
+ "description": "compute_extension:users action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:virtual_interfaces",
+ "description": "compute_extension:virtual_interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:virtual_storage_arrays",
+ "description": "compute_extension:virtual_storage_arrays action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volumes",
+ "description": "compute_extension:volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:index",
+ "description": "compute_extension:volume_attachments:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:show",
+ "description": "compute_extension:volume_attachments:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:create",
+ "description": "compute_extension:volume_attachments:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:update",
+ "description": "compute_extension:volume_attachments:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volume_attachments:delete",
+ "description": "compute_extension:volume_attachments:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:volumetypes",
+ "description": "compute_extension:volumetypes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:availability_zone:list",
+ "description": "compute_extension:availability_zone:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:availability_zone:detail",
+ "description": "compute_extension:availability_zone:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:used_limits_for_admin",
+ "description": "compute_extension:used_limits_for_admin action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:migrations:index",
+ "description": "compute_extension:migrations:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create",
+ "description": "compute_extension:os-assisted-volume-snapshots:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete",
+ "description": "compute_extension:os-assisted-volume-snapshots:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:console_auth_tokens",
+ "description": "compute_extension:console_auth_tokens action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "compute_extension:os-server-external-events:create",
+ "description": "compute_extension:os-server-external-events:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_all",
+ "description": "network:get_all action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get",
+ "description": "network:get action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:create",
+ "description": "network:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:delete",
+ "description": "network:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:associate",
+ "description": "network:associate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:disassociate",
+ "description": "network:disassociate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_vifs_by_instance",
+ "description": "network:get_vifs_by_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:allocate_for_instance",
+ "description": "network:allocate_for_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:deallocate_for_instance",
+ "description": "network:deallocate_for_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:validate_networks",
+ "description": "network:validate_networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_instance_uuids_by_ip_filter",
+ "description": "network:get_instance_uuids_by_ip_filter action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_instance_id_by_floating_address",
+ "description": "network:get_instance_id_by_floating_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:setup_networks_on_host",
+ "description": "network:setup_networks_on_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_backdoor_port",
+ "description": "network:get_backdoor_port action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ip",
+ "description": "network:get_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ip_pools",
+ "description": "network:get_floating_ip_pools action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ip_by_address",
+ "description": "network:get_floating_ip_by_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ips_by_project",
+ "description": "network:get_floating_ips_by_project action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_floating_ips_by_fixed_address",
+ "description": "network:get_floating_ips_by_fixed_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:allocate_floating_ip",
+ "description": "network:allocate_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:associate_floating_ip",
+ "description": "network:associate_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:disassociate_floating_ip",
+ "description": "network:disassociate_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:release_floating_ip",
+ "description": "network:release_floating_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:migrate_instance_start",
+ "description": "network:migrate_instance_start action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:migrate_instance_finish",
+ "description": "network:migrate_instance_finish action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_fixed_ip",
+ "description": "network:get_fixed_ip action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_fixed_ip_by_address",
+ "description": "network:get_fixed_ip_by_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:add_fixed_ip_to_instance",
+ "description": "network:add_fixed_ip_to_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:remove_fixed_ip_from_instance",
+ "description": "network:remove_fixed_ip_from_instance action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:add_network_to_project",
+ "description": "network:add_network_to_project action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_instance_nw_info",
+ "description": "network:get_instance_nw_info action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_dns_domains",
+ "description": "network:get_dns_domains action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:add_dns_entry",
+ "description": "network:add_dns_entry action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:modify_dns_entry",
+ "description": "network:modify_dns_entry action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:delete_dns_entry",
+ "description": "network:delete_dns_entry action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_dns_entries_by_address",
+ "description": "network:get_dns_entries_by_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_dns_entries_by_name",
+ "description": "network:get_dns_entries_by_name action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:create_private_dns_domain",
+ "description": "network:create_private_dns_domain action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:create_public_dns_domain",
+ "description": "network:create_public_dns_domain action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:delete_dns_domain",
+ "description": "network:delete_dns_domain action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:attach_external_network",
+ "description": "network:attach_external_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "network:get_vif_by_mac_address",
+ "description": "network:get_vif_by_mac_address action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants",
+ "description": "os_compute_api:servers:detail:get_all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants",
+ "description": "os_compute_api:servers:index:get_all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:confirm_resize",
+ "description": "os_compute_api:servers:confirm_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create",
+ "description": "os_compute_api:servers:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_network",
+ "description": "os_compute_api:servers:create:attach_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_volume",
+ "description": "os_compute_api:servers:create:attach_volume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create:forced_host",
+ "description": "os_compute_api:servers:create:forced_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:delete",
+ "description": "os_compute_api:servers:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:update",
+ "description": "os_compute_api:servers:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:detail",
+ "description": "os_compute_api:servers:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:index",
+ "description": "os_compute_api:servers:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:reboot",
+ "description": "os_compute_api:servers:reboot action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:rebuild",
+ "description": "os_compute_api:servers:rebuild action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:resize",
+ "description": "os_compute_api:servers:resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:revert_resize",
+ "description": "os_compute_api:servers:revert_resize action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:show",
+ "description": "os_compute_api:servers:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create_image",
+ "description": "os_compute_api:servers:create_image action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed",
+ "description": "os_compute_api:servers:create_image:allow_volume_backed action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:start",
+ "description": "os_compute_api:servers:start action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:stop",
+ "description": "os_compute_api:servers:stop action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-access-ips:discoverable",
+ "description": "os_compute_api:os-access-ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-access-ips",
+ "description": "os_compute_api:os-access-ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions",
+ "description": "os_compute_api:os-admin-actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable",
+ "description": "os_compute_api:os-admin-actions:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network",
+ "description": "os_compute_api:os-admin-actions:reset_network action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info",
+ "description": "os_compute_api:os-admin-actions:inject_network_info action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state",
+ "description": "os_compute_api:os-admin-actions:reset_state action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-password",
+ "description": "os_compute_api:os-admin-password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-admin-password:discoverable",
+ "description": "os_compute_api:os-admin-password:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:discoverable",
+ "description": "os_compute_api:os-aggregates:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:index",
+ "description": "os_compute_api:os-aggregates:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:create",
+ "description": "os_compute_api:os-aggregates:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:show",
+ "description": "os_compute_api:os-aggregates:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:update",
+ "description": "os_compute_api:os-aggregates:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:delete",
+ "description": "os_compute_api:os-aggregates:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:add_host",
+ "description": "os_compute_api:os-aggregates:add_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:remove_host",
+ "description": "os_compute_api:os-aggregates:remove_host action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata",
+ "description": "os_compute_api:os-aggregates:set_metadata action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-agents",
+ "description": "os_compute_api:os-agents action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-agents:discoverable",
+ "description": "os_compute_api:os-agents:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces",
+ "description": "os_compute_api:os-attach-interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable",
+ "description": "os_compute_api:os-attach-interfaces:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes",
+ "description": "os_compute_api:os-baremetal-nodes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable",
+ "description": "os_compute_api:os-baremetal-nodes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable",
+ "description": "os_compute_api:os-block-device-mapping-v1:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells",
+ "description": "os_compute_api:os-cells action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:create",
+ "description": "os_compute_api:os-cells:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:delete",
+ "description": "os_compute_api:os-cells:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:update",
+ "description": "os_compute_api:os-cells:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:sync_instances",
+ "description": "os_compute_api:os-cells:sync_instances action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cells:discoverable",
+ "description": "os_compute_api:os-cells:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-certificates:create",
+ "description": "os_compute_api:os-certificates:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-certificates:show",
+ "description": "os_compute_api:os-certificates:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-certificates:discoverable",
+ "description": "os_compute_api:os-certificates:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe",
+ "description": "os_compute_api:os-cloudpipe action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable",
+ "description": "os_compute_api:os-cloudpipe:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-config-drive",
+ "description": "os_compute_api:os-config-drive action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:discoverable",
+ "description": "os_compute_api:os-consoles:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:create",
+ "description": "os_compute_api:os-consoles:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:delete",
+ "description": "os_compute_api:os-consoles:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:index",
+ "description": "os_compute_api:os-consoles:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-consoles:show",
+ "description": "os_compute_api:os-consoles:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-console-output:discoverable",
+ "description": "os_compute_api:os-console-output:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-console-output",
+ "description": "os_compute_api:os-console-output action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles",
+ "description": "os_compute_api:os-remote-consoles action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable",
+ "description": "os_compute_api:os-remote-consoles:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-create-backup:discoverable",
+ "description": "os_compute_api:os-create-backup:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-create-backup",
+ "description": "os_compute_api:os-create-backup action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete",
+ "description": "os_compute_api:os-deferred-delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable",
+ "description": "os_compute_api:os-deferred-delete:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-disk-config",
+ "description": "os_compute_api:os-disk-config action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-disk-config:discoverable",
+ "description": "os_compute_api:os-disk-config:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-evacuate",
+ "description": "os_compute_api:os-evacuate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-evacuate:discoverable",
+ "description": "os_compute_api:os-evacuate:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes",
+ "description": "os_compute_api:os-extended-server-attributes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable",
+ "description": "os_compute_api:os-extended-server-attributes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-status",
+ "description": "os_compute_api:os-extended-status action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-status:discoverable",
+ "description": "os_compute_api:os-extended-status:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone",
+ "description": "os_compute_api:os-extended-availability-zone action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable",
+ "description": "os_compute_api:os-extended-availability-zone:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:extensions",
+ "description": "os_compute_api:extensions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:extension_info:discoverable",
+ "description": "os_compute_api:extension_info:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes",
+ "description": "os_compute_api:os-extended-volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable",
+ "description": "os_compute_api:os-extended-volumes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips",
+ "description": "os_compute_api:os-fixed-ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable",
+ "description": "os_compute_api:os-fixed-ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access",
+ "description": "os_compute_api:os-flavor-access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable",
+ "description": "os_compute_api:os-flavor-access:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access",
+ "description": "os_compute_api:os-flavor-access:remove_tenant_access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access",
+ "description": "os_compute_api:os-flavor-access:add_tenant_access action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx",
+ "description": "os_compute_api:os-flavor-rxtx action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable",
+ "description": "os_compute_api:os-flavor-rxtx:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:flavors:discoverable",
+ "description": "os_compute_api:flavors:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable",
+ "description": "os_compute_api:os-flavor-extra-specs:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index",
+ "description": "os_compute_api:os-flavor-extra-specs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show",
+ "description": "os_compute_api:os-flavor-extra-specs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create",
+ "description": "os_compute_api:os-flavor-extra-specs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update",
+ "description": "os_compute_api:os-flavor-extra-specs:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete",
+ "description": "os_compute_api:os-flavor-extra-specs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable",
+ "description": "os_compute_api:os-flavor-manage:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage",
+ "description": "os_compute_api:os-flavor-manage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns",
+ "description": "os_compute_api:os-floating-ip-dns action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable",
+ "description": "os_compute_api:os-floating-ip-dns:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update",
+ "description": "os_compute_api:os-floating-ip-dns:domain:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete",
+ "description": "os_compute_api:os-floating-ip-dns:domain:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools",
+ "description": "os_compute_api:os-floating-ip-pools action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable",
+ "description": "os_compute_api:os-floating-ip-pools:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips",
+ "description": "os_compute_api:os-floating-ips action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable",
+ "description": "os_compute_api:os-floating-ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk",
+ "description": "os_compute_api:os-floating-ips-bulk action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable",
+ "description": "os_compute_api:os-floating-ips-bulk:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fping",
+ "description": "os_compute_api:os-fping action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fping:discoverable",
+ "description": "os_compute_api:os-fping:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-fping:all_tenants",
+ "description": "os_compute_api:os-fping:all_tenants action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses",
+ "description": "os_compute_api:os-hide-server-addresses action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable",
+ "description": "os_compute_api:os-hide-server-addresses:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hosts",
+ "description": "os_compute_api:os-hosts action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hosts:discoverable",
+ "description": "os_compute_api:os-hosts:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hypervisors",
+ "description": "os_compute_api:os-hypervisors action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable",
+ "description": "os_compute_api:os-hypervisors:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:images:discoverable",
+ "description": "os_compute_api:images:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:image-size",
+ "description": "os_compute_api:image-size action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:image-size:discoverable",
+ "description": "os_compute_api:image-size:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-actions",
+ "description": "os_compute_api:os-instance-actions action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable",
+ "description": "os_compute_api:os-instance-actions:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:events",
+ "description": "os_compute_api:os-instance-actions:events action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log",
+ "description": "os_compute_api:os-instance-usage-audit-log action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable",
+ "description": "os_compute_api:os-instance-usage-audit-log:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:ips:discoverable",
+ "description": "os_compute_api:ips:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:ips:index",
+ "description": "os_compute_api:ips:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:ips:show",
+ "description": "os_compute_api:ips:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:discoverable",
+ "description": "os_compute_api:os-keypairs:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs",
+ "description": "os_compute_api:os-keypairs action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:index",
+ "description": "os_compute_api:os-keypairs:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:show",
+ "description": "os_compute_api:os-keypairs:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:create",
+ "description": "os_compute_api:os-keypairs:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-keypairs:delete",
+ "description": "os_compute_api:os-keypairs:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:limits:discoverable",
+ "description": "os_compute_api:limits:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:limits",
+ "description": "os_compute_api:limits action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:discoverable",
+ "description": "os_compute_api:os-lock-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:lock",
+ "description": "os_compute_api:os-lock-server:lock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock",
+ "description": "os_compute_api:os-lock-server:unlock action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override",
+ "description": "os_compute_api:os-lock-server:unlock:unlock_override action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable",
+ "description": "os_compute_api:os-migrate-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate",
+ "description": "os_compute_api:os-migrate-server:migrate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live",
+ "description": "os_compute_api:os-migrate-server:migrate_live action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-multinic",
+ "description": "os_compute_api:os-multinic action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-multinic:discoverable",
+ "description": "os_compute_api:os-multinic:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks",
+ "description": "os_compute_api:os-networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks:view",
+ "description": "os_compute_api:os-networks:view action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks:discoverable",
+ "description": "os_compute_api:os-networks:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks-associate",
+ "description": "os_compute_api:os-networks-associate action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable",
+ "description": "os_compute_api:os-networks-associate:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pause-server:discoverable",
+ "description": "os_compute_api:os-pause-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pause-server:pause",
+ "description": "os_compute_api:os-pause-server:pause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pause-server:unpause",
+ "description": "os_compute_api:os-pause-server:unpause action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:pci_servers",
+ "description": "os_compute_api:os-pci:pci_servers action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:discoverable",
+ "description": "os_compute_api:os-pci:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:index",
+ "description": "os_compute_api:os-pci:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:detail",
+ "description": "os_compute_api:os-pci:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-pci:show",
+ "description": "os_compute_api:os-pci:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-personality:discoverable",
+ "description": "os_compute_api:os-personality:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable",
+ "description": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable",
+ "description": "os_compute_api:os-quota-sets:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:show",
+ "description": "os_compute_api:os-quota-sets:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:defaults",
+ "description": "os_compute_api:os-quota-sets:defaults action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:update",
+ "description": "os_compute_api:os-quota-sets:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:delete",
+ "description": "os_compute_api:os-quota-sets:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:detail",
+ "description": "os_compute_api:os-quota-sets:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:update",
+ "description": "os_compute_api:os-quota-class-sets:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:show",
+ "description": "os_compute_api:os-quota-class-sets:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable",
+ "description": "os_compute_api:os-quota-class-sets:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-rescue",
+ "description": "os_compute_api:os-rescue action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-rescue:discoverable",
+ "description": "os_compute_api:os-rescue:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable",
+ "description": "os_compute_api:os-scheduler-hints:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable",
+ "description": "os_compute_api:os-security-group-default-rules:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules",
+ "description": "os_compute_api:os-security-group-default-rules action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-groups",
+ "description": "os_compute_api:os-security-groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-security-groups:discoverable",
+ "description": "os_compute_api:os-security-groups:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics",
+ "description": "os_compute_api:os-server-diagnostics action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable",
+ "description": "os_compute_api:os-server-diagnostics:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-password",
+ "description": "os_compute_api:os-server-password action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-password:discoverable",
+ "description": "os_compute_api:os-server-password:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-usage",
+ "description": "os_compute_api:os-server-usage action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-usage:discoverable",
+ "description": "os_compute_api:os-server-usage:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-groups",
+ "description": "os_compute_api:os-server-groups action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-groups:discoverable",
+ "description": "os_compute_api:os-server-groups:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-services",
+ "description": "os_compute_api:os-services action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-services:discoverable",
+ "description": "os_compute_api:os-services:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:discoverable",
+ "description": "os_compute_api:server-metadata:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:index",
+ "description": "os_compute_api:server-metadata:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:show",
+ "description": "os_compute_api:server-metadata:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:delete",
+ "description": "os_compute_api:server-metadata:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:create",
+ "description": "os_compute_api:server-metadata:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:update",
+ "description": "os_compute_api:server-metadata:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:server-metadata:update_all",
+ "description": "os_compute_api:server-metadata:update_all action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:servers:discoverable",
+ "description": "os_compute_api:servers:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve",
+ "description": "os_compute_api:os-shelve:shelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable",
+ "description": "os_compute_api:os-shelve:shelve:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload",
+ "description": "os_compute_api:os-shelve:shelve_offload action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable",
+ "description": "os_compute_api:os-simple-tenant-usage:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show",
+ "description": "os_compute_api:os-simple-tenant-usage:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list",
+ "description": "os_compute_api:os-simple-tenant-usage:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable",
+ "description": "os_compute_api:os-suspend-server:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:suspend",
+ "description": "os_compute_api:os-suspend-server:suspend action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:resume",
+ "description": "os_compute_api:os-suspend-server:resume action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks",
+ "description": "os_compute_api:os-tenant-networks action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable",
+ "description": "os_compute_api:os-tenant-networks:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-shelve:unshelve",
+ "description": "os_compute_api:os-shelve:unshelve action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-user-data:discoverable",
+ "description": "os_compute_api:os-user-data:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces",
+ "description": "os_compute_api:os-virtual-interfaces action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable",
+ "description": "os_compute_api:os-virtual-interfaces:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes",
+ "description": "os_compute_api:os-volumes action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes:discoverable",
+ "description": "os_compute_api:os-volumes:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:index",
+ "description": "os_compute_api:os-volumes-attachments:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:show",
+ "description": "os_compute_api:os-volumes-attachments:show action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:create",
+ "description": "os_compute_api:os-volumes-attachments:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:update",
+ "description": "os_compute_api:os-volumes-attachments:update action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete",
+ "description": "os_compute_api:os-volumes-attachments:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable",
+ "description": "os_compute_api:os-volumes-attachments:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:list",
+ "description": "os_compute_api:os-availability-zone:list action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable",
+ "description": "os_compute_api:os-availability-zone:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:detail",
+ "description": "os_compute_api:os-availability-zone:detail action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-used-limits",
+ "description": "os_compute_api:os-used-limits action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-used-limits:discoverable",
+ "description": "os_compute_api:os-used-limits:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrations:index",
+ "description": "os_compute_api:os-migrations:index action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-migrations:discoverable",
+ "description": "os_compute_api:os-migrations:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create",
+ "description": "os_compute_api:os-assisted-volume-snapshots:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete",
+ "description": "os_compute_api:os-assisted-volume-snapshots:delete action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable",
+ "description": "os_compute_api:os-assisted-volume-snapshots:discoverable action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-console-auth-tokens",
+ "description": "os_compute_api:os-console-auth-tokens action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ },
+ {
+ "name": "os_compute_api:os-server-external-events:create",
+ "description": "os_compute_api:os-server-external-events:create action for nova",
+ "extra": {
+ "component": "nova"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter",
+ "description": "cells_scheduler_filter:TargetCellFilter action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create",
+ "description": "compute:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create:attach_network",
+ "description": "compute:create:attach_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create:attach_volume",
+ "description": "compute:create:attach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:create:forced_host",
+ "description": "compute:create:forced_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get",
+ "description": "compute:get action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all",
+ "description": "compute:get_all action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all_tenants",
+ "description": "compute:get_all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:update",
+ "description": "compute:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_instance_metadata",
+ "description": "compute:get_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all_instance_metadata",
+ "description": "compute:get_all_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_all_instance_system_metadata",
+ "description": "compute:get_all_instance_system_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:update_instance_metadata",
+ "description": "compute:update_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:delete_instance_metadata",
+ "description": "compute:delete_instance_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_instance_faults",
+ "description": "compute:get_instance_faults action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_diagnostics",
+ "description": "compute:get_diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_instance_diagnostics",
+ "description": "compute:get_instance_diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:start",
+ "description": "compute:start action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:stop",
+ "description": "compute:stop action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_lock",
+ "description": "compute:get_lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:lock",
+ "description": "compute:lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unlock",
+ "description": "compute:unlock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unlock_override",
+ "description": "compute:unlock_override action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_vnc_console",
+ "description": "compute:get_vnc_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_spice_console",
+ "description": "compute:get_spice_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_rdp_console",
+ "description": "compute:get_rdp_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_serial_console",
+ "description": "compute:get_serial_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_mks_console",
+ "description": "compute:get_mks_console action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:get_console_output",
+ "description": "compute:get_console_output action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:reset_network",
+ "description": "compute:reset_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:inject_network_info",
+ "description": "compute:inject_network_info action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:add_fixed_ip",
+ "description": "compute:add_fixed_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:remove_fixed_ip",
+ "description": "compute:remove_fixed_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:attach_volume",
+ "description": "compute:attach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:detach_volume",
+ "description": "compute:detach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:swap_volume",
+ "description": "compute:swap_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:attach_interface",
+ "description": "compute:attach_interface action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:detach_interface",
+ "description": "compute:detach_interface action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:set_admin_password",
+ "description": "compute:set_admin_password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:rescue",
+ "description": "compute:rescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unrescue",
+ "description": "compute:unrescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:suspend",
+ "description": "compute:suspend action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:resume",
+ "description": "compute:resume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:pause",
+ "description": "compute:pause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unpause",
+ "description": "compute:unpause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:shelve",
+ "description": "compute:shelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:shelve_offload",
+ "description": "compute:shelve_offload action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:unshelve",
+ "description": "compute:unshelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:snapshot",
+ "description": "compute:snapshot action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:snapshot_volume_backed",
+ "description": "compute:snapshot_volume_backed action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:backup",
+ "description": "compute:backup action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:resize",
+ "description": "compute:resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:confirm_resize",
+ "description": "compute:confirm_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:revert_resize",
+ "description": "compute:revert_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:rebuild",
+ "description": "compute:rebuild action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:reboot",
+ "description": "compute:reboot action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:delete",
+ "description": "compute:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:soft_delete",
+ "description": "compute:soft_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:force_delete",
+ "description": "compute:force_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:security_groups:add_to_instance",
+ "description": "compute:security_groups:add_to_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:security_groups:remove_from_instance",
+ "description": "compute:security_groups:remove_from_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:restore",
+ "description": "compute:restore action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:volume_snapshot_create",
+ "description": "compute:volume_snapshot_create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute:volume_snapshot_delete",
+ "description": "compute:volume_snapshot_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:accounts",
+ "description": "compute_extension:accounts action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions",
+ "description": "compute_extension:admin_actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:pause",
+ "description": "compute_extension:admin_actions:pause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:unpause",
+ "description": "compute_extension:admin_actions:unpause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:suspend",
+ "description": "compute_extension:admin_actions:suspend action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:resume",
+ "description": "compute_extension:admin_actions:resume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:lock",
+ "description": "compute_extension:admin_actions:lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:unlock",
+ "description": "compute_extension:admin_actions:unlock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:resetNetwork",
+ "description": "compute_extension:admin_actions:resetNetwork action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo",
+ "description": "compute_extension:admin_actions:injectNetworkInfo action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:createBackup",
+ "description": "compute_extension:admin_actions:createBackup action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:migrateLive",
+ "description": "compute_extension:admin_actions:migrateLive action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:resetState",
+ "description": "compute_extension:admin_actions:resetState action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:admin_actions:migrate",
+ "description": "compute_extension:admin_actions:migrate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:aggregates",
+ "description": "compute_extension:aggregates action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:agents",
+ "description": "compute_extension:agents action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:attach_interfaces",
+ "description": "compute_extension:attach_interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:baremetal_nodes",
+ "description": "compute_extension:baremetal_nodes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells",
+ "description": "compute_extension:cells action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:create",
+ "description": "compute_extension:cells:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:delete",
+ "description": "compute_extension:cells:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:update",
+ "description": "compute_extension:cells:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cells:sync_instances",
+ "description": "compute_extension:cells:sync_instances action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:certificates",
+ "description": "compute_extension:certificates action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cloudpipe",
+ "description": "compute_extension:cloudpipe action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:cloudpipe_update",
+ "description": "compute_extension:cloudpipe_update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:config_drive",
+ "description": "compute_extension:config_drive action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:console_output",
+ "description": "compute_extension:console_output action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:consoles",
+ "description": "compute_extension:consoles action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:createserverext",
+ "description": "compute_extension:createserverext action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:deferred_delete",
+ "description": "compute_extension:deferred_delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:disk_config",
+ "description": "compute_extension:disk_config action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:evacuate",
+ "description": "compute_extension:evacuate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_server_attributes",
+ "description": "compute_extension:extended_server_attributes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_status",
+ "description": "compute_extension:extended_status action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_availability_zone",
+ "description": "compute_extension:extended_availability_zone action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_ips",
+ "description": "compute_extension:extended_ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_ips_mac",
+ "description": "compute_extension:extended_ips_mac action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_vif_net",
+ "description": "compute_extension:extended_vif_net action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:extended_volumes",
+ "description": "compute_extension:extended_volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:fixed_ips",
+ "description": "compute_extension:fixed_ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_access",
+ "description": "compute_extension:flavor_access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess",
+ "description": "compute_extension:flavor_access:addTenantAccess action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess",
+ "description": "compute_extension:flavor_access:removeTenantAccess action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_disabled",
+ "description": "compute_extension:flavor_disabled action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_rxtx",
+ "description": "compute_extension:flavor_rxtx action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavor_swap",
+ "description": "compute_extension:flavor_swap action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextradata",
+ "description": "compute_extension:flavorextradata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:index",
+ "description": "compute_extension:flavorextraspecs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:show",
+ "description": "compute_extension:flavorextraspecs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:create",
+ "description": "compute_extension:flavorextraspecs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:update",
+ "description": "compute_extension:flavorextraspecs:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavorextraspecs:delete",
+ "description": "compute_extension:flavorextraspecs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:flavormanage",
+ "description": "compute_extension:flavormanage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ip_dns",
+ "description": "compute_extension:floating_ip_dns action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ip_pools",
+ "description": "compute_extension:floating_ip_pools action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ips",
+ "description": "compute_extension:floating_ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:floating_ips_bulk",
+ "description": "compute_extension:floating_ips_bulk action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:fping",
+ "description": "compute_extension:fping action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:fping:all_tenants",
+ "description": "compute_extension:fping:all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:hide_server_addresses",
+ "description": "compute_extension:hide_server_addresses action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:hosts",
+ "description": "compute_extension:hosts action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:hypervisors",
+ "description": "compute_extension:hypervisors action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:image_size",
+ "description": "compute_extension:image_size action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:instance_actions",
+ "description": "compute_extension:instance_actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:instance_actions:events",
+ "description": "compute_extension:instance_actions:events action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:instance_usage_audit_log",
+ "description": "compute_extension:instance_usage_audit_log action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs",
+ "description": "compute_extension:keypairs action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:index",
+ "description": "compute_extension:keypairs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:show",
+ "description": "compute_extension:keypairs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:create",
+ "description": "compute_extension:keypairs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:keypairs:delete",
+ "description": "compute_extension:keypairs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:multinic",
+ "description": "compute_extension:multinic action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:networks",
+ "description": "compute_extension:networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:networks:view",
+ "description": "compute_extension:networks:view action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:networks_associate",
+ "description": "compute_extension:networks_associate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-tenant-networks",
+ "description": "compute_extension:os-tenant-networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quotas:show",
+ "description": "compute_extension:quotas:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quotas:update",
+ "description": "compute_extension:quotas:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quotas:delete",
+ "description": "compute_extension:quotas:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:quota_classes",
+ "description": "compute_extension:quota_classes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:rescue",
+ "description": "compute_extension:rescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:security_group_default_rules",
+ "description": "compute_extension:security_group_default_rules action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:security_groups",
+ "description": "compute_extension:security_groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_diagnostics",
+ "description": "compute_extension:server_diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_groups",
+ "description": "compute_extension:server_groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_password",
+ "description": "compute_extension:server_password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:server_usage",
+ "description": "compute_extension:server_usage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:services",
+ "description": "compute_extension:services action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:shelve",
+ "description": "compute_extension:shelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:shelveOffload",
+ "description": "compute_extension:shelveOffload action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:show",
+ "description": "compute_extension:simple_tenant_usage:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:simple_tenant_usage:list",
+ "description": "compute_extension:simple_tenant_usage:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:unshelve",
+ "description": "compute_extension:unshelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:users",
+ "description": "compute_extension:users action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:virtual_interfaces",
+ "description": "compute_extension:virtual_interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:virtual_storage_arrays",
+ "description": "compute_extension:virtual_storage_arrays action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volumes",
+ "description": "compute_extension:volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:index",
+ "description": "compute_extension:volume_attachments:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:show",
+ "description": "compute_extension:volume_attachments:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:create",
+ "description": "compute_extension:volume_attachments:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:update",
+ "description": "compute_extension:volume_attachments:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volume_attachments:delete",
+ "description": "compute_extension:volume_attachments:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:volumetypes",
+ "description": "compute_extension:volumetypes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:availability_zone:list",
+ "description": "compute_extension:availability_zone:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:availability_zone:detail",
+ "description": "compute_extension:availability_zone:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:used_limits_for_admin",
+ "description": "compute_extension:used_limits_for_admin action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:migrations:index",
+ "description": "compute_extension:migrations:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create",
+ "description": "compute_extension:os-assisted-volume-snapshots:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete",
+ "description": "compute_extension:os-assisted-volume-snapshots:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:console_auth_tokens",
+ "description": "compute_extension:console_auth_tokens action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "compute_extension:os-server-external-events:create",
+ "description": "compute_extension:os-server-external-events:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_all",
+ "description": "network:get_all action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get",
+ "description": "network:get action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:create",
+ "description": "network:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:delete",
+ "description": "network:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:associate",
+ "description": "network:associate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:disassociate",
+ "description": "network:disassociate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_vifs_by_instance",
+ "description": "network:get_vifs_by_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:allocate_for_instance",
+ "description": "network:allocate_for_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:deallocate_for_instance",
+ "description": "network:deallocate_for_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:validate_networks",
+ "description": "network:validate_networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_instance_uuids_by_ip_filter",
+ "description": "network:get_instance_uuids_by_ip_filter action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_instance_id_by_floating_address",
+ "description": "network:get_instance_id_by_floating_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:setup_networks_on_host",
+ "description": "network:setup_networks_on_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_backdoor_port",
+ "description": "network:get_backdoor_port action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ip",
+ "description": "network:get_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ip_pools",
+ "description": "network:get_floating_ip_pools action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ip_by_address",
+ "description": "network:get_floating_ip_by_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ips_by_project",
+ "description": "network:get_floating_ips_by_project action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_floating_ips_by_fixed_address",
+ "description": "network:get_floating_ips_by_fixed_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:allocate_floating_ip",
+ "description": "network:allocate_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:associate_floating_ip",
+ "description": "network:associate_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:disassociate_floating_ip",
+ "description": "network:disassociate_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:release_floating_ip",
+ "description": "network:release_floating_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:migrate_instance_start",
+ "description": "network:migrate_instance_start action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:migrate_instance_finish",
+ "description": "network:migrate_instance_finish action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_fixed_ip",
+ "description": "network:get_fixed_ip action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_fixed_ip_by_address",
+ "description": "network:get_fixed_ip_by_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:add_fixed_ip_to_instance",
+ "description": "network:add_fixed_ip_to_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:remove_fixed_ip_from_instance",
+ "description": "network:remove_fixed_ip_from_instance action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:add_network_to_project",
+ "description": "network:add_network_to_project action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_instance_nw_info",
+ "description": "network:get_instance_nw_info action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_dns_domains",
+ "description": "network:get_dns_domains action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:add_dns_entry",
+ "description": "network:add_dns_entry action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:modify_dns_entry",
+ "description": "network:modify_dns_entry action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:delete_dns_entry",
+ "description": "network:delete_dns_entry action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_dns_entries_by_address",
+ "description": "network:get_dns_entries_by_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_dns_entries_by_name",
+ "description": "network:get_dns_entries_by_name action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:create_private_dns_domain",
+ "description": "network:create_private_dns_domain action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:create_public_dns_domain",
+ "description": "network:create_public_dns_domain action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:delete_dns_domain",
+ "description": "network:delete_dns_domain action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:attach_external_network",
+ "description": "network:attach_external_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "network:get_vif_by_mac_address",
+ "description": "network:get_vif_by_mac_address action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants",
+ "description": "os_compute_api:servers:detail:get_all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants",
+ "description": "os_compute_api:servers:index:get_all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:confirm_resize",
+ "description": "os_compute_api:servers:confirm_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create",
+ "description": "os_compute_api:servers:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_network",
+ "description": "os_compute_api:servers:create:attach_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create:attach_volume",
+ "description": "os_compute_api:servers:create:attach_volume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create:forced_host",
+ "description": "os_compute_api:servers:create:forced_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:delete",
+ "description": "os_compute_api:servers:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:update",
+ "description": "os_compute_api:servers:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:detail",
+ "description": "os_compute_api:servers:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:index",
+ "description": "os_compute_api:servers:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:reboot",
+ "description": "os_compute_api:servers:reboot action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:rebuild",
+ "description": "os_compute_api:servers:rebuild action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:resize",
+ "description": "os_compute_api:servers:resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:revert_resize",
+ "description": "os_compute_api:servers:revert_resize action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:show",
+ "description": "os_compute_api:servers:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create_image",
+ "description": "os_compute_api:servers:create_image action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed",
+ "description": "os_compute_api:servers:create_image:allow_volume_backed action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:start",
+ "description": "os_compute_api:servers:start action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:stop",
+ "description": "os_compute_api:servers:stop action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-access-ips:discoverable",
+ "description": "os_compute_api:os-access-ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-access-ips",
+ "description": "os_compute_api:os-access-ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions",
+ "description": "os_compute_api:os-admin-actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable",
+ "description": "os_compute_api:os-admin-actions:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network",
+ "description": "os_compute_api:os-admin-actions:reset_network action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info",
+ "description": "os_compute_api:os-admin-actions:inject_network_info action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state",
+ "description": "os_compute_api:os-admin-actions:reset_state action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-password",
+ "description": "os_compute_api:os-admin-password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-admin-password:discoverable",
+ "description": "os_compute_api:os-admin-password:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:discoverable",
+ "description": "os_compute_api:os-aggregates:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:index",
+ "description": "os_compute_api:os-aggregates:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:create",
+ "description": "os_compute_api:os-aggregates:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:show",
+ "description": "os_compute_api:os-aggregates:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:update",
+ "description": "os_compute_api:os-aggregates:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:delete",
+ "description": "os_compute_api:os-aggregates:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:add_host",
+ "description": "os_compute_api:os-aggregates:add_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:remove_host",
+ "description": "os_compute_api:os-aggregates:remove_host action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata",
+ "description": "os_compute_api:os-aggregates:set_metadata action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-agents",
+ "description": "os_compute_api:os-agents action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-agents:discoverable",
+ "description": "os_compute_api:os-agents:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces",
+ "description": "os_compute_api:os-attach-interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable",
+ "description": "os_compute_api:os-attach-interfaces:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes",
+ "description": "os_compute_api:os-baremetal-nodes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable",
+ "description": "os_compute_api:os-baremetal-nodes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable",
+ "description": "os_compute_api:os-block-device-mapping-v1:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells",
+ "description": "os_compute_api:os-cells action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:create",
+ "description": "os_compute_api:os-cells:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:delete",
+ "description": "os_compute_api:os-cells:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:update",
+ "description": "os_compute_api:os-cells:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:sync_instances",
+ "description": "os_compute_api:os-cells:sync_instances action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cells:discoverable",
+ "description": "os_compute_api:os-cells:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-certificates:create",
+ "description": "os_compute_api:os-certificates:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-certificates:show",
+ "description": "os_compute_api:os-certificates:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-certificates:discoverable",
+ "description": "os_compute_api:os-certificates:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe",
+ "description": "os_compute_api:os-cloudpipe action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable",
+ "description": "os_compute_api:os-cloudpipe:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-config-drive",
+ "description": "os_compute_api:os-config-drive action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:discoverable",
+ "description": "os_compute_api:os-consoles:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:create",
+ "description": "os_compute_api:os-consoles:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:delete",
+ "description": "os_compute_api:os-consoles:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:index",
+ "description": "os_compute_api:os-consoles:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-consoles:show",
+ "description": "os_compute_api:os-consoles:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-console-output:discoverable",
+ "description": "os_compute_api:os-console-output:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-console-output",
+ "description": "os_compute_api:os-console-output action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles",
+ "description": "os_compute_api:os-remote-consoles action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable",
+ "description": "os_compute_api:os-remote-consoles:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-create-backup:discoverable",
+ "description": "os_compute_api:os-create-backup:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-create-backup",
+ "description": "os_compute_api:os-create-backup action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete",
+ "description": "os_compute_api:os-deferred-delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable",
+ "description": "os_compute_api:os-deferred-delete:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-disk-config",
+ "description": "os_compute_api:os-disk-config action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-disk-config:discoverable",
+ "description": "os_compute_api:os-disk-config:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-evacuate",
+ "description": "os_compute_api:os-evacuate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-evacuate:discoverable",
+ "description": "os_compute_api:os-evacuate:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes",
+ "description": "os_compute_api:os-extended-server-attributes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable",
+ "description": "os_compute_api:os-extended-server-attributes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-status",
+ "description": "os_compute_api:os-extended-status action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-status:discoverable",
+ "description": "os_compute_api:os-extended-status:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone",
+ "description": "os_compute_api:os-extended-availability-zone action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable",
+ "description": "os_compute_api:os-extended-availability-zone:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:extensions",
+ "description": "os_compute_api:extensions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:extension_info:discoverable",
+ "description": "os_compute_api:extension_info:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes",
+ "description": "os_compute_api:os-extended-volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable",
+ "description": "os_compute_api:os-extended-volumes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips",
+ "description": "os_compute_api:os-fixed-ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable",
+ "description": "os_compute_api:os-fixed-ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access",
+ "description": "os_compute_api:os-flavor-access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable",
+ "description": "os_compute_api:os-flavor-access:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access",
+ "description": "os_compute_api:os-flavor-access:remove_tenant_access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access",
+ "description": "os_compute_api:os-flavor-access:add_tenant_access action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx",
+ "description": "os_compute_api:os-flavor-rxtx action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable",
+ "description": "os_compute_api:os-flavor-rxtx:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:flavors:discoverable",
+ "description": "os_compute_api:flavors:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable",
+ "description": "os_compute_api:os-flavor-extra-specs:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index",
+ "description": "os_compute_api:os-flavor-extra-specs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show",
+ "description": "os_compute_api:os-flavor-extra-specs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create",
+ "description": "os_compute_api:os-flavor-extra-specs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update",
+ "description": "os_compute_api:os-flavor-extra-specs:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete",
+ "description": "os_compute_api:os-flavor-extra-specs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable",
+ "description": "os_compute_api:os-flavor-manage:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-flavor-manage",
+ "description": "os_compute_api:os-flavor-manage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns",
+ "description": "os_compute_api:os-floating-ip-dns action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable",
+ "description": "os_compute_api:os-floating-ip-dns:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update",
+ "description": "os_compute_api:os-floating-ip-dns:domain:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete",
+ "description": "os_compute_api:os-floating-ip-dns:domain:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools",
+ "description": "os_compute_api:os-floating-ip-pools action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable",
+ "description": "os_compute_api:os-floating-ip-pools:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips",
+ "description": "os_compute_api:os-floating-ips action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable",
+ "description": "os_compute_api:os-floating-ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk",
+ "description": "os_compute_api:os-floating-ips-bulk action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable",
+ "description": "os_compute_api:os-floating-ips-bulk:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fping",
+ "description": "os_compute_api:os-fping action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fping:discoverable",
+ "description": "os_compute_api:os-fping:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-fping:all_tenants",
+ "description": "os_compute_api:os-fping:all_tenants action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses",
+ "description": "os_compute_api:os-hide-server-addresses action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable",
+ "description": "os_compute_api:os-hide-server-addresses:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hosts",
+ "description": "os_compute_api:os-hosts action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hosts:discoverable",
+ "description": "os_compute_api:os-hosts:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hypervisors",
+ "description": "os_compute_api:os-hypervisors action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable",
+ "description": "os_compute_api:os-hypervisors:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:images:discoverable",
+ "description": "os_compute_api:images:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:image-size",
+ "description": "os_compute_api:image-size action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:image-size:discoverable",
+ "description": "os_compute_api:image-size:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-actions",
+ "description": "os_compute_api:os-instance-actions action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable",
+ "description": "os_compute_api:os-instance-actions:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-actions:events",
+ "description": "os_compute_api:os-instance-actions:events action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log",
+ "description": "os_compute_api:os-instance-usage-audit-log action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable",
+ "description": "os_compute_api:os-instance-usage-audit-log:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:ips:discoverable",
+ "description": "os_compute_api:ips:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:ips:index",
+ "description": "os_compute_api:ips:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:ips:show",
+ "description": "os_compute_api:ips:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:discoverable",
+ "description": "os_compute_api:os-keypairs:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs",
+ "description": "os_compute_api:os-keypairs action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:index",
+ "description": "os_compute_api:os-keypairs:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:show",
+ "description": "os_compute_api:os-keypairs:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:create",
+ "description": "os_compute_api:os-keypairs:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-keypairs:delete",
+ "description": "os_compute_api:os-keypairs:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:limits:discoverable",
+ "description": "os_compute_api:limits:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:limits",
+ "description": "os_compute_api:limits action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:discoverable",
+ "description": "os_compute_api:os-lock-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:lock",
+ "description": "os_compute_api:os-lock-server:lock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock",
+ "description": "os_compute_api:os-lock-server:unlock action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override",
+ "description": "os_compute_api:os-lock-server:unlock:unlock_override action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable",
+ "description": "os_compute_api:os-migrate-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate",
+ "description": "os_compute_api:os-migrate-server:migrate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live",
+ "description": "os_compute_api:os-migrate-server:migrate_live action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-multinic",
+ "description": "os_compute_api:os-multinic action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-multinic:discoverable",
+ "description": "os_compute_api:os-multinic:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks",
+ "description": "os_compute_api:os-networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks:view",
+ "description": "os_compute_api:os-networks:view action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks:discoverable",
+ "description": "os_compute_api:os-networks:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks-associate",
+ "description": "os_compute_api:os-networks-associate action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable",
+ "description": "os_compute_api:os-networks-associate:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pause-server:discoverable",
+ "description": "os_compute_api:os-pause-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pause-server:pause",
+ "description": "os_compute_api:os-pause-server:pause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pause-server:unpause",
+ "description": "os_compute_api:os-pause-server:unpause action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:pci_servers",
+ "description": "os_compute_api:os-pci:pci_servers action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:discoverable",
+ "description": "os_compute_api:os-pci:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:index",
+ "description": "os_compute_api:os-pci:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:detail",
+ "description": "os_compute_api:os-pci:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-pci:show",
+ "description": "os_compute_api:os-pci:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-personality:discoverable",
+ "description": "os_compute_api:os-personality:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable",
+ "description": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable",
+ "description": "os_compute_api:os-quota-sets:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:show",
+ "description": "os_compute_api:os-quota-sets:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:defaults",
+ "description": "os_compute_api:os-quota-sets:defaults action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:update",
+ "description": "os_compute_api:os-quota-sets:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:delete",
+ "description": "os_compute_api:os-quota-sets:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-sets:detail",
+ "description": "os_compute_api:os-quota-sets:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:update",
+ "description": "os_compute_api:os-quota-class-sets:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:show",
+ "description": "os_compute_api:os-quota-class-sets:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable",
+ "description": "os_compute_api:os-quota-class-sets:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-rescue",
+ "description": "os_compute_api:os-rescue action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-rescue:discoverable",
+ "description": "os_compute_api:os-rescue:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable",
+ "description": "os_compute_api:os-scheduler-hints:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable",
+ "description": "os_compute_api:os-security-group-default-rules:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-group-default-rules",
+ "description": "os_compute_api:os-security-group-default-rules action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-groups",
+ "description": "os_compute_api:os-security-groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-security-groups:discoverable",
+ "description": "os_compute_api:os-security-groups:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics",
+ "description": "os_compute_api:os-server-diagnostics action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable",
+ "description": "os_compute_api:os-server-diagnostics:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-password",
+ "description": "os_compute_api:os-server-password action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-password:discoverable",
+ "description": "os_compute_api:os-server-password:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-usage",
+ "description": "os_compute_api:os-server-usage action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-usage:discoverable",
+ "description": "os_compute_api:os-server-usage:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-groups",
+ "description": "os_compute_api:os-server-groups action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-groups:discoverable",
+ "description": "os_compute_api:os-server-groups:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-services",
+ "description": "os_compute_api:os-services action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-services:discoverable",
+ "description": "os_compute_api:os-services:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:discoverable",
+ "description": "os_compute_api:server-metadata:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:index",
+ "description": "os_compute_api:server-metadata:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:show",
+ "description": "os_compute_api:server-metadata:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:delete",
+ "description": "os_compute_api:server-metadata:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:create",
+ "description": "os_compute_api:server-metadata:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:update",
+ "description": "os_compute_api:server-metadata:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:server-metadata:update_all",
+ "description": "os_compute_api:server-metadata:update_all action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:servers:discoverable",
+ "description": "os_compute_api:servers:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve",
+ "description": "os_compute_api:os-shelve:shelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable",
+ "description": "os_compute_api:os-shelve:shelve:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload",
+ "description": "os_compute_api:os-shelve:shelve_offload action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable",
+ "description": "os_compute_api:os-simple-tenant-usage:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show",
+ "description": "os_compute_api:os-simple-tenant-usage:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list",
+ "description": "os_compute_api:os-simple-tenant-usage:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable",
+ "description": "os_compute_api:os-suspend-server:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:suspend",
+ "description": "os_compute_api:os-suspend-server:suspend action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-suspend-server:resume",
+ "description": "os_compute_api:os-suspend-server:resume action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks",
+ "description": "os_compute_api:os-tenant-networks action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable",
+ "description": "os_compute_api:os-tenant-networks:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-shelve:unshelve",
+ "description": "os_compute_api:os-shelve:unshelve action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-user-data:discoverable",
+ "description": "os_compute_api:os-user-data:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces",
+ "description": "os_compute_api:os-virtual-interfaces action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable",
+ "description": "os_compute_api:os-virtual-interfaces:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes",
+ "description": "os_compute_api:os-volumes action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes:discoverable",
+ "description": "os_compute_api:os-volumes:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:index",
+ "description": "os_compute_api:os-volumes-attachments:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:show",
+ "description": "os_compute_api:os-volumes-attachments:show action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:create",
+ "description": "os_compute_api:os-volumes-attachments:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:update",
+ "description": "os_compute_api:os-volumes-attachments:update action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete",
+ "description": "os_compute_api:os-volumes-attachments:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable",
+ "description": "os_compute_api:os-volumes-attachments:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:list",
+ "description": "os_compute_api:os-availability-zone:list action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable",
+ "description": "os_compute_api:os-availability-zone:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-availability-zone:detail",
+ "description": "os_compute_api:os-availability-zone:detail action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-used-limits",
+ "description": "os_compute_api:os-used-limits action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-used-limits:discoverable",
+ "description": "os_compute_api:os-used-limits:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrations:index",
+ "description": "os_compute_api:os-migrations:index action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-migrations:discoverable",
+ "description": "os_compute_api:os-migrations:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create",
+ "description": "os_compute_api:os-assisted-volume-snapshots:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete",
+ "description": "os_compute_api:os-assisted-volume-snapshots:delete action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable",
+ "description": "os_compute_api:os-assisted-volume-snapshots:discoverable action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-console-auth-tokens",
+ "description": "os_compute_api:os-console-auth-tokens action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ },
+ {
+ "name": "os_compute_api:os-server-external-events:create",
+ "description": "os_compute_api:os-server-external-events:create action for nova",
+ "policies": [],
+ "category": {
+ "name": "action_id"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {
+ "name": "cells_scheduler_filter:TargetCellFilter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create:attach_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create:attach_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create:attach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create:attach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:create:forced_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:create:forced_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_all_instance_system_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_all_instance_system_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:update_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:update_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:delete_instance_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:delete_instance_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_instance_faults"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_instance_faults"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_instance_diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_instance_diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:start"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:start"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:stop"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:stop"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unlock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unlock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unlock_override"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unlock_override"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_vnc_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_vnc_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_spice_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_spice_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_rdp_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_rdp_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_serial_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_serial_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_mks_console"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_mks_console"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:get_console_output"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:get_console_output"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:reset_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:reset_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:inject_network_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:inject_network_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:add_fixed_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:add_fixed_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:remove_fixed_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:remove_fixed_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:attach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:attach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:detach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:detach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:swap_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:swap_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:attach_interface"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:attach_interface"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:detach_interface"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:detach_interface"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:set_admin_password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:set_admin_password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:rescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:rescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unrescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unrescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:suspend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:suspend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:resume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:resume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:pause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:pause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unpause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unpause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:shelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:shelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:shelve_offload"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:shelve_offload"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:unshelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:unshelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:snapshot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:snapshot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:snapshot_volume_backed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:snapshot_volume_backed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:backup"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:backup"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:confirm_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:confirm_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:revert_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:revert_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:rebuild"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:rebuild"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:reboot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:reboot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:soft_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:soft_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:force_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:force_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:security_groups:add_to_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:security_groups:add_to_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:security_groups:remove_from_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:security_groups:remove_from_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:restore"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:restore"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:volume_snapshot_create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:volume_snapshot_create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute:volume_snapshot_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute:volume_snapshot_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:accounts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:accounts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:pause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:pause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:unpause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:unpause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:suspend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:suspend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:resume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:resume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:unlock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:unlock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:resetNetwork"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:resetNetwork"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:injectNetworkInfo"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:createBackup"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:createBackup"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:migrateLive"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:migrateLive"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:resetState"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:resetState"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:admin_actions:migrate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:admin_actions:migrate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:aggregates"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:aggregates"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:agents"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:agents"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:attach_interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:attach_interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:baremetal_nodes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:baremetal_nodes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cells:sync_instances"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cells:sync_instances"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:certificates"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:certificates"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cloudpipe"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cloudpipe"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:cloudpipe_update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:cloudpipe_update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:config_drive"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:config_drive"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:console_output"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:console_output"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:consoles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:consoles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:createserverext"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:createserverext"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:deferred_delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:deferred_delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:disk_config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:disk_config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:evacuate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:evacuate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_server_attributes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_server_attributes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_availability_zone"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_availability_zone"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_ips_mac"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_ips_mac"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_vif_net"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_vif_net"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:extended_volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:extended_volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:fixed_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:fixed_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_access:addTenantAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_access:removeTenantAccess"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_disabled"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_disabled"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_rxtx"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_rxtx"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavor_swap"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavor_swap"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextradata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextradata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavorextraspecs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavorextraspecs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:flavormanage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:flavormanage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ip_dns"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ip_dns"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ip_pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ip_pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:floating_ips_bulk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:floating_ips_bulk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:fping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:fping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:fping:all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:fping:all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:hide_server_addresses"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:hide_server_addresses"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:hosts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:hosts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:hypervisors"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:hypervisors"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:image_size"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:image_size"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:instance_actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:instance_actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:instance_actions:events"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:instance_actions:events"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:instance_usage_audit_log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:instance_usage_audit_log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:keypairs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:keypairs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:multinic"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:multinic"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:networks:view"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:networks:view"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:networks_associate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:networks_associate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-tenant-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-tenant-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quotas:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quotas:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quotas:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quotas:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quotas:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quotas:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:quota_classes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:quota_classes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:rescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:rescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:security_group_default_rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:security_group_default_rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:security_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:security_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:server_usage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:server_usage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:services"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:services"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:shelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:shelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:shelveOffload"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:shelveOffload"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:simple_tenant_usage:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:simple_tenant_usage:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:simple_tenant_usage:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:simple_tenant_usage:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:unshelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:unshelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:users"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:users"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:virtual_interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:virtual_interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:virtual_storage_arrays"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:virtual_storage_arrays"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volume_attachments:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volume_attachments:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:volumetypes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:volumetypes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:availability_zone:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:availability_zone:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:availability_zone:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:availability_zone:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:used_limits_for_admin"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:used_limits_for_admin"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:migrations:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:migrations:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-assisted-volume-snapshots:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:console_auth_tokens"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:console_auth_tokens"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "compute_extension:os-server-external-events:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "compute_extension:os-server-external-events:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:associate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:associate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:disassociate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:disassociate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_vifs_by_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_vifs_by_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:allocate_for_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:allocate_for_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:deallocate_for_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:deallocate_for_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:validate_networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:validate_networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_instance_uuids_by_ip_filter"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_instance_uuids_by_ip_filter"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_instance_id_by_floating_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_instance_id_by_floating_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:setup_networks_on_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:setup_networks_on_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_backdoor_port"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_backdoor_port"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ip_pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ip_pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ip_by_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ip_by_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ips_by_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ips_by_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_floating_ips_by_fixed_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_floating_ips_by_fixed_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:allocate_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:allocate_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:associate_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:associate_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:disassociate_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:disassociate_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:release_floating_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:release_floating_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:migrate_instance_start"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:migrate_instance_start"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:migrate_instance_finish"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:migrate_instance_finish"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_fixed_ip"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_fixed_ip"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_fixed_ip_by_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_fixed_ip_by_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:add_fixed_ip_to_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:add_fixed_ip_to_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:remove_fixed_ip_from_instance"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:remove_fixed_ip_from_instance"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:add_network_to_project"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:add_network_to_project"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_instance_nw_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_instance_nw_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_dns_domains"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_dns_domains"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:add_dns_entry"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:add_dns_entry"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:modify_dns_entry"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:modify_dns_entry"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:delete_dns_entry"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:delete_dns_entry"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_dns_entries_by_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_dns_entries_by_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_dns_entries_by_name"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_dns_entries_by_name"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:create_private_dns_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:create_private_dns_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:create_public_dns_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:create_public_dns_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:delete_dns_domain"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:delete_dns_domain"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:attach_external_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:attach_external_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "network:get_vif_by_mac_address"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "network:get_vif_by_mac_address"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:detail:get_all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:index:get_all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:confirm_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:confirm_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create:attach_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create:attach_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create:attach_volume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create:attach_volume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create:forced_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create:forced_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:reboot"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:reboot"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:rebuild"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:rebuild"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:revert_resize"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:revert_resize"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create_image"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create_image"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:start"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:start"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:stop"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:stop"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-access-ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-access-ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-access-ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-access-ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:reset_network"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:inject_network_info"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-actions:reset_state"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-admin-password:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-admin-password:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:add_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:add_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:remove_host"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:remove_host"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-aggregates:set_metadata"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-agents"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-agents"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-agents:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-agents:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-attach-interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-attach-interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-attach-interfaces:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-baremetal-nodes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:sync_instances"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:sync_instances"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cells:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cells:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-certificates:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-certificates:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-certificates:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-certificates:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-certificates:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-certificates:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cloudpipe"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cloudpipe"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-cloudpipe:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-config-drive"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-config-drive"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-consoles:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-consoles:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-console-output:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-console-output:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-console-output"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-console-output"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-remote-consoles"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-remote-consoles"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-remote-consoles:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-create-backup:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-create-backup:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-create-backup"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-create-backup"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-deferred-delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-deferred-delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-deferred-delete:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-disk-config"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-disk-config"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-disk-config:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-disk-config:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-evacuate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-evacuate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-evacuate:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-evacuate:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-server-attributes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-status"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-status"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-status:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-status:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-availability-zone"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:extensions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:extensions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:extension_info:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:extension_info:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-extended-volumes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fixed-ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fixed-ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fixed-ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-rxtx"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:flavors:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:flavors:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-extra-specs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-manage:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-flavor-manage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-flavor-manage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-pools"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips-bulk"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fping"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fping"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fping:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fping:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-fping:all_tenants"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-fping:all_tenants"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hide-server-addresses"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hosts"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hosts"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hosts:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hosts:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hypervisors"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hypervisors"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-hypervisors:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:images:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:images:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:image-size"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:image-size"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:image-size:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:image-size:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-actions"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-actions"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-actions:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-actions:events"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-actions:events"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-usage-audit-log"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:ips:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:ips:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:ips:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:ips:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:ips:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:ips:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-keypairs:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-keypairs:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:limits:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:limits:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:lock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:lock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:unlock"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrate-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrate-server:migrate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrate-server:migrate_live"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-multinic"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-multinic"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-multinic:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-multinic:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks:view"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks:view"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks-associate"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks-associate"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-networks-associate:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pause-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pause-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pause-server:pause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pause-server:pause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pause-server:unpause"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pause-server:unpause"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:pci_servers"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:pci_servers"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-pci:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-pci:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-personality:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-personality:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:defaults"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:defaults"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-sets:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-sets:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-class-sets:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-class-sets:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-quota-class-sets:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-rescue"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-rescue"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-rescue:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-rescue:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-scheduler-hints:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-group-default-rules"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-security-groups:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-security-groups:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-diagnostics"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-diagnostics"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-diagnostics:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-password"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-password"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-password:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-password:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-usage"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-usage"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-usage:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-usage:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-groups"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-groups"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-groups:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-groups:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-services"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-services"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-services:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-services:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:server-metadata:update_all"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:server-metadata:update_all"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:servers:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:servers:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:shelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:shelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:shelve:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:shelve_offload"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-simple-tenant-usage:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-simple-tenant-usage:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-suspend-server:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-suspend-server:suspend"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-suspend-server:suspend"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-suspend-server:resume"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-suspend-server:resume"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-tenant-networks"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-tenant-networks"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-tenant-networks:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-shelve:unshelve"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-shelve:unshelve"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-user-data:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-user-data:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-virtual-interfaces"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:show"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:show"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:update"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:update"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-volumes-attachments:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-availability-zone:list"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-availability-zone:list"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-availability-zone:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-availability-zone:detail"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-availability-zone:detail"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-used-limits"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-used-limits"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-used-limits:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-used-limits:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrations:index"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrations:index"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-migrations:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-migrations:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-console-auth-tokens"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-console-auth-tokens"
+ }
+ ]
+ },
+ {
+ "action": {
+ "name": "os_compute_api:os-server-external-events:create"
+ },
+ "category": {
+ "name": "action_id"
+ },
+ "assignments": [
+ {
+ "name": "os_compute_api:os-server-external-events:create"
+ }
+ ]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [
+ {
+ "name": "role"
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id"
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "action_id"
+ }
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "cells_scheduler_filter:TargetCellFilter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create:attach_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create:attach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:create:forced_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_all_instance_system_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:update_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:delete_instance_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_instance_faults"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_instance_diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:start"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:stop"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unlock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unlock_override"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_vnc_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_spice_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_rdp_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_serial_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_mks_console"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:get_console_output"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:reset_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:inject_network_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:add_fixed_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:remove_fixed_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:attach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:detach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:swap_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:attach_interface"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:detach_interface"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:set_admin_password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:rescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unrescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:suspend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:resume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:pause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unpause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:shelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:shelve_offload"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:unshelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:snapshot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:snapshot_volume_backed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:backup"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:confirm_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:revert_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:rebuild"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:reboot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:soft_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:force_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:security_groups:add_to_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:security_groups:remove_from_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:restore"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:volume_snapshot_create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute:volume_snapshot_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:accounts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:pause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:unpause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:suspend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:resume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:unlock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:resetNetwork"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:injectNetworkInfo"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:createBackup"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:migrateLive"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:resetState"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:admin_actions:migrate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:aggregates"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:agents"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:attach_interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:baremetal_nodes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cells:sync_instances"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:certificates"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cloudpipe"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:cloudpipe_update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:config_drive"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:console_output"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:consoles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:createserverext"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:deferred_delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:disk_config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:evacuate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_server_attributes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_availability_zone"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_ips_mac"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_vif_net"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:extended_volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:fixed_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_access:addTenantAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_access:removeTenantAccess"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_disabled"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_rxtx"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavor_swap"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextradata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavorextraspecs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:flavormanage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ip_dns"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ip_pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:floating_ips_bulk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:fping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:fping:all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:hide_server_addresses"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:hosts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:hypervisors"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:image_size"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:instance_actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:instance_actions:events"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:instance_usage_audit_log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:keypairs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:multinic"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:networks:view"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:networks_associate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-tenant-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quotas:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quotas:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quotas:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:quota_classes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:rescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:security_group_default_rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:security_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:server_usage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:services"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:shelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:shelveOffload"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:simple_tenant_usage:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:simple_tenant_usage:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:unshelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:users"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:virtual_interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:virtual_storage_arrays"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volume_attachments:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:volumetypes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:availability_zone:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:availability_zone:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:used_limits_for_admin"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:migrations:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:console_auth_tokens"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "compute_extension:os-server-external-events:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:associate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:disassociate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_vifs_by_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:allocate_for_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:deallocate_for_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:validate_networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_instance_uuids_by_ip_filter"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_instance_id_by_floating_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:setup_networks_on_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_backdoor_port"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ip_pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ip_by_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ips_by_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_floating_ips_by_fixed_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:allocate_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:associate_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:disassociate_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:release_floating_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:migrate_instance_start"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:migrate_instance_finish"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_fixed_ip"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_fixed_ip_by_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:add_fixed_ip_to_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:remove_fixed_ip_from_instance"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:add_network_to_project"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_instance_nw_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_dns_domains"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:add_dns_entry"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:modify_dns_entry"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:delete_dns_entry"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_dns_entries_by_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_dns_entries_by_name"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:create_private_dns_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:create_public_dns_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:delete_dns_domain"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:attach_external_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "network:get_vif_by_mac_address"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:detail:get_all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:index:get_all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:confirm_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create:attach_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create:attach_volume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create:forced_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:reboot"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:rebuild"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:revert_resize"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create_image"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:create_image:allow_volume_backed"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:start"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:stop"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-access-ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-access-ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_network"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:inject_network_info"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-actions:reset_state"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-admin-password:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:add_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:remove_host"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-aggregates:set_metadata"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-agents"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-agents:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-attach-interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-attach-interfaces:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-baremetal-nodes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-block-device-mapping-v1:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:sync_instances"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cells:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-certificates:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-certificates:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-certificates:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cloudpipe"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-cloudpipe:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-config-drive"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-consoles:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-console-output:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-console-output"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-remote-consoles"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-remote-consoles:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-create-backup:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-create-backup"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-deferred-delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-deferred-delete:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-disk-config"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-disk-config:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-evacuate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-evacuate:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-server-attributes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-status"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-status:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-availability-zone:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:extensions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:extension_info:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-extended-volumes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fixed-ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fixed-ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access:remove_tenant_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-access:add_tenant_access"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-rxtx:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:flavors:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-extra-specs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-manage:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-flavor-manage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-dns:domain:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ip-pools:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-floating-ips-bulk:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fping"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fping:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-fping:all_tenants"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hide-server-addresses:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hosts"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hosts:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hypervisors"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-hypervisors:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:images:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:image-size"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:image-size:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-actions"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-actions:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-actions:events"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-instance-usage-audit-log:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:ips:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:ips:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:ips:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-keypairs:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:limits:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:lock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-lock-server:unlock:unlock_override"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrate-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrate-server:migrate_live"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-multinic"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-multinic:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks:view"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks-associate"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-networks-associate:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pause-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pause-server:pause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pause-server:unpause"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:pci_servers"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-pci:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-personality:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-preserve-ephemeral-rebuild:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:defaults"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-sets:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-quota-class-sets:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-rescue"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-rescue:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-scheduler-hints:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-group-default-rules"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-security-groups:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-diagnostics"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-diagnostics:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-password"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-password:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-usage"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-usage:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-groups"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-groups:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-services"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-services:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:server-metadata:update_all"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:servers:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:shelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:shelve:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:shelve_offload"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-simple-tenant-usage:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-suspend-server:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-suspend-server:suspend"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-suspend-server:resume"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-tenant-networks"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-tenant-networks:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-shelve:unshelve"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-user-data:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-virtual-interfaces:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:show"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:update"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-volumes-attachments:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-availability-zone:list"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-availability-zone:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-availability-zone:detail"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-used-limits"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-used-limits:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrations:index"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-migrations:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:delete"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-assisted-volume-snapshots:discoverable"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-console-auth-tokens"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ },
+ {
+ "meta_rule": {
+ "name": "rbac"
+ },
+ "rule": {
+ "subject_data": [
+ {
+ "name": "admin"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "all_vm"
+ }
+ ],
+ "action_data": [
+ {
+ "name": "os_compute_api:os-server-external-events:create"
+ }
+ ]
+ },
+ "policy": {
+ "name": "OpenStack RBAC Policy"
+ },
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "enabled": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/policy_attributes.json b/moon_engine/tests/func_policies/policy_attributes.json
new file mode 100644
index 00000000..1b6aec83
--- /dev/null
+++ b/moon_engine/tests/func_policies/policy_attributes.json
@@ -0,0 +1,452 @@
+{
+ "policies": [
+ {
+ "name": "Attrs Policy",
+ "genre": "authz",
+ "description": "Attrs Policy with custom attributes",
+ "model": {
+ "name": "ATTRS"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "ATTRS",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "attrs"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Attrs Policy"
+ }
+ ]
+ },
+ {
+ "name": "demo",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Attrs Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "role of a user"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "user",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "admin"}]
+ },
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "user"}]
+ },
+ {
+ "subject": {"name": "demo"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "user"}]
+ }
+ ],
+ "objects": [
+ {
+ "name": "vm1",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Attrs Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Attrs Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Attrs Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "identification of the object"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "vm1",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {"name": "vm1"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm1"}]
+ },
+ {
+ "object": {"name": "vm2"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm2"}]
+ },
+ {
+ "object": {"name": "vm3"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm3"}]
+ }
+ ],
+ "actions": [
+ {
+ "name": "use_image",
+ "description": "use_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_image",
+ "description": "update_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "set_image",
+ "description": "set_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "type",
+ "description": ""
+ },
+ {
+ "name": "mode",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "read",
+ "description": "read action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "write",
+ "description": "write action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "execute",
+ "description": "execute action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {"name": "use_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "execute"}]
+ },
+ {
+ "action": {"name": "update_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "write"}]
+ },
+ {
+ "action": {"name": "set_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "write"}]
+ },
+ {
+ "action": {"name": "get_images"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "attrs",
+ "description": "",
+ "subject_categories": [{"name": "role"}],
+ "object_categories": [{"name": "id"}],
+ "action_categories": [{"name": "type"}, {"attr": "mode"}]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}, {"attr": "run"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "write"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "execute"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}, {"attr": "run"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "write"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm3"}],
+ "action_data": [{"name": "read"}, {"attr": "run"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm3"}],
+ "action_data": [{"name": "read"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}, {"attr": "run"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "write"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}, {"attr": "run"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "attrs"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}, {"attr": "build"}]
+ },
+ "policy": {"name": "Attrs Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ }
+ ],
+ "checks": {
+ "granted": [
+ ["admin", "vm1", "get_images"],
+ ["admin", "vm1", "set_image"],
+ ["admin", "vm1", "use_image"],
+ ["admin", "vm2", "get_images"],
+ ["admin", "vm2", "set_image"],
+ ["admin", "vm3", "get_images"],
+ ["demo", "vm1", "get_images"],
+ ["demo", "vm1", "set_image"],
+ ["demo", "vm2", "get_images"],
+ ["demo", "vm1", "get_images"]
+ ],
+ "denied": [
+ ["admin", "vm2", "update_image"],
+ ["admin", "vm3", "set_image"],
+ ["admin", "vm3", "update_image"],
+ ["demo", "vm1", "update_image"],
+ ["demo", "vm2", "set_image"],
+ ["demo", "vm2", "update_image"],
+ ["demo", "vm3", "get_images"],
+ ["demo", "vm3", "set_image"],
+ ["demo", "vm3", "update_image"]
+ ]
+ }
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/policy_mls.json b/moon_engine/tests/func_policies/policy_mls.json
new file mode 100644
index 00000000..6a8f22e9
--- /dev/null
+++ b/moon_engine/tests/func_policies/policy_mls.json
@@ -0,0 +1,495 @@
+{
+ "policies": [
+ {
+ "name": "MLS Policy",
+ "genre": "authz",
+ "description": "MLS policy",
+ "model": {
+ "name": "MLS"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "MLS",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "mls"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ },
+ {
+ "name": "demo",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "level",
+ "description": "subject level"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "high",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "medium",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "low",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "high"}]
+ },
+ {
+ "subject": {"name": "demo"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "low"}]
+ }
+ ],
+ "objects": [
+ {
+ "name": "vm1",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "level",
+ "description": "object level"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "high",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "medium",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "low",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {"name": "vm1"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "high"}]
+ },
+ {
+ "object": {"name": "vm2"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "medium"}]
+ },
+ {
+ "object": {"name": "vm3"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "low"}]
+ }
+ ],
+ "actions": [
+ {
+ "name": "use_image",
+ "description": "use_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_image",
+ "description": "update_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "set_image",
+ "description": "set_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "type",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "read",
+ "description": "read action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "write",
+ "description": "write action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "execute",
+ "description": "execute action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {"name": "use_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "execute"}]
+ },
+ {
+ "action": {"name": "update_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "write"}]
+ },
+ {
+ "action": {"name": "set_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "write"}]
+ },
+ {
+ "action": {"name": "get_images"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "mls",
+ "description": "",
+ "subject_categories": [{"name": "level"}],
+ "object_categories": [{"name": "level"}],
+ "action_categories": [{"name": "type"}]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "high"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "low"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "high"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "low"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "high"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "low"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ }
+ ],
+ "checks": {
+ "granted": [
+ ["admin", "vm1", "get_images"],
+ ["admin", "vm1", "set_image"],
+ ["admin", "vm1", "use_image"],
+ ["admin", "vm2", "get_images"],
+ ["admin", "vm2", "set_image"],
+ ["admin", "vm3", "get_images"],
+ ["demo", "vm3", "get_images"],
+ ["demo", "vm3", "set_image"],
+ ["demo", "vm3", "get_images"],
+ ["demo", "vm3Unknown data with id", "get_images"]
+ ],
+ "denied": [
+ ["admin", "vm2", "update_image"],
+ ["admin", "vm3", "set_image"],
+ ["admin", "vm3", "update_image"],
+ ["demo", "vm1", "update_image"],
+ ["demo", "vm2", "set_image"],
+ ["demo", "vm2", "update_image"],
+ ["demo", "vm3", "get_images"],
+ ["demo", "vm3", "set_image"],
+ ["demo", "vm3", "update_image"]
+ ]
+ }
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/policy_rbac.json b/moon_engine/tests/func_policies/policy_rbac.json
new file mode 100644
index 00000000..a4bc959c
--- /dev/null
+++ b/moon_engine/tests/func_policies/policy_rbac.json
@@ -0,0 +1,393 @@
+{
+ "policies": [
+ {
+ "name": "RBAC Policy",
+ "genre": "authz",
+ "description": "RBAC policy",
+ "model": {
+ "name": "RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "RBAC Policy"
+ }
+ ]
+ },
+ {
+ "name": "demo",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "role of a user"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "user",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "admin"}]
+ },
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "user"}]
+ },
+ {
+ "subject": {"name": "demo"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "user"}]
+ }
+ ],
+ "objects": [
+ {
+ "name": "vm1",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "RBAC Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "RBAC Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "RBAC Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "identification of the object"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "vm1",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {"name": "vm1"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm1"}]
+ },
+ {
+ "object": {"name": "vm2"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm2"}]
+ },
+ {
+ "object": {"name": "vm3"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm3"}]
+ }
+ ],
+ "actions": [
+ {
+ "name": "use_image",
+ "description": "use_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_image",
+ "description": "update_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "set_image",
+ "description": "set_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "type",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "read",
+ "description": "read action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "write",
+ "description": "write action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "execute",
+ "description": "execute action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {"name": "use_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "execute"}]
+ },
+ {
+ "action": {"name": "update_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "write"}]
+ },
+ {
+ "action": {"name": "set_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "write"}]
+ },
+ {
+ "action": {"name": "get_images"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [{"name": "role"}],
+ "object_categories": [{"name": "id"}],
+ "action_categories": [{"name": "type"}]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm3"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "RBAC Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ }
+ ],
+ "checks": {
+ "granted": [
+ ["admin", "vm1", "get_images"],
+ ["admin", "vm1", "set_image"],
+ ["admin", "vm1", "use_image"],
+ ["admin", "vm2", "get_images"],
+ ["admin", "vm2", "set_image"],
+ ["admin", "vm3", "get_images"],
+ ["demo", "vm1", "get_images"],
+ ["demo", "vm1", "set_image"],
+ ["demo", "vm2", "get_images"],
+ ["demo", "vm1", "get_images"]
+ ],
+ "denied": [
+ ["admin", "vm2", "update_image"],
+ ["admin", "vm3", "set_image"],
+ ["admin", "vm3", "update_image"],
+ ["demo", "vm1", "update_image"],
+ ["demo", "vm2", "set_image"],
+ ["demo", "vm2", "update_image"],
+ ["demo", "vm3", "get_images"],
+ ["demo", "vm3", "set_image"],
+ ["demo", "vm3", "update_image"]
+ ]
+ }
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_policies/test_base_configuration.py b/moon_engine/tests/func_policies/test_base_configuration.py
new file mode 100644
index 00000000..77f97df2
--- /dev/null
+++ b/moon_engine/tests/func_policies/test_base_configuration.py
@@ -0,0 +1,30 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import json
+import logging
+import requests
+import yaml
+from moon_engine.api import configuration
+
+LOGGER = logging.getLogger("moon.engine.server")
+
+
+def test_rbac():
+ filename = "moon.yaml"
+ configuration.set_configuration(yaml.safe_load(open(filename)))
+ data = json.loads(open(configuration.get_configuration("data")).read())
+ for granted in data.get("checks", {}).get("granted", {}):
+ req = requests.get("http://127.0.0.1:10000/authz/{}/{}/{}".format(
+ granted[0], granted[1], granted[2]
+ ))
+ assert req.status_code == 204
diff --git a/moon_engine/tests/func_policies/tmp/glance.policy.json b/moon_engine/tests/func_policies/tmp/glance.policy.json
new file mode 100644
index 00000000..5b1f6be7
--- /dev/null
+++ b/moon_engine/tests/func_policies/tmp/glance.policy.json
@@ -0,0 +1,63 @@
+{
+ "context_is_admin": "role:admin",
+ "default": "role:admin",
+
+ "add_image": "",
+ "delete_image": "",
+ "get_image": "",
+ "get_images": "",
+ "modify_image": "",
+ "publicize_image": "role:admin",
+ "communitize_image": "",
+ "copy_from": "",
+
+ "download_image": "",
+ "upload_image": "",
+
+ "delete_image_location": "",
+ "get_image_location": "",
+ "set_image_location": "",
+
+ "add_member": "",
+ "delete_member": "",
+ "get_member": "",
+ "get_members": "",
+ "modify_member": "",
+
+ "manage_image_cache": "role:admin",
+
+ "get_task": "",
+ "get_tasks": "",
+ "add_task": "",
+ "modify_task": "",
+ "tasks_api_access": "role:admin",
+
+ "deactivate": "",
+ "reactivate": "",
+
+ "get_metadef_namespace": "",
+ "get_metadef_namespaces":"",
+ "modify_metadef_namespace":"",
+ "add_metadef_namespace":"",
+
+ "get_metadef_object":"",
+ "get_metadef_objects":"",
+ "modify_metadef_object":"",
+ "add_metadef_object":"",
+
+ "list_metadef_resource_types":"",
+ "get_metadef_resource_type":"",
+ "add_metadef_resource_type_association":"",
+
+ "get_metadef_property":"",
+ "get_metadef_properties":"",
+ "modify_metadef_property":"",
+ "add_metadef_property":"",
+
+ "get_metadef_tag":"",
+ "get_metadef_tags":"",
+ "modify_metadef_tag":"",
+ "add_metadef_tag":"",
+ "add_metadef_tags":""
+
+}
diff --git a/moon_engine/tests/func_policies/tmp/keystone.policy.json b/moon_engine/tests/func_policies/tmp/keystone.policy.json
new file mode 100644
index 00000000..263912bf
--- /dev/null
+++ b/moon_engine/tests/func_policies/tmp/keystone.policy.json
@@ -0,0 +1,260 @@
+{
+ "admin_required": "role:admin",
+ "cloud_admin": "role:admin and (is_admin_project:True or domain_id:admin_domain_id)",
+ "service_role": "role:service",
+ "service_or_admin": "rule:admin_required or rule:service_role",
+ "owner": "user_id:%(user_id)s or user_id:%(target.token.user_id)s",
+ "admin_or_owner": "(rule:admin_required and domain_id:%(target.token.user.domain.id)s) or rule:owner",
+ "admin_and_matching_domain_id": "rule:admin_required and domain_id:%(domain_id)s",
+ "service_admin_or_owner": "rule:service_or_admin or rule:owner",
+
+ "default": "rule:admin_required",
+
+ "identity:get_region": "",
+ "identity:list_regions": "",
+ "identity:create_region": "rule:cloud_admin",
+ "identity:update_region": "rule:cloud_admin",
+ "identity:delete_region": "rule:cloud_admin",
+
+ "identity:get_service": "rule:admin_required",
+ "identity:list_services": "rule:admin_required",
+ "identity:create_service": "rule:cloud_admin",
+ "identity:update_service": "rule:cloud_admin",
+ "identity:delete_service": "rule:cloud_admin",
+
+ "identity:get_endpoint": "rule:admin_required",
+ "identity:list_endpoints": "rule:admin_required",
+ "identity:create_endpoint": "rule:cloud_admin",
+ "identity:update_endpoint": "rule:cloud_admin",
+ "identity:delete_endpoint": "rule:cloud_admin",
+
+ "identity:get_registered_limit": "",
+ "identity:list_registered_limits": "",
+ "identity:create_registered_limits": "rule:admin_required",
+ "identity:update_registered_limits": "rule:admin_required",
+ "identity:delete_registered_limit": "rule:admin_required",
+
+ "identity:get_limit": "",
+ "identity:list_limits": "",
+ "identity:create_limits": "rule:admin_required",
+ "identity:update_limits": "rule:admin_required",
+ "identity:delete_limit": "rule:admin_required",
+
+ "identity:get_domain": "rule:cloud_admin or rule:admin_and_matching_domain_id or token.project.domain.id:%(target.domain.id)s",
+ "identity:list_domains": "rule:cloud_admin",
+ "identity:create_domain": "rule:cloud_admin",
+ "identity:update_domain": "rule:cloud_admin",
+ "identity:delete_domain": "rule:cloud_admin",
+
+ "admin_and_matching_target_project_domain_id": "rule:admin_required and domain_id:%(target.project.domain_id)s",
+ "admin_and_matching_project_domain_id": "rule:admin_required and domain_id:%(project.domain_id)s",
+ "identity:get_project": "rule:cloud_admin or rule:admin_and_matching_target_project_domain_id or project_id:%(target.project.id)s",
+ "identity:list_projects": "rule:cloud_admin or rule:admin_and_matching_domain_id",
+ "identity:list_user_projects": "rule:owner or rule:admin_and_matching_domain_id",
+ "identity:create_project": "rule:cloud_admin or rule:admin_and_matching_project_domain_id",
+ "identity:update_project": "rule:cloud_admin or rule:admin_and_matching_target_project_domain_id",
+ "identity:delete_project": "rule:cloud_admin or rule:admin_and_matching_target_project_domain_id",
+ "identity:create_project_tag": "rule:admin_required",
+ "identity:delete_project_tag": "rule:admin_required",
+ "identity:get_project_tag": "rule:admin_required",
+ "identity:list_project_tags": "rule:admin_required",
+ "identity:delete_project_tags": "rule:admin_required",
+ "identity:update_project_tags": "rule:admin_required",
+
+ "admin_and_matching_target_user_domain_id": "rule:admin_required and domain_id:%(target.user.domain_id)s",
+ "admin_and_matching_user_domain_id": "rule:admin_required and domain_id:%(user.domain_id)s",
+ "identity:get_user": "rule:cloud_admin or rule:admin_and_matching_target_user_domain_id or rule:owner",
+ "identity:list_users": "rule:cloud_admin or rule:admin_and_matching_domain_id",
+ "identity:create_user": "rule:cloud_admin or rule:admin_and_matching_user_domain_id",
+ "identity:update_user": "rule:cloud_admin or rule:admin_and_matching_target_user_domain_id",
+ "identity:delete_user": "rule:cloud_admin or rule:admin_and_matching_target_user_domain_id",
+
+ "admin_and_matching_target_group_domain_id": "rule:admin_required and domain_id:%(target.group.domain_id)s",
+ "admin_and_matching_group_domain_id": "rule:admin_required and domain_id:%(group.domain_id)s",
+ "identity:get_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+ "identity:list_groups": "rule:cloud_admin or rule:admin_and_matching_domain_id",
+ "identity:list_groups_for_user": "rule:owner or rule:admin_and_matching_target_user_domain_id",
+ "identity:create_group": "rule:cloud_admin or rule:admin_and_matching_group_domain_id",
+ "identity:update_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+ "identity:delete_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+ "identity:list_users_in_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+ "identity:remove_user_from_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+ "identity:check_user_in_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+ "identity:add_user_to_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
+
+ "identity:get_credential": "rule:admin_required",
+ "identity:list_credentials": "rule:admin_required or user_id:%(user_id)s",
+ "identity:create_credential": "rule:admin_required",
+ "identity:update_credential": "rule:admin_required",
+ "identity:delete_credential": "rule:admin_required",
+
+ "identity:ec2_get_credential": "rule:admin_required or (rule:owner and user_id:%(target.credential.user_id)s)",
+ "identity:ec2_list_credentials": "rule:admin_required or rule:owner",
+ "identity:ec2_create_credential": "rule:admin_required or rule:owner",
+ "identity:ec2_delete_credential": "rule:admin_required or (rule:owner and user_id:%(target.credential.user_id)s)",
+
+ "identity:get_role": "rule:admin_required",
+ "identity:list_roles": "rule:admin_required",
+ "identity:create_role": "rule:cloud_admin",
+ "identity:update_role": "rule:cloud_admin",
+ "identity:delete_role": "rule:cloud_admin",
+
+ "identity:get_domain_role": "rule:cloud_admin or rule:get_domain_roles",
+ "identity:list_domain_roles": "rule:cloud_admin or rule:list_domain_roles",
+ "identity:create_domain_role": "rule:cloud_admin or rule:domain_admin_matches_domain_role",
+ "identity:update_domain_role": "rule:cloud_admin or rule:domain_admin_matches_target_domain_role",
+ "identity:delete_domain_role": "rule:cloud_admin or rule:domain_admin_matches_target_domain_role",
+ "domain_admin_matches_domain_role": "rule:admin_required and domain_id:%(role.domain_id)s",
+ "get_domain_roles": "rule:domain_admin_matches_target_domain_role or rule:project_admin_matches_target_domain_role",
+ "domain_admin_matches_target_domain_role": "rule:admin_required and domain_id:%(target.role.domain_id)s",
+ "project_admin_matches_target_domain_role": "rule:admin_required and project_domain_id:%(target.role.domain_id)s",
+ "list_domain_roles": "rule:domain_admin_matches_filter_on_list_domain_roles or rule:project_admin_matches_filter_on_list_domain_roles",
+ "domain_admin_matches_filter_on_list_domain_roles": "rule:admin_required and domain_id:%(domain_id)s",
+ "project_admin_matches_filter_on_list_domain_roles": "rule:admin_required and project_domain_id:%(domain_id)s",
+ "admin_and_matching_prior_role_domain_id": "rule:admin_required and domain_id:%(target.prior_role.domain_id)s",
+ "implied_role_matches_prior_role_domain_or_global": "(domain_id:%(target.implied_role.domain_id)s or None:%(target.implied_role.domain_id)s)",
+
+ "identity:get_implied_role": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
+ "identity:list_implied_roles": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
+ "identity:create_implied_role": "rule:cloud_admin or (rule:admin_and_matching_prior_role_domain_id and rule:implied_role_matches_prior_role_domain_or_global)",
+ "identity:delete_implied_role": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
+ "identity:list_role_inference_rules": "rule:cloud_admin",
+ "identity:check_implied_role": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
+
+ "identity:list_system_grants_for_user": "rule:admin_required",
+ "identity:check_system_grant_for_user": "rule:admin_required",
+ "identity:create_system_grant_for_user": "rule:admin_required",
+ "identity:revoke_system_grant_for_user": "rule:admin_required",
+
+ "identity:list_system_grants_for_group": "rule:admin_required",
+ "identity:check_system_grant_for_group": "rule:admin_required",
+ "identity:create_system_grant_for_group": "rule:admin_required",
+ "identity:revoke_system_grant_for_group": "rule:admin_required",
+
+ "identity:check_grant": "rule:cloud_admin or rule:domain_admin_for_grants or rule:project_admin_for_grants",
+ "identity:list_grants": "rule:cloud_admin or rule:domain_admin_for_list_grants or rule:project_admin_for_list_grants",
+ "identity:create_grant": "rule:cloud_admin or rule:domain_admin_for_grants or rule:project_admin_for_grants",
+ "identity:revoke_grant": "rule:cloud_admin or rule:domain_admin_for_grants or rule:project_admin_for_grants",
+ "domain_admin_for_grants": "rule:domain_admin_for_global_role_grants or rule:domain_admin_for_domain_role_grants",
+ "domain_admin_for_global_role_grants": "rule:admin_required and None:%(target.role.domain_id)s and rule:domain_admin_grant_match",
+ "domain_admin_for_domain_role_grants": "rule:admin_required and domain_id:%(target.role.domain_id)s and rule:domain_admin_grant_match",
+ "domain_admin_grant_match": "domain_id:%(domain_id)s or domain_id:%(target.project.domain_id)s",
+ "project_admin_for_grants": "rule:project_admin_for_global_role_grants or rule:project_admin_for_domain_role_grants",
+ "project_admin_for_global_role_grants": "rule:admin_required and None:%(target.role.domain_id)s and project_id:%(project_id)s",
+ "project_admin_for_domain_role_grants": "rule:admin_required and project_domain_id:%(target.role.domain_id)s and project_id:%(project_id)s",
+ "domain_admin_for_list_grants": "rule:admin_required and rule:domain_admin_grant_match",
+ "project_admin_for_list_grants": "rule:admin_required and project_id:%(project_id)s",
+
+ "admin_on_domain_filter": "rule:admin_required and domain_id:%(scope.domain.id)s",
+ "admin_on_project_filter": "rule:admin_required and project_id:%(scope.project.id)s",
+ "admin_on_domain_of_project_filter": "rule:admin_required and domain_id:%(target.project.domain_id)s",
+ "identity:list_role_assignments": "rule:cloud_admin or rule:admin_on_domain_filter or rule:admin_on_project_filter",
+ "identity:list_role_assignments_for_tree": "rule:cloud_admin or rule:admin_on_domain_of_project_filter",
+ "identity:get_policy": "rule:cloud_admin",
+ "identity:list_policies": "rule:cloud_admin",
+ "identity:create_policy": "rule:cloud_admin",
+ "identity:update_policy": "rule:cloud_admin",
+ "identity:delete_policy": "rule:cloud_admin",
+
+ "identity:check_token": "rule:admin_or_owner",
+ "identity:validate_token": "rule:service_admin_or_owner",
+ "identity:validate_token_head": "rule:service_or_admin",
+ "identity:revocation_list": "rule:service_or_admin",
+ "identity:revoke_token": "rule:admin_or_owner",
+
+ "identity:create_trust": "user_id:%(trust.trustor_user_id)s",
+ "identity:list_trusts": "",
+ "identity:list_roles_for_trust": "",
+ "identity:get_role_for_trust": "",
+ "identity:delete_trust": "",
+ "identity:get_trust": "",
+
+ "identity:create_consumer": "rule:admin_required",
+ "identity:get_consumer": "rule:admin_required",
+ "identity:list_consumers": "rule:admin_required",
+ "identity:delete_consumer": "rule:admin_required",
+ "identity:update_consumer": "rule:admin_required",
+
+ "identity:authorize_request_token": "rule:admin_required",
+ "identity:list_access_token_roles": "rule:admin_required",
+ "identity:get_access_token_role": "rule:admin_required",
+ "identity:list_access_tokens": "rule:admin_required",
+ "identity:get_access_token": "rule:admin_required",
+ "identity:delete_access_token": "rule:admin_required",
+
+ "identity:list_projects_for_endpoint": "rule:admin_required",
+ "identity:add_endpoint_to_project": "rule:admin_required",
+ "identity:check_endpoint_in_project": "rule:admin_required",
+ "identity:list_endpoints_for_project": "rule:admin_required",
+ "identity:remove_endpoint_from_project": "rule:admin_required",
+
+ "identity:create_endpoint_group": "rule:admin_required",
+ "identity:list_endpoint_groups": "rule:admin_required",
+ "identity:get_endpoint_group": "rule:admin_required",
+ "identity:update_endpoint_group": "rule:admin_required",
+ "identity:delete_endpoint_group": "rule:admin_required",
+ "identity:list_projects_associated_with_endpoint_group": "rule:admin_required",
+ "identity:list_endpoints_associated_with_endpoint_group": "rule:admin_required",
+ "identity:get_endpoint_group_in_project": "rule:admin_required",
+ "identity:list_endpoint_groups_for_project": "rule:admin_required",
+ "identity:add_endpoint_group_to_project": "rule:admin_required",
+ "identity:remove_endpoint_group_from_project": "rule:admin_required",
+
+ "identity:create_identity_provider": "rule:cloud_admin",
+ "identity:list_identity_providers": "rule:cloud_admin",
+ "identity:get_identity_provider": "rule:cloud_admin",
+ "identity:update_identity_provider": "rule:cloud_admin",
+ "identity:delete_identity_provider": "rule:cloud_admin",
+
+ "identity:create_protocol": "rule:cloud_admin",
+ "identity:update_protocol": "rule:cloud_admin",
+ "identity:get_protocol": "rule:cloud_admin",
+ "identity:list_protocols": "rule:cloud_admin",
+ "identity:delete_protocol": "rule:cloud_admin",
+
+ "identity:create_mapping": "rule:cloud_admin",
+ "identity:get_mapping": "rule:cloud_admin",
+ "identity:list_mappings": "rule:cloud_admin",
+ "identity:delete_mapping": "rule:cloud_admin",
+ "identity:update_mapping": "rule:cloud_admin",
+
+ "identity:create_service_provider": "rule:cloud_admin",
+ "identity:list_service_providers": "rule:cloud_admin",
+ "identity:get_service_provider": "rule:cloud_admin",
+ "identity:update_service_provider": "rule:cloud_admin",
+ "identity:delete_service_provider": "rule:cloud_admin",
+
+ "identity:get_auth_catalog": "",
+ "identity:get_auth_projects": "",
+ "identity:get_auth_domains": "",
+ "identity:get_auth_system": "",
+
+ "identity:list_projects_for_user": "",
+ "identity:list_domains_for_user": "",
+
+ "identity:list_revoke_events": "rule:service_or_admin",
+
+ "identity:create_policy_association_for_endpoint": "rule:cloud_admin",
+ "identity:check_policy_association_for_endpoint": "rule:cloud_admin",
+ "identity:delete_policy_association_for_endpoint": "rule:cloud_admin",
+ "identity:create_policy_association_for_service": "rule:cloud_admin",
+ "identity:check_policy_association_for_service": "rule:cloud_admin",
+ "identity:delete_policy_association_for_service": "rule:cloud_admin",
+ "identity:create_policy_association_for_region_and_service": "rule:cloud_admin",
+ "identity:check_policy_association_for_region_and_service": "rule:cloud_admin",
+ "identity:delete_policy_association_for_region_and_service": "rule:cloud_admin",
+ "identity:get_policy_for_endpoint": "rule:cloud_admin",
+ "identity:list_endpoints_for_policy": "rule:cloud_admin",
+
+ "identity:create_domain_config": "rule:cloud_admin",
+ "identity:get_domain_config": "rule:cloud_admin",
+ "identity:get_security_compliance_domain_config": "",
+ "identity:update_domain_config": "rule:cloud_admin",
+ "identity:delete_domain_config": "rule:cloud_admin",
+ "identity:get_domain_config_default": "rule:cloud_admin",
+
+ "identity:get_application_credential": "rule:admin_or_owner",
+ "identity:list_application_credentials": "rule:admin_or_owner",
+ "identity:create_application_credential": "rule:admin_or_owner",
+ "identity:delete_application_credential": "rule:admin_or_owner"
+}
diff --git a/moon_engine/tests/func_postman/Test Authz through Wrapper.postman_collection.json b/moon_engine/tests/func_postman/Test Authz through Wrapper.postman_collection.json
new file mode 100644
index 00000000..bd710eb2
--- /dev/null
+++ b/moon_engine/tests/func_postman/Test Authz through Wrapper.postman_collection.json
@@ -0,0 +1,24 @@
+{
+ "info": {
+ "_postman_id": "91449fd3-9f70-4e95-b3b7-84365cbc057d",
+ "name": "Test Authz through Wrapper",
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ "item": [
+ {
+ "name": "Get status",
+ "request": {
+ "method": "GET",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": ""
+ }
+ },
+ "response": []
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/func_postman/db.json b/moon_engine/tests/func_postman/db.json
new file mode 100644
index 00000000..a06285d9
--- /dev/null
+++ b/moon_engine/tests/func_postman/db.json
@@ -0,0 +1 @@
+{"_default": {"1": {"username": "admin", "password": "2ee64edbdc7e6b7f298b6a06b04b066ee8a9e0531e93d16239ff1fa13be19c041d86e7fef8771e09dcc3295421c2ef1bd9dc80209f0f18413572363b4c510d47", "salt": "9d52dcaedac33f02454bcc2abc06c65c28070cbbe50cbbdfd89e483259cd1616ad240c2c69545c2a53644e49b2692e33a9f9947b5a2608eb185ec87ac5ed1c7f", "api_key": "f9615b75d70d2425bc8d107927d88dddf901444e540d8d7bd309b78c3246eb7106bf91fc5f7e9a404407ea348a6ecb75e865d6d60d0aa0294dd7cd032dfb0401"}}} \ No newline at end of file
diff --git a/moon_engine/tests/func_postman/gunicorn.cfg b/moon_engine/tests/func_postman/gunicorn.cfg
new file mode 100644
index 00000000..a1ec8f9c
--- /dev/null
+++ b/moon_engine/tests/func_postman/gunicorn.cfg
@@ -0,0 +1,3 @@
+bind = "127.0.0.1:10000"
+workers = 2
+moon = "moon.yaml"
diff --git a/moon_engine/tests/func_postman/moon.yaml b/moon_engine/tests/func_postman/moon.yaml
new file mode 100644
index 00000000..523bb75a
--- /dev/null
+++ b/moon_engine/tests/func_postman/moon.yaml
@@ -0,0 +1,49 @@
+api_token: false
+data: ''
+database:
+ pwd_file: db.json
+incremental_updates: false
+logging:
+ formatters:
+ brief:
+ format: '%(levelname)s %(name)s %(message)-30s'
+ custom:
+ format: '%(asctime)-15s %(levelname)s %(name)s %(message)s'
+ handlers:
+ console:
+ class: logging.StreamHandler
+ formatter: custom
+ level: 10
+ stream: ext://sys.stdout
+ file:
+ backupCount: 3
+ class: logging.handlers.RotatingFileHandler
+ filename: moon.log
+ formatter: custom
+ level: DEBUG
+ maxBytes: 1048576
+ loggers:
+ moon:
+ handlers:
+ - console
+ - file
+ level: DEBUG
+ propagate: false
+ root:
+ handlers:
+ - console
+ level: ERROR
+ version: 1
+management:
+ password: admin
+ url: http://127.0.0.1:8000
+ user: admin
+orchestration:
+ config_dir: /tmp
+ connection: local
+ driver: moon_engine.plugins.pyorchestrator
+ port: 20000...20100
+plugins:
+ directory: /var/moon/plugins
+type: wrapper
+uuid: 2dd13f3dd36048d88346962d62920ac6
diff --git a/moon_engine/tests/func_postman/run.sh b/moon_engine/tests/func_postman/run.sh
new file mode 100755
index 00000000..f4153d28
--- /dev/null
+++ b/moon_engine/tests/func_postman/run.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+hug -m moon_engine.server -p 10000 gunicorn.cfg
diff --git a/moon_engine/tests/performance_tests/authz_pipeline.py b/moon_engine/tests/performance_tests/authz_pipeline.py
new file mode 100644
index 00000000..7d2b48ce
--- /dev/null
+++ b/moon_engine/tests/performance_tests/authz_pipeline.py
@@ -0,0 +1,115 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+from locust import TaskSet, task
+import logging
+import json
+
+LOGGER = logging.getLogger("locust")
+
+
+class AuthzPipelineRequests(TaskSet):
+ token = ""
+ moon_errors = 0
+ moon_requests = 0
+ stats_filename = "/tmp/perf_stats.log"
+
+ def on_start(self):
+ """ on_start is called when a Locust start before any task is scheduled """
+ self.moon_errors = []
+
+ def __del__(self):
+ """ on_stop is called when the TaskSet is stopping """
+ stats = {}
+ try:
+ stats = json.loads(open(self.stats_filename).read())
+ except Exception:
+ pass
+ _num = stats.get("errors", 0)
+ _num += len(self.moon_errors)
+ _total = stats.get("total", 0)
+ _total += self.moon_requests
+ _list = stats.get("list", [])
+ _list.extend(self.moon_errors)
+ _percent = _num * 100 / _total
+ json.dump({"errors": _num, "total": _total,
+ "percentage": "{0:.2f}".format(_percent),
+ "list": _list},
+ open(self.stats_filename, "w"), indent=4)
+
+ def get(self, url, status_code=200):
+ with self.client.get(url, catch_response=True) as response:
+ self.moon_requests += 1
+ if response.status_code != status_code:
+ self.moon_errors.append((url, f"{response.status_code}/{status_code}"))
+ response.success()
+
+ @task(10)
+ def authz_ok1(self):
+ url = "/authz/{}/{}/{}".format(
+ "admin", "vm1", "use_image"
+ )
+ self.get(url)
+
+ @task(10)
+ def authz_ok2(self):
+ url = "/authz/{}/{}/{}".format(
+ "admin", "vm1", "get_images"
+ )
+ self.get(url)
+
+ @task(10)
+ def authz_ok3(self):
+ url = "/authz/{}/{}/{}".format(
+ "admin", "vm1", "set_image"
+ )
+ self.get(url)
+
+ @task(10)
+ def authz_ok4(self):
+ url = "/authz/{}/{}/{}".format(
+ "demo", "vm1", "set_image"
+ )
+ self.get(url)
+
+ @task(10)
+ def authz_ok5(self):
+ url = "/authz/{}/{}/{}".format(
+ "demo", "vm1", "get_images"
+ )
+ self.get(url)
+
+ @task(10)
+ def authz_rule_ko(self):
+ url = "/authz/{}/{}/{}".format("demo", "vm1", "use_image")
+ self.get(url, 403)
+
+ @task(10)
+ def authz_subject_ko(self):
+ url = "/authz/{}/{}/{}".format("admins", "vm1", "use_image")
+ self.get(url, 403)
+
+ @task(10)
+ def authz_object_ko(self):
+ url = "/authz/{}/{}/{}".format("admin", "vm4", "use_image")
+ self.get(url, 403)
+
+ @task(10)
+ def authz_action_ko(self):
+ url = "/authz/{}/{}/{}".format("admin", "vm1", "use_images")
+ self.get(url, 403)
+
+ @task(1)
+ def status(self):
+ self.client.get("/status/")
+
+
diff --git a/moon_engine/tests/performance_tests/locustfile.py b/moon_engine/tests/performance_tests/locustfile.py
new file mode 100644
index 00000000..cf077720
--- /dev/null
+++ b/moon_engine/tests/performance_tests/locustfile.py
@@ -0,0 +1,26 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+from locust import HttpLocust, TaskSet
+import authz_pipeline
+
+
+class MoonRequests(TaskSet):
+ tasks = {
+ authz_pipeline.AuthzPipelineRequests: 10,
+ }
+
+
+class MoonUser(HttpLocust):
+ task_set = MoonRequests
+ min_wait = 10
+ max_wait = 100
diff --git a/moon_engine/tests/performance_tests/policy_rbac.json b/moon_engine/tests/performance_tests/policy_rbac.json
new file mode 100644
index 00000000..2f7c704e
--- /dev/null
+++ b/moon_engine/tests/performance_tests/policy_rbac.json
@@ -0,0 +1,411 @@
+{
+ "policies": [
+ {
+ "name": "Policy for Locust",
+ "genre": "authz",
+ "description": "Policy for Locust",
+ "model": {
+ "name": "RBAC"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "RBAC",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "rbac"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ },
+ {
+ "name": "demo",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "role",
+ "description": "role of a user"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "admin",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ },
+ {
+ "name": "user",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "role"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "admin"}]
+ },
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "user"}]
+ },
+ {
+ "subject": {"name": "demo"},
+ "category": {"name": "role"},
+ "assignments": [{"name": "user"}]
+ }
+ ],
+ "objects": [
+ {
+ "name": "vm1",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "id",
+ "description": "identification of the object"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "vm1",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "id"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {"name": "vm1"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm1"}]
+ },
+ {
+ "object": {"name": "vm2"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm2"}]
+ },
+ {
+ "object": {"name": "vm3"},
+ "category": {"name": "id"},
+ "assignments": [{"name": "vm3"}]
+ }
+ ],
+ "actions": [
+ {
+ "name": "use_image",
+ "description": "use_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ },
+ {
+ "name": "update_image",
+ "description": "update_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ },
+ {
+ "name": "set_image",
+ "description": "set_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": [
+ {
+ "name": "Policy for Locust"
+ }
+ ]
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "type",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "read",
+ "description": "read action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "write",
+ "description": "write action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "execute",
+ "description": "execute action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {"name": "use_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "execute"}]
+ },
+ {
+ "action": {"name": "update_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "write"}]
+ },
+ {
+ "action": {"name": "set_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "write"}]
+ },
+ {
+ "action": {"name": "get_images"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "rbac",
+ "description": "",
+ "subject_categories": [{"name": "role"}],
+ "object_categories": [{"name": "id"}],
+ "action_categories": [{"name": "type"}]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "admin"}],
+ "object_data": [{"name": "vm3"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm1"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "rbac"},
+ "rule": {
+ "subject_data": [{"name": "user"}],
+ "object_data": [{"name": "vm2"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "Policy for Locust"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ }
+ ],
+ "checks": {
+ "granted": [
+ ["admin", "vm1", "get_images"],
+ ["admin", "vm1", "set_image"],
+ ["admin", "vm1", "use_image"],
+ ["admin", "vm2", "get_images"],
+ ["admin", "vm2", "set_image"],
+ ["admin", "vm3", "get_images"],
+ ["user", "vm1", "get_images"],
+ ["user", "vm1", "set_image"],
+ ["user", "vm2", "get_images"],
+ ["user", "vm1", "get_images"]
+ ],
+ "denied": [
+ ["admin", "vm2", "update_image"],
+ ["admin", "vm3", "set_image"],
+ ["admin", "vm3", "update_image"],
+ ["user", "vm1", "update_image"],
+ ["user", "vm2", "set_image"],
+ ["user", "vm2", "update_image"],
+ ["user", "vm1", "use_image"],
+ ["user", "vm2", "use_image"],
+ ["user", "vm3", "get_images"],
+ ["user", "vm3", "set_image"],
+ ["user", "vm3", "update_image"]
+ ]
+ }
+} \ No newline at end of file
diff --git a/moon_engine/tests/performance_tests/utils.py b/moon_engine/tests/performance_tests/utils.py
new file mode 100644
index 00000000..21ac78bb
--- /dev/null
+++ b/moon_engine/tests/performance_tests/utils.py
@@ -0,0 +1,60 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import json
+
+
+def login(taskset):
+ req = taskset.client.get("/auth", auth=("admin", "admin"))
+ taskset.token = req.content.decode("utf-8").strip('"')
+
+
+def logout(taskset):
+ pass
+
+
+def log(msg):
+ open("/tmp/tests.log", 'a').write(str(msg) + "\n")
+
+
+def import_policy(client, token):
+ import_data = open("policy_rbac.json").read()
+ req = client.post("/import", headers={"X-Api-Key": token}, data=json.loads(import_data))
+ print(req)
+ content = json.loads(req.content.decode("utf-8"))
+ for policy_key, policy_value in content.get("policies", {}).items():
+ if policy_value.get("name") == "Policy for Locust":
+ return policy_key
+
+
+def create_pdp(client, token, policy_id, vim_project_id=111111111111):
+ req = client.post("/pdp", headers={"X-Api-Key": token}, data={
+ "name": "PDP for Locust",
+ "vim_project_id": vim_project_id,
+ "security_pipeline": [policy_id]
+ })
+ content = json.loads(req.content.decode("utf-8"))
+ for pdp_key, pdp_value in content.get("pdp", {}).items():
+ if pdp_value.get("name") == "PDP for Locust":
+ return pdp_key
+
+
+def delete_policy(client, token, policy_id):
+ print("deleting Policy {}".format(policy_id))
+ client.delete("/policies/{}".format(policy_id), headers={"X-Api-Key": token})
+
+
+def delete_pdp(client, token, pdp_id):
+ print("deleting PDP {}".format(pdp_id))
+ client.delete("/pdp/{}".format(pdp_id), headers={"X-Api-Key": token})
+
+
diff --git a/moon_engine/tests/unit_python/api/__init__.py b/moon_engine/tests/unit_python/api/__init__.py
new file mode 100644
index 00000000..1856aa2c
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/__init__.py
@@ -0,0 +1,12 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
diff --git a/moon_engine/tests/unit_python/api/moon.yaml b/moon_engine/tests/unit_python/api/moon.yaml
new file mode 100644
index 00000000..9272ccce
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/moon.yaml
@@ -0,0 +1,54 @@
+type: "pipeline"
+uuid: "a64beb1c-c224-474f-b4ba-dd43173e7101"
+manager_url: "http://127.0.0.1:20000"
+incremental_updates: false
+api_token:
+data: conf/policy_example.json
+debug: true
+management:
+ token_file: moon_engine_users.json
+
+orchestration:
+ driver: moon_engine.plugins.pyorchestrator
+ connection: local
+ port: 20000...20100
+ config_dir: /tmp
+
+authorization:
+ driver: moon_engine.plugins.authz
+
+plugins:
+ directory: /tmp
+
+logging:
+ version: 1
+
+ formatters:
+ brief:
+ format: "%(levelname)s %(name)s %(message)-30s"
+ custom:
+ format: "%(asctime)-15s %(levelname)s %(name)s %(message)s"
+
+ handlers:
+ console:
+ class : logging.StreamHandler
+ formatter: custom
+ level : INFO
+ stream : ext://sys.stdout
+ file:
+ class : logging.handlers.RotatingFileHandler
+ formatter: custom
+ level : DEBUG
+ filename: /tmp/moon_engine.log
+ maxBytes: 1048576
+ backupCount: 3
+
+ loggers:
+ moon:
+ level: DEBUG
+ handlers: [console, file]
+ propagate: no
+
+ root:
+ level: ERROR
+ handlers: [console] \ No newline at end of file
diff --git a/moon_engine/tests/unit_python/api/pipeline/__init__.py b/moon_engine/tests/unit_python/api/pipeline/__init__.py
new file mode 100644
index 00000000..582be686
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/pipeline/__init__.py
@@ -0,0 +1,11 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
diff --git a/moon_engine/tests/unit_python/api/pipeline/test_authz.py b/moon_engine/tests/unit_python/api/pipeline/test_authz.py
new file mode 100644
index 00000000..c405ddfd
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/pipeline/test_authz.py
@@ -0,0 +1,37 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+
+
+def test_get_authz_authorized():
+ from moon_engine.api.pipeline import authz
+ from moon_utilities.auth_functions import get_api_key_for_user
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+ # FIXME: https://gitlab.forge.orange-labs.fr/moon/moon_cache/issues/1
+ # req = benchmark(hug.test.get, authz,
+ # "/authz/89ba91c1-8dd5-4abf-bfde-7a66936c51a6/67b8008a-3f8d-4f8e-847e-b628f0f7ca0e/cdb3df22-0dc0"
+ # "-5a6e-a333-4b994827b068", headers=auth_headers)
+ # # req = hug.test.get(authz, "/authz/test/test/test", headers=auth_headers)
+ # assert req.status == hug.HTTP_204
+
+
+def test_get_authz_unauthorized():
+ from moon_engine.api.pipeline import authz
+ from moon_utilities.auth_functions import get_api_key_for_user
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+ # FIXME: https://gitlab.forge.orange-labs.fr/moon/moon_cache/issues/1
+ # req = benchmark(hug.test.get, authz,
+ # "/authz/31fd15ad-1478-4a96-96fc-c887dddbfaf9/67b8008a-3f8d-4f8e-847e-b628f0f7ca0e/cdb3df22-0dc0"
+ # "-5a6e-a333-4b994827b068", headers=auth_headers)
+ # # req = hug.test.get(authz, "/authz/test/test/test", headers=auth_headers)
+ # assert req.status == hug.HTTP_403
diff --git a/moon_engine/tests/unit_python/api/pipeline/test_update.py b/moon_engine/tests/unit_python/api/pipeline/test_update.py
new file mode 100644
index 00000000..94d5a4e4
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/pipeline/test_update.py
@@ -0,0 +1,525 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+import requests
+from uuid import uuid4
+
+
+def test_pipeline_update_policy_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ key = next(iter(policies['policies']))
+ policies['policies'][key]['name'] = "new " + policies['policies'][key]['name']
+ req = hug.test.put(update, "/update/policy/{}".format(key),
+ policies['policies'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_update_policy_not_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ key = next(iter(policies['policies']))
+ policies['policies'][key]['name'] = "new " + policies['policies'][key]['name']
+ req = hug.test.put(update, "/update/policy/{}".format(uuid4().hex),
+ policies['policies'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_delete_policy():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = response.json()
+ key = next(iter(policies['policies']))
+ req = hug.test.delete(update, "/update/policy/{}".format(key),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_update_pdp_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ pdps = response.json()
+ key = next(iter(pdps['pdps']))
+ pdps['pdps'][key]['name'] = "new " + pdps['pdps'][key]['name']
+ req = hug.test.put(update, "/update/pdp/{}".format(key),
+ pdps['pdps'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_update_pdp_not_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ pdps = response.json()
+ key = next(iter(pdps['pdps']))
+ pdps['pdps'][key]['name'] = "new " + pdps['pdps'][key]['name']
+ req = hug.test.put(update, "/update/pdp/{}".format(uuid4().hex),
+ pdps['pdps'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_delete_pdp_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ pdps = response.json()
+ key = next(iter(pdps['pdps']))
+ req = hug.test.delete(update, "/update/pdp/{}".format(key), headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_update_perimeter_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ policy_key = next(iter(policies['policies']))
+
+ subject_response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ subjects = subject_response.json()
+ subj_key = next(iter(subjects['subjects']))
+ subjects['subjects'][subj_key]['name'] = "updated_" + subjects['subjects'][subj_key]['name']
+
+ subject_req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(subj_key, policy_key,
+ "subject"),
+ subjects['subjects'][subj_key], headers=auth_headers)
+ assert subject_req.status == hug.HTTP_208
+
+ """ object category """
+ object_response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ objects = object_response.json()
+ obj_key = next(iter(objects['objects']))
+ objects['objects'][obj_key]['name'] = "updated_" + objects['objects'][obj_key]['name']
+
+ object_req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(obj_key, policy_key, "object")
+ , objects['objects'][obj_key], headers=auth_headers)
+ assert object_req.status == hug.HTTP_208
+
+ """ action category """
+ action_response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ actions = action_response.json()
+ action_key = next(iter(actions['actions']))
+ actions['actions'][action_key]['name'] = "updated_" + actions['actions'][action_key]['name']
+
+ action_req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(action_key, policy_key,
+ "action"),
+ actions['actions'][action_key], headers=auth_headers)
+ assert action_req.status == hug.HTTP_208
+
+
+def test_pipeline_update_perimeter_not_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ policy_key = next(iter(policies['policies']))
+
+ subject_response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ subjects = subject_response.json()
+ subj_key = next(iter(subjects['subjects']))
+ subjects['subjects'][subj_key]['name'] = "updated_" + subjects['subjects'][subj_key]['name']
+
+ subject_req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(uuid4().hex, policy_key,
+ "subject"),
+ subjects['subjects'][subj_key], headers=auth_headers)
+ assert subject_req.status == hug.HTTP_208
+
+ """ object category """
+ object_response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ objects = object_response.json()
+ obj_key = next(iter(objects['objects']))
+ objects['objects'][obj_key]['name'] = "updated_" + objects['objects'][obj_key]['name']
+
+ object_req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(uuid4().hex, policy_key, "object")
+ , objects['objects'][obj_key], headers=auth_headers)
+ assert object_req.status == hug.HTTP_208
+
+ """ action category """
+ action_response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ actions = action_response.json()
+ action_key = next(iter(actions['actions']))
+ actions['actions'][action_key]['name'] = "updated_" + actions['actions'][action_key]['name']
+
+ action_req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(uuid4().hex, policy_key,
+ "action"),
+ actions['actions'][action_key], headers=auth_headers)
+ assert action_req.status == hug.HTTP_208
+
+
+def test_pipeline_delete_perimeter_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ policies_response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = policies_response.json()
+ policy_key = next(iter(policies['policies']))
+
+ subject_response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ subjects = subject_response.json()
+ subj_key = next(iter(subjects['subjects']))
+ subjects['subjects'][subj_key]['name'] = "updated_" + subjects['subjects'][subj_key]['name']
+
+ delete_subject_response = hug.test.delete(update, "/update/perimeter/{}/{}/{}".format(subj_key, policy_key,
+ "subject"),
+ headers=auth_headers)
+ assert delete_subject_response.status == hug.HTTP_202
+
+ object_response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ objects = object_response.json()
+ assert 'objects' in objects and len(objects['objects'])
+
+ for key in objects['objects']:
+ delete_object_response = hug.test.delete(update, "/update/perimeter/{}/{}/{}".format(key, policy_key, 'object'),
+ headers=auth_headers)
+ assert delete_object_response.status == hug.HTTP_202
+
+ action_response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_key), headers=auth_headers)
+ actions = action_response.json()
+ assert 'actions' in actions and len(actions['actions'])
+
+ for key in actions['actions']:
+ delete_action_response = hug.test.delete(update, "/update/perimeter/{}/{}/{}".format(key, policy_key, 'action'),
+ headers=auth_headers)
+ assert delete_action_response.status == hug.HTTP_202
+
+
+def test_pipeline_delete_assignments():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = response.json()
+ policy_id = next(iter(policies['policies']))
+
+ sub_assig_response = requests.get("{}/policies/{}/subject_assignments".format(get_configuration("management").get("url"),
+ policy_id), headers=auth_headers)
+
+ subject_assignments = sub_assig_response.json()
+ assert 'subject_assignments' in subject_assignments and len(
+ subject_assignments['subject_assignments'])
+ req = hug.test.delete(update,
+ "/update/assignment/{}/{}/".format(policy_id, "subject"),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+ obj_assig_response = requests.get("{}/policies/{}/object_assignments".format(get_configuration(
+ "management").get("url"), policy_id),
+ headers=auth_headers)
+ object_assignments = obj_assig_response.json()
+ assert 'object_assignments' in object_assignments and len(
+ object_assignments['object_assignments'])
+ req = hug.test.delete(update,
+ "/update/assignment/{}/{}/".format(policy_id, "object"),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+ action_assig_response = requests.get("{}/policies/{}/action_assignments".format(get_configuration(
+ "management").get("url"), policy_id),
+ headers=auth_headers)
+ action_assignments = action_assig_response.json()
+ assert 'action_assignments' in action_assignments and len(
+ action_assignments['action_assignments'])
+ req = hug.test.delete(update,
+ "/update/assignment/{}/{}/".format(policy_id, "action"),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_delete_rule():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ policy_response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = policy_response.json()
+ policy_id = next(iter(policies['policies']))
+
+ rules_response = requests.get(
+ "{}/policies/{}/rules".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ rules = rules_response.json()
+
+ assert len(rules['rules']['rules'])
+ for i in range(0, len(rules['rules']['rules'])):
+ req = hug.test.delete(update, "/update/rule/{}/{}".format(policy_id, rules['rules'][
+ 'rules'][i]['id']), headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_update_model_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ model_response = requests.get("{}/models".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ models = model_response.json()
+ key = next(iter(models['models']))
+ models['models'][key]['name'] = "new " + models['models'][key]['name']
+ req = hug.test.put(update, "/update/model/{}".format(key),
+ models['models'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_update_model_not_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ model_response = requests.get("{}/models".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ models = model_response.json()
+ key = next(iter(models['models']))
+ models['models'][key]['name'] = "new " + models['models'][key]['name']
+ req = hug.test.put(update, "/update/model/{}".format(uuid4().hex),
+ models['models'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_delete_model_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ model_response = requests.get("{}/models".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ models = model_response.json()
+ key = next(iter(models['models']))
+ req = hug.test.delete(update, "/update/model/{}".format(key), headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_delete_category():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ subject_cat_response = requests.get("{}/subject_categories".format(get_configuration(
+ "management").get("url")), headers=auth_headers)
+ subject_categories = subject_cat_response.json()
+ category_id = next(iter(subject_categories['subject_categories']))
+ req = hug.test.delete(update, "/update/meta_data/{}/{}".format(category_id, 'subject'),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+ action_cat_response = requests.get("{}/action_categories".format(get_configuration(
+ "management").get("url")),
+ headers=auth_headers)
+ action_categories = action_cat_response.json()
+ category_id = next(iter(action_categories['action_categories']))
+ req = hug.test.delete(update, "/update/meta_data/{}/{}".format(category_id, 'action'),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+ obj_cat_response = requests.get("{}/object_categories".format(get_configuration(
+ "management").get("url")),
+ headers=auth_headers)
+ object_categories = obj_cat_response.json()
+ category_id = next(iter(object_categories['object_categories']))
+ req = hug.test.delete(update, "/update/meta_data/{}/{}".format(category_id, 'object'),
+ headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_update_meta_rule_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ meta_rules_response = requests.get("{}/meta_rules".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ meta_rules = meta_rules_response.json()
+ key = next(iter(meta_rules['meta_rules']))
+ meta_rules['meta_rules'][key]['name'] = "new " + meta_rules['meta_rules'][key]['name']
+ req = hug.test.put(update, "/update/meta_rule/{}".format(key),
+ meta_rules['meta_rules'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_update_meta_rule_not_existed():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ meta_rules_response = requests.get("{}/meta_rules".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ meta_rules = meta_rules_response.json()
+ key = next(iter(meta_rules['meta_rules']))
+ meta_rules['meta_rules'][key]['name'] = "new " + meta_rules['meta_rules'][key]['name']
+ req = hug.test.put(update, "/update/meta_rule/{}".format(uuid4().hex),
+ meta_rules['meta_rules'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_pipeline_delete_meta_rule():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ meta_rules_response = requests.get("{}/meta_rules".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ meta_rules = meta_rules_response.json()
+ key = next(iter(meta_rules['meta_rules']))
+ req = hug.test.delete(update, "/update/meta_rule/{}".format(key), headers=auth_headers)
+ assert req.status == hug.HTTP_202
+
+
+def test_pipeline_delete_data():
+ from moon_engine.api.pipeline import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_engine.api.configuration import get_configuration
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ policies_response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = policies_response.json()
+ policy_id = next(iter(policies['policies']))
+
+ subject_data_response = requests.get(
+ "{}/policies/{}/subject_data".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ subject_data_id = next(iter(subject_data_response.json()['subject_data'][0]['data']))
+ delete_subject_data_response = hug.test.delete(update, "/update/data/{}/{}".format(subject_data_id, 'subject'),
+ headers=auth_headers)
+ assert delete_subject_data_response.status == hug.HTTP_202
+
+ object_data_response = requests.get(
+ "{}/policies/{}/object_data".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ object_data_id = next(iter(object_data_response.json()['object_data'][0]['data']))
+ delete_object_data_response = hug.test.delete(update, "/update/data/{}/{}".format(object_data_id, 'object'),
+ headers=auth_headers)
+ assert delete_object_data_response.status == hug.HTTP_202
+
+ action_data_response = requests.get(
+ "{}/policies/{}/action_data".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ action_data_id = next(iter(action_data_response.json()['action_data'][0]['data']))
+ delete_action_data_response = hug.test.delete(update, "/update/data/{}/{}".format(action_data_id, 'action'),
+ headers=auth_headers)
+ assert delete_action_data_response.status == hug.HTTP_202
+
+
+# def test_pipeline_delete_attributes():
+# from moon_engine.api.pipeline import update
+# from moon_utilities.auth_functions import get_api_key_for_user
+# from moon_engine.api.configuration import get_configuration
+#
+# auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+#
+# attributes_response = requests.get(
+# "{}/attributes".format(get_configuration("management").get("url")),
+# headers=auth_headers)
+#
+# attributes = attributes_response.json()
+# key = next(iter(attributes['attributes']))
+# req = hug.test.delete(update, "/update/attributes/{}".format(key), headers=auth_headers)
+# assert req.status == hug.HTTP_202
+
+
diff --git a/moon_engine/tests/unit_python/api/test_status.py b/moon_engine/tests/unit_python/api/test_status.py
new file mode 100644
index 00000000..e38f35e6
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/test_status.py
@@ -0,0 +1,21 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+
+
+def test_status(benchmark):
+ from moon_engine.api import status
+
+ # Fixme: Add tests on enforce function to have a benchmark on enforce rapidity
+ req = benchmark(hug.test.get, status, "/status")
+ assert isinstance(req.data, dict)
diff --git a/moon_engine/tests/unit_python/api/wrapper/__init__.py b/moon_engine/tests/unit_python/api/wrapper/__init__.py
new file mode 100644
index 00000000..582be686
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/wrapper/__init__.py
@@ -0,0 +1,11 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
diff --git a/moon_engine/tests/unit_python/api/wrapper/test_oslo_wrapper.py b/moon_engine/tests/unit_python/api/wrapper/test_oslo_wrapper.py
new file mode 100644
index 00000000..770e9bb6
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/wrapper/test_oslo_wrapper.py
@@ -0,0 +1,209 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+import json
+import requests
+
+
+def get_subject_object_action():
+ from moon_engine.api.configuration import get_configuration
+ from moon_cache.cache import Cache
+ from moon_utilities.auth_functions import get_api_key_for_user
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"),
+ api_key=get_api_key_for_user("admin"))
+
+ # Note: patching the cache for the test
+ CACHE.add_pipeline("b3d3e18a-bf33-40e8-b635-fd49e6634ccd", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ CACHE.add_pipeline("f8f49a77-9ceb-47b3-ac81-0f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ pdp = response.json()
+ pdp_id = next(iter(pdp['pdps']))
+ policy_id = pdp['pdps'][pdp_id].get("security_pipeline")[0]
+ project_id = pdp['pdps'][pdp_id].get("vim_project_id")
+
+ # response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ # headers=auth_headers)
+ # policies = response.json()
+ # policy_id = next(iter(policies['policies']))
+
+ response = requests.get("{}/policies/{}/subjects".format(
+ get_configuration("management").get("url"), policy_id), headers=auth_headers)
+ subjects = response.json()
+
+ response = requests.get("{}/policies/{}/objects".format(
+ get_configuration("management").get("url"), policy_id), headers=auth_headers)
+ objects = response.json()
+
+ response = requests.get("{}/policies/{}/actions".format(
+ get_configuration("management").get("url"), policy_id), headers=auth_headers)
+ actions = response.json()
+ return subjects, objects, actions, project_id
+
+
+def test_post_authz():
+ from moon_engine.plugins import oslowrapper
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ pdp = response.json()
+ pdp_id = next(iter(pdp['pdps']))
+ policy_id = pdp['pdps'][pdp_id].get("security_pipeline")[0]
+ project_id = pdp['pdps'][pdp_id].get("vim_project_id")
+
+ response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ subjects = response.json()
+
+ response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ objects = response.json()
+
+ response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ actions = response.json()
+
+ subjects_name = subjects['subjects'][next(iter(subjects['subjects']))]['name']
+ objects_name = objects['objects'][next(iter(objects['objects']))]['name']
+ actions_name = actions['actions'][next(iter(actions['actions']))]['name']
+
+ # Note: patching the cache for the test
+ from moon_cache.cache import Cache
+ CACHE = Cache.getInstance()
+ CACHE.add_pipeline("b3d3e18abf3340e8b635fd49e6634ccd", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ CACHE.add_pipeline("f8f49a779ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+
+ _target = {
+ 'target': {
+ "name": objects_name,
+ },
+ "project_id": project_id,
+ "user_id": subjects_name
+ }
+ _credentials = {
+ "project_id": project_id,
+ "user_id": subjects_name
+ }
+
+ authz_data = {
+ 'rule': actions_name,
+ 'target': json.dumps(_target),
+ 'credentials': json.dumps(_credentials)}
+ req = hug.test.post(oslowrapper, "/authz/oslo", authz_data)
+ assert req.status == hug.HTTP_200
+
+
+def test_authz_true():
+ from moon_engine.plugins import oslowrapper
+
+ subjects, objects, actions, project_id = get_subject_object_action()
+
+ _target = {
+ 'target': {
+ "name": objects['objects'][next(iter(objects['objects']))]['name'],
+ },
+ "project_id": project_id,
+ "user_id": subjects['subjects'][next(iter(subjects['subjects']))]['name']
+ }
+ _credentials = {
+ "project_id": project_id,
+ "user_id": subjects['subjects'][next(iter(subjects['subjects']))]['name']
+ }
+ authz_data = {
+ 'rule': actions['actions'][next(iter(actions['actions']))]['name'],
+ 'target': json.dumps(_target),
+ 'credentials': json.dumps(_credentials)}
+
+ req = hug.test.post(oslowrapper, "/authz/oslo", body=authz_data)
+
+ assert req.status == hug.HTTP_200 and req.data is not None and req.data
+
+
+def test_authz_error_response_code():
+ from moon_engine.plugins import oslowrapper
+
+ subjects, objects, actions, project_id = get_subject_object_action()
+
+ _target = {
+ 'target': {
+ "name": objects['objects'][next(iter(objects['objects']))]['name'],
+ },
+ "project_id": "a64beb1cc224474fb4badd431f3e7106", # invalid project id
+ "user_id": subjects['subjects'][next(iter(subjects['subjects']))]['name']
+ }
+ authz_data = {
+ 'rule': actions['actions'][next(iter(actions['actions']))]['name'],
+ 'target': json.dumps(_target),
+ 'credentials': 'null'}
+
+ print(authz_data)
+ req = hug.test.post(oslowrapper, "/authz/oslo", body=authz_data)
+
+ assert req.status != hug.HTTP_200
+
+# def test_authz_error_no_interface_key(context):
+# import moon_wrapper.server
+# server = moon_wrapper.server.main()
+# client = server.app.test_client()
+# _target = {
+# 'target': {
+# "name": context.get('object_name'),
+# },
+# "project_id": context.get('project_with_no_interface_key'),
+# "user_id": context.get('subject_name')
+# }
+# authz_data = {
+# 'rule': context.get('action_name'),
+# 'target': json.dumps(_target),
+# 'credentials': 'null'}
+# req = client.post("/authz/oslo", data=json.dumps(authz_data))
+#
+# assert req.data == b"False"
diff --git a/moon_engine/tests/unit_python/api/wrapper/test_pipeline.py b/moon_engine/tests/unit_python/api/wrapper/test_pipeline.py
new file mode 100644
index 00000000..ed16883d
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/wrapper/test_pipeline.py
@@ -0,0 +1,32 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+
+
+def test_get_pipelines():
+ from moon_engine.api.wrapper.api import pipeline
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+ req = hug.test.get(pipeline, "/pipelines", headers=auth_headers )
+ assert req.status == hug.HTTP_200
+ assert isinstance(req.data, dict)
+ assert "pipelines" in req.data
diff --git a/moon_engine/tests/unit_python/api/wrapper/test_update.py b/moon_engine/tests/unit_python/api/wrapper/test_update.py
new file mode 100644
index 00000000..75e7ef2d
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/wrapper/test_update.py
@@ -0,0 +1,602 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+import requests
+
+
+def test_wrapper_update_policy_existed():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"),
+ api_key=get_api_key_for_user("admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ key = next(iter(policies['policies']))
+ policies['policies'][key]['name'] = "new " + policies['policies'][key]['name']
+ req = hug.test.put(update, "/update/policy/{}".format(key),
+ policies['policies'][key], headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_policy():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"),
+ api_key=get_api_key_for_user("admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = response.json()
+ key = next(iter(policies['policies']))
+ req = hug.test.delete(update, "/update/policy/{}".format(key),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_update_policy_not_existed():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"),
+ api_key=get_api_key_for_user("admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = response.json()
+ key = next(iter(policies['policies']))
+ policies['policies'][key]['name'] = "new " + policies['policies'][key]['name']
+ req = hug.test.put(update, "/update/policy/{}".format("eac0ecd09ceb47b3ac810f01ef71b4e0"),
+ policies['policies'][key], headers=auth_headers)
+ assert req.status == hug.HTTP_208
+
+
+def test_wrapper_update_pdp_existed():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ pdps = response.json()
+ key = next(iter(pdps['pdps']))
+ pdps['pdps'][key]['name'] = "new " + pdps['pdps'][key]['name']
+ req = hug.test.put(update, "/update/pdp/{}".format(key),
+ pdps['pdps'][key], headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_pdp():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ pdps = response.json()
+ key = next(iter(pdps['pdps']))
+ req = hug.test.delete(update, "/update/pdp/{}".format(key), headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_assignments():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = response.json()
+ policy_id = next(iter(policies['policies']))
+
+ response = requests.get("{}/policies/{}/subject_assignments".format(get_configuration(
+ "management").get("url"), policy_id),
+ headers=auth_headers)
+ subject_assignments = response.json()
+ assert 'subject_assignments' in subject_assignments and len(
+ subject_assignments['subject_assignments'])
+ req = hug.test.delete(update,
+ "/update/assignment/{}/{}/".format(policy_id, "subject"),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/policies/{}/object_assignments".format(get_configuration(
+ "management").get("url"), policy_id),
+ headers=auth_headers)
+ object_assignments = response.json()
+ assert 'object_assignments' in object_assignments and len(
+ object_assignments['object_assignments'])
+ req = hug.test.delete(update,
+ "/update/assignment/{}/{}/".format(policy_id, "object"),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/policies/{}/action_assignments".format(get_configuration(
+ "management").get("url"), policy_id),
+ headers=auth_headers)
+ action_assignments = response.json()
+ assert 'action_assignments' in action_assignments and len(
+ action_assignments['action_assignments'])
+ req = hug.test.delete(update,
+ "/update/assignment/{}/{}/".format(policy_id, "action"),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_update_perimeter_existed():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ policy_id = next(iter(policies['policies']))
+
+ response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ subjects = response.json()
+ assert 'subjects' in subjects and len(subjects['subjects'])
+
+ for key in subjects['subjects']:
+ subjects['subjects'][key]['name'] = "new " + subjects['subjects'][key]['name']
+ req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(key, policy_id, 'subject'),
+ subjects['subjects'][key], headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ objects = response.json()
+ assert 'objects' in objects and len(objects['objects'])
+
+ for key in objects['objects']:
+ objects['objects'][key]['name'] = "new " + objects['objects'][key]['name']
+ req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(key, policy_id, 'object'),
+ objects['objects'][key], headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ actions = response.json()
+ assert 'actions' in actions and len(actions['actions'])
+
+ for key in actions['actions']:
+ actions['actions'][key]['name'] = "new " + actions['actions'][key]['name']
+ req = hug.test.put(update, "/update/perimeter/{}/{}/{}".format(key, policy_id, 'action'),
+ actions['actions'][key], headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_perimeter():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"),
+ api_key=get_api_key_for_user("admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ policy_id = next(iter(policies['policies']))
+
+ response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ subjects = response.json()
+ assert 'subjects' in subjects and len(subjects['subjects'])
+
+ for key in subjects['subjects']:
+ req = hug.test.delete(update,
+ "/update/perimeter/{}/{}/{}".format(key, policy_id, 'subject'),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ objects = response.json()
+ assert 'objects' in objects and len(objects['objects'])
+
+ for key in objects['objects']:
+ req = hug.test.delete(update, "/update/perimeter/{}/{}/{}".format(key, policy_id, 'object'),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ actions = response.json()
+ assert 'actions' in actions and len(actions['actions'])
+
+ for key in actions['actions']:
+ req = hug.test.delete(update, "/update/perimeter/{}/{}/{}".format(key, policy_id, 'action'),
+ headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_rule():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ policies = response.json()
+ policy_id = next(iter(policies['policies']))
+
+ response = requests.get(
+ "{}/policies/{}/rules".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ rules = response.json()
+ assert 'rules' in rules and 'policy_id' in rules['rules']
+ assert rules['rules']['policy_id'] == policy_id
+ assert len(rules['rules']['rules'])
+ for i in range(0, len(rules['rules']['rules'])):
+ req = hug.test.delete(update, "/update/rule/{}/{}".format(policy_id,
+ rules['rules']['rules'][i]['id']), headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_update_model_existed():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/models".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ models = response.json()
+ key = next(iter(models['models']))
+ models['models'][key]['name'] = "new " + models['models'][key]['name']
+ req = hug.test.put(update, "/update/model/{}".format(key),
+ models['models'][key], headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_model():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/models".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ models = response.json()
+ key = next(iter(models['models']))
+ req = hug.test.delete(update, "/update/model/{}".format(key), headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_category():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/subject_categories".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ subject_categories = response.json()
+ category_id = next(iter(subject_categories['subject_categories']))
+ req = hug.test.delete(update, "/update/meta_data/{}/{}".format(category_id, 'subject'),
+ headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/action_categories".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ action_categories = response.json()
+ category_id = next(iter(action_categories['action_categories']))
+ req = hug.test.delete(update, "/update/meta_data/{}/{}".format(category_id, 'action'),
+ headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get("{}/object_categories".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+ object_categories = response.json()
+ category_id = next(iter(object_categories['object_categories']))
+ req = hug.test.delete(update, "/update/meta_data/{}/{}".format(category_id, 'object'),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_update_meta_rule_existed():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/meta_rules".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ meta_rules = response.json()
+ key = next(iter(meta_rules['meta_rules']))
+ meta_rules['meta_rules'][key]['name'] = "new " + meta_rules['meta_rules'][key]['name']
+ req = hug.test.put(update, "/update/meta_rule/{}".format(key),
+ meta_rules['meta_rules'][key], headers=auth_headers)
+
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_meta_rule():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/meta_rules".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ meta_rules = response.json()
+ key = next(iter(meta_rules['meta_rules']))
+ req = hug.test.delete(update, "/update/meta_rule/{}".format(key), headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+
+def test_wrapper_delete_data():
+ from moon_engine.api.wrapper.api import update
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"), api_key=get_api_key_for_user(
+ "admin"))
+
+ CACHE.add_pipeline("eac0ecd09ceb47b3ac810f01ef71b4e0", {
+ "name": "test",
+ "description": "test",
+ "host": "127.0.0.1",
+ "port": 20000,
+ })
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/policies".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ policies = response.json()
+ policy_id = next(iter(policies['policies']))
+
+ response = requests.get(
+ "{}/policies/{}/subject_data".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ subject_data_id = next(iter(response.json()['subject_data'][0]['data']))
+ req = hug.test.delete(update, "/update/data/{}/{}".format(subject_data_id,'subject'),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get(
+ "{}/policies/{}/object_data".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ object_data_id = next(iter(response.json()['object_data'][0]['data']))
+ req = hug.test.delete(update, "/update/data/{}/{}".format(object_data_id, 'object'),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
+
+ response = requests.get(
+ "{}/policies/{}/action_data".format(get_configuration("management").get("url"), policy_id),
+ headers=auth_headers)
+ action_data_id = next(iter(response.json()['action_data'][0]['data']))
+ req = hug.test.delete(update, "/update/data/{}/{}".format(action_data_id, 'action'),
+ headers=auth_headers)
+ assert (req.status == hug.HTTP_202 or req.status == hug.HTTP_200)
diff --git a/moon_engine/tests/unit_python/api/wrapper/test_wrapper_authz.py b/moon_engine/tests/unit_python/api/wrapper/test_wrapper_authz.py
new file mode 100644
index 00000000..c4df249f
--- /dev/null
+++ b/moon_engine/tests/unit_python/api/wrapper/test_wrapper_authz.py
@@ -0,0 +1,57 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import hug
+import requests
+
+
+def test_wrapper_get_authz():
+ from moon_engine.api.wrapper.api import authz
+ from moon_utilities.auth_functions import get_api_key_for_user
+ from moon_cache.cache import Cache
+ from moon_engine.api.configuration import get_configuration
+ CACHE = Cache.getInstance(manager_url=get_configuration("management").get("url"),
+ incremental=get_configuration("incremental_updates"),
+ manager_api_key=get_configuration("api_token"))
+
+ CACHE.set_current_server(url=get_configuration("management").get("url"),
+ api_key=get_api_key_for_user("admin"))
+
+ auth_headers = {"X-Api-Key": get_api_key_for_user("admin")}
+
+ response = requests.get("{}/pdp".format(get_configuration("management").get("url")),
+ headers=auth_headers)
+
+ pdp = response.json()
+ pdp_id = next(iter(pdp['pdps']))
+ policy_id = pdp['pdps'][pdp_id].get("security_pipeline")[0]
+ project_id = pdp['pdps'][pdp_id].get("vim_project_id")
+
+ response = requests.get("{}/policies/{}/subjects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ subjects = response.json()
+
+ response = requests.get("{}/policies/{}/objects".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ objects = response.json()
+
+ response = requests.get("{}/policies/{}/actions".format(get_configuration(
+ "management").get("url"), policy_id), headers=auth_headers)
+ actions = response.json()
+
+ subjects_name = subjects['subjects'][next(iter(subjects['subjects']))]['name']
+ objects_name = objects['objects'][next(iter(objects['objects']))]['name']
+ actions_name = actions['actions'][next(iter(actions['actions']))]['name']
+
+ req = hug.test.get(authz, "/authz/{}/{}/{}/{}".format(
+ project_id, subjects_name, objects_name, actions_name))
+ assert req.status == hug.HTTP_200
diff --git a/moon_engine/tests/unit_python/conftest.py b/moon_engine/tests/unit_python/conftest.py
new file mode 100644
index 00000000..6b7ab339
--- /dev/null
+++ b/moon_engine/tests/unit_python/conftest.py
@@ -0,0 +1,60 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+import os
+import pytest
+import requests_mock
+import mock_require_data
+
+
+@pytest.fixture(autouse=True)
+def no_requests(monkeypatch):
+ """ Modify the response from Requests module
+ """
+ global manager_api_key
+ with requests_mock.Mocker(real_http=True) as m:
+ try:
+ os.remove("/tmp/database_test.db")
+ except FileNotFoundError:
+ pass
+ try:
+ os.remove("/tmp/moon.pwd")
+ except FileNotFoundError:
+ pass
+ print("Configure...")
+ mock_require_data.register_require_data(m)
+ #from moon_engine.api.configuration import set_configuration
+ #set_configuration(yaml.safe_load(__CONF))
+ print("Create a new user")
+ from moon_utilities.auth_functions import add_user, init_db, get_api_key_for_user
+ init_db("/tmp/moon.pwd")
+ try:
+ user = add_user("admin", "admin")
+ manager_api_key = user["api_key"]
+ except KeyError:
+ print("User already exists")
+ manager_api_key = get_api_key_for_user("admin")
+ print("Initialize the database")
+ # init_database()
+ # from moon_manager import db_driver
+ # db_driver.init()
+
+ # mock_engine.register_engine(m)
+ # mock_slaves.register_slaves(m)
+
+ # from moon_manager.pip_driver import InformationManager
+ # InformationManager.set_auth()
+
+ from moon_cache.cache import Cache
+ Cache.deleteInstance()
+ yield m
+ # InformationManager.unset_auth()
diff --git a/moon_engine/tests/unit_python/mock_require_data.py b/moon_engine/tests/unit_python/mock_require_data.py
new file mode 100644
index 00000000..63557285
--- /dev/null
+++ b/moon_engine/tests/unit_python/mock_require_data.py
@@ -0,0 +1,762 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+
+def register_require_data(m):
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:20000/authz/testuser/vm1/boot',
+ json={},
+ status_code=204
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:10000/authz/a64beb1cc224474fb4badd43173e7101/testuser/vm1/boot',
+ json={},
+ status_code=204
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/pdp',
+ json={
+ "pdps": {
+ "b3d3e18abf3340e8b635fd49e6634ccd": {
+ "description": "test",
+ "security_pipeline": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0"
+ ],
+ "name": "pdp_rbac",
+ "vim_project_id": "a64beb1cc224474fb4badd43173e7101"
+ },
+ "eac0ecd09ceb47b3ac810f01ef71b4e0": {
+ "description": "test",
+ "security_pipeline": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0"
+ ],
+ "name": "pdp_rbac2",
+ "vim_project_id": "z64beb1cc224474fb4badd43173e7108"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/pdp/b3d3e18abf3340e8b635fd49e6634ccd',
+ json={
+ "pdps": {
+ "b3d3e18abf3340e8b635fd49e6634ccd": {
+ "description": "test",
+ "security_pipeline": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0"
+ ],
+ "name": "pdp_rbac",
+ "vim_project_id": "a64beb1cc224474fb4badd43173e7101"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/pdp/eac0ecd09ceb47b3ac810f01ef71b4e0',
+ json={
+ "pdps": {
+ "eac0ecd09ceb47b3ac810f01ef71b4e0": {
+ "description": "test",
+ "security_pipeline": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0"
+ ],
+ "name": "pdp_rbac",
+ "vim_project_id": "z64beb1cc224474fb4badd43173e7108"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies',
+ json={
+ "policies": {
+ "f8f49a779ceb47b3ac810f01ef71b4e0": {
+ "name": "RBAC policy example",
+ "model_id": "cd923d8633ff4978ab0e99938f5153d6",
+ "description": "test",
+ "genre": "authz"
+ }
+ }
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0',
+ json={
+ "f8f49a779ceb47b3ac810f01ef71b4e0": {
+ "name": "RBAC policy example",
+ "model_id": "cd923d8633ff4978ab0e99938f5153d6",
+ "description": "test",
+ "genre": "authz"
+ }
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/models',
+ json={
+ "models": {
+ "cd923d8633ff4978ab0e99938f5153d6": {
+ "name": "RBAC",
+ "meta_rules": [
+ "4700cc0e38ef4cffa34025602d267c9e"
+ ],
+ "description": "test"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/meta_rules',
+ json={
+ "meta_rules": {
+ "4700cc0e38ef4cffa34025602d267c9e": {
+ "subject_categories": [
+ "14e6ae0ba34d458b876c791b73aa17bd"
+ ],
+ "action_categories": [
+ "241a2a791554421a91c9f1bc564aa94d"
+ ],
+ "description": "",
+ "name": "rbac",
+ "object_categories": [
+ "6d48500f639d4c2cab2b1f33ef93a1e8"
+ ]
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/subject_categories',
+ json={
+ 'subject_categories':
+ {
+ '14e6ae0ba34d458b876c791b73aa17bd':
+ {
+ 'id': '14e6ae0ba34d458b876c791b73aa17bd',
+ 'name': 'testuser14e6ae0ba34d458b876c791b73aa17bd',
+ 'description': 'description of testuser14e6ae0ba34d458b876c791b73aa17bd'
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/action_categories',
+ json={
+ 'action_categories':
+ {
+ '241a2a791554421a91c9f1bc564aa94d':
+ {
+ 'id': '241a2a791554421a91c9f1bc564aa94d',
+ 'name': 'testuser241a2a791554421a91c9f1bc564aa94d',
+ 'description': 'description of testuser241a2a791554421a91c9f1bc564aa94d'
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/object_categories',
+ json={
+ 'object_categories':
+ {
+ '6d48500f639d4c2cab2b1f33ef93a1e8':
+ {
+ 'id': '6d48500f639d4c2cab2b1f33ef93a1e8',
+ 'name': '6d48500f639d4c2cab2b1f33ef93a1e8',
+ 'description': 'description of testuser6d48500f639d4c2cab2b1f33ef93a1e8'
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/subjects',
+ json={
+ "subjects": {
+ "89ba91c18dd54abfbfde7a66936c51a6": {
+ "description": "test",
+ "policy_list": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "636cd473324f4c0bbd9102cb5b62a16d"
+ ],
+ "name": "testuser",
+ "email": "mail",
+ "id": "89ba91c18dd54abfbfde7a66936c51a6",
+ "extra": {}
+ },
+ "31fd15ad14784a9696fcc887dddbfaf9": {
+ "description": "test",
+ "policy_list": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "636cd473324f4c0bbd9102cb5b62a16d"
+ ],
+ "name": "adminuser",
+ "email": "mail",
+ "id": "31fd15ad14784a9696fcc887dddbfaf9",
+ "extra": {}
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/objects',
+ json={
+ "objects": {
+ "67b8008a3f8d4f8e847eb628f0f7ca0e": {
+ "name": "vm1",
+ "description": "test",
+ "id": "67b8008a3f8d4f8e847eb628f0f7ca0e",
+ "extra": {},
+ "policy_list": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "636cd473324f4c0bbd9102cb5b62a16d"
+ ]
+ },
+ "9089b3d2ce5b4e929ffc7e35b55eba1a": {
+ "name": "vm0",
+ "description": "test",
+ "id": "9089b3d2ce5b4e929ffc7e35b55eba1a",
+ "extra": {},
+ "policy_list": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "636cd473324f4c0bbd9102cb5b62a16d"
+ ]
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/actions',
+ json={
+ "actions": {
+ "cdb3df220dc05a6ea3334b994827b068": {
+ "name": "boot",
+ "description": "test",
+ "id": "cdb3df220dc05a6ea3334b994827b068",
+ "extra": {},
+ "policy_list": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "636cd473324f4c0bbd9102cb5b62a16d"
+ ]
+ },
+ "9f5112afe9b34a6c894eb87246ccb7aa": {
+ "name": "start",
+ "description": "test",
+ "id": "9f5112afe9b34a6c894eb87246ccb7aa",
+ "extra": {},
+ "policy_list": [
+ "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "636cd473324f4c0bbd9102cb5b62a16d"
+ ]
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/subject_assignments',
+ json={
+ "subject_assignments": {
+ "826c1156d0284fc9b4b2ddb279f63c52": {
+ "category_id": "14e6ae0ba34d458b876c791b73aa17bd",
+ "assignments": [
+ "24ea95256c5f4c888c1bb30a187788df",
+ "6b227b77184c48b6a5e2f3ed1de0c02a",
+ "31928b17ec90438ba5a2e50ae7650e63",
+ "4e60f554dd3147af87595fb6b37dcb13",
+ "7a5541b63a024fa88170a6b59f99ccd7",
+ "dd2af27812f742029d289df9687d6126",
+ "4d4b3c3ba45e48589b382a6e369bafbe",
+ ],
+ "id": "826c1156d0284fc9b4b2ddb279f63c52",
+ "subject_id": "89ba91c18dd54abfbfde7a66936c51a6",
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0"
+ },
+ "7407ffc1232944279b0cbcb0847c86f7": {
+ "category_id": "315072d40d774c43a89ff33937ed24eb",
+ "assignments": [
+ "6b227b77184c48b6a5e2f3ed1de0c02a",
+ "31928b17ec90438ba5a2e50ae7650e63",
+ "7a5541b63a024fa88170a6b59f99ccd7",
+ "dd2af27812f742029d289df9687d6126",
+ ],
+ "id": "7407ffc1232944279b0cbcb0847c86f7",
+ "subject_id": "89ba91c18dd54abfbfde7a66936c51a6",
+ "policy_id": "3e65256389b448cb9897917ea235f0bb"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/object_assignments',
+ json={
+ "object_assignments": {
+ "201ad05fd3f940948b769ab9214fe295": {
+ "object_id": "9089b3d2ce5b4e929ffc7e35b55eba1a",
+ "assignments": [
+ "030fbb34002e4236a7b74eeb5fd71e35",
+ "4b7793dbae434c31a77da9d92de9fa8c",
+ '11209d83b167438cb8ab3e5d5351329e',
+ ],
+ "id": "201ad05fd3f940948b769ab9214fe295",
+ "category_id": "33aece52d45b4474a20dc48a76800daf",
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0"
+ },
+ "90c5e86f8be34c0298fbd1973e4fb043": {
+ "object_id": "67b8008a3f8d4f8e847eb628f0f7ca0e",
+ "assignments": [
+ "7dc76c6142af47c88b60cc2b0df650ba",
+ "4b7793dbae434c31a77da9d92de9fa8c",
+ '11209d83b167438cb8ab3e5d5351329e'
+ ],
+ "id": "90c5e86f8be34c0298fbd1973e4fb043",
+ "category_id": "6d48500f639d4c2cab2b1f33ef93a1e8",
+ "policy_id": "3e65256389b448cb9897917ea235f0bb"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/action_assignments',
+ json={
+ "action_assignments": {
+ "2128e3ffbd1c4ef5be515d625745c2d4": {
+ "category_id": "241a2a791554421a91c9f1bc564aa94d",
+ "action_id": "cdb3df220dc05a6ea3334b994827b068",
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "id": "2128e3ffbd1c4ef5be515d625745c2d4",
+ "assignments": [
+ "570c036781e540dc9395b83098c40ba7",
+ "7fe17d7a2e3542719f8349c3f2273182",
+ "015ca6f40338422ba3f692260377d638",
+ "23d44c17bf88480f83e8d57d2aa1ea79",
+ '5ced7ea5e1714f0888d6b4f94c32c29c',
+ ]
+ },
+ "cffb98852f3a4110af7a0ddfc4e19201": {
+ "category_id": "4a2c5abaeaf644fcaf3ca8df64000d53",
+ "action_id": "cdb3df220dc04a6ea3334b994827b068",
+ "policy_id": "3e65256389b448cb9897917ea235f0bb",
+ "id": "cffb98852f3a4110af7a0ddfc4e19201",
+ "assignments": [
+ "570c036781e540dc9395b83098c40ba7",
+ "7fe17d7a2e3542719f8349c3f2273182",
+ "015ca6f40338422ba3f692260377d638",
+ "23d44c17bf88480f83e8d57d2aa1ea79"
+ ]
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/subject_assignments/'
+ '89ba91c18dd54abfbfde7a66936c51a6',
+ json={
+ "subject_assignments": {
+ "826c1156d0284fc9b4b2ddb279f63c52": {
+ "category_id": "14e6ae0ba34d458b876c791b73aa17bd",
+ "assignments": [
+ "24ea95256c5f4c888c1bb30a187788df",
+ "6b227b77184c48b6a5e2f3ed1de0c02a",
+ "31928b17ec90438ba5a2e50ae7650e63",
+ "4e60f554dd3147af87595fb6b37dcb13",
+ "7a5541b63a024fa88170a6b59f99ccd7",
+ "4d4b3c3ba45e48589b382a6e369bafbe"
+ ],
+ "id": "826c1156d0284fc9b4b2ddb279f63c52",
+ "subject_id": "89ba91c18dd54abfbfde7a66936c51a6",
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/object_assignments/'
+ '67b8008a3f8d4f8e847eb628f0f7ca0e',
+ json={
+ "object_assignments": {
+ "201ad05fd3f940948b769ab9214fe295": {
+ "object_id": "67b8008a3f8d4f8e847eb628f0f7ca0e",
+ "assignments": [
+ "030fbb34002e4236a7b74eeb5fd71e35",
+ "11209d83b167438cb8ab3e5d5351329e"
+ ],
+ "id": "201ad05fd3f940948b769ab9214fe295",
+ "category_id": "6d48500f639d4c2cab2b1f33ef93a1e8",
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0"
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/action_assignments/'
+ 'cdb3df220dc05a6ea3334b994827b068',
+ json={
+ "action_assignments": {
+ "2128e3ffbd1c4ef5be515d625745c2d4": {
+ "category_id": "241a2a791554421a91c9f1bc564aa94d",
+ "action_id": "cdb3df220dc05a6ea3334b994827b068",
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "id": "2128e3ffbd1c4ef5be515d625745c2d4",
+ "assignments": [
+ "570c036781e540dc9395b83098c40ba7",
+ "7fe17d7a2e3542719f8349c3f2273182",
+ "015ca6f40338422ba3f692260377d638",
+ "f8f49a779ceb47b3ac810f01ef71b4e0"
+ ]
+ }
+ }
+ }
+ )
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/rules',
+ json={
+ "rules": {
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "rules": [
+ {
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "rule": [
+ "24ea95256c5f4c888c1bb30a187788df",
+ "030fbb34002e4236a7b74eeb5fd71e35",
+ "570c036781e540dc9395b83098c40ba7"
+ ],
+ "enabled": True,
+ "id": "0201a2bcf56943c1904dbac016289b71",
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "meta_rule_id": "4700cc0e38ef4cffa34025602d267c9e"
+ },
+ {
+ "policy_id": "f8f49a779ceb47b3ac810f01ef71b4e0",
+ "rule": [
+ "4d4b3c3ba45e48589b382a6e369bafbe",
+ '11209d83b167438cb8ab3e5d5351329e',
+ '5ced7ea5e1714f0888d6b4f94c32c29c'
+ ],
+ "enabled": True,
+ "id": "0bd7da3b20bb4b57af10c0e362aac847",
+ "instructions": [
+ {
+ "decision": "grant"
+ }
+ ],
+ "meta_rule_id": "4700cc0e38ef4cffa34025602d267c9e"
+ }
+ ]
+ }
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/pipelines',
+ json={
+ "pipelines": {
+ 'b3d3e18abf3340e8b635fd49e6634ccd': {
+ 'starttime': '1548688120.3931532',
+ "port": '20000',
+ "server_ip": '127.0.0.1',
+ "status": 'up',
+ "log": '/tmp/moon_policy_id_2.log'
+ }
+
+ }
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/subject_data',
+ json={
+ 'subject_data': [
+ {
+ 'policy_id': 'f8f49a779ceb47b3ac810f01ef71b4e0',
+ 'category_id': '14e6ae0ba34d458b876c791b73aa17bd',
+ 'data': {
+ '4d4b3c3ba45e48589b382a6e369bafbe': {
+ 'id': '4d4b3c3ba45e48589b382a6e369bafbe',
+ 'name': 'testuser',
+ 'description': 'description of testuser',
+ 'category_id': '14e6ae0ba34d458b876c791b73aa17bd',
+ 'policy_id': 'f8f49a779ceb47b3ac810f01ef71b4e0'
+ }
+ }
+ },
+ ]
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/object_data',
+ json={
+ 'object_data': [
+ {
+ 'policy_id': 'f8f49a779ceb47b3ac810f01ef71b4e0',
+ 'category_id': '6d48500f639d4c2cab2b1f33ef93a1e8',
+ 'data': {
+ '11209d83b167438cb8ab3e5d5351329e': {
+ 'id': '11209d83b167438cb8ab3e5d5351329e',
+ 'name': 'testuser',
+ 'description': 'description of testuser',
+ 'category_id': '6d48500f639d4c2cab2b1f33ef93a1e8',
+ 'policy_id': 'f8f49a779ceb47b3ac810f01ef71b4e0'
+ }
+ }
+ },
+ ]
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/policies/f8f49a779ceb47b3ac810f01ef71b4e0/action_data',
+ json={
+ 'action_data': [
+ {
+ 'policy_id': 'f8f49a779ceb47b3ac810f01ef71b4e0',
+ 'category_id': '241a2a791554421a91c9f1bc564aa94d',
+ 'data': {
+ '5ced7ea5e1714f0888d6b4f94c32c29c': {
+ 'id': '5ced7ea5e1714f0888d6b4f94c32c29c',
+ 'name': 'testuser',
+ 'description': 'description of testuser',
+ 'category_id': '241a2a791554421a91c9f1bc564aa94d',
+ 'policy_id': 'f8f49a779ceb47b3ac810f01ef71b4e0'
+ }
+ }
+ }
+ ]
+ }
+ )
+
+ m.register_uri(
+ 'GET', 'http://127.0.0.1:8000/slaves',
+ json={
+ "slaves": {
+ "24aa2a391554421a98c9f1bc564ae94d": {
+ "name": "slave name",
+ "address": "http://slave"
+ }
+ }
+ }
+ )
+
+ m.register_uri(
+ 'PUT', 'http://127.0.0.1:20000/update/policy/f8f49a779ceb47b3ac810f01ef71b4e0',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE', 'http://127.0.0.1:20000/update/policy/f8f49a779ceb47b3ac810f01ef71b4e0',
+ json={}
+ )
+ m.register_uri(
+ 'PUT', 'http://127.0.0.1:20000/update/policy/eac0ecd09ceb47b3ac810f01ef71b4e0',
+ json={},
+ status_code=208
+ )
+ m.register_uri(
+ 'DELETE', 'http://127.0.0.1:20000/update/policy/eac0ecd09ceb47b3ac810f01ef71b4e0',
+ json={}
+ )
+ m.register_uri(
+ 'PUT', 'http://127.0.0.1:20000/update/pdp/b3d3e18abf3340e8b635fd49e6634ccd',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE', 'http://127.0.0.1:20000/update/pdp/b3d3e18abf3340e8b635fd49e6634ccd',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE', 'http://127.0.0.1:20000/update/assignment/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/subject',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE', 'http://127.0.0.1:20000/update/assignment/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/object',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE', 'http://127.0.0.1:20000/update/assignment/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/action',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/perimeter/89ba91c18dd54abfbfde7a66936c51a6/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/subject',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/perimeter/31fd15ad14784a9696fcc887dddbfaf9/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/subject',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/perimeter/67b8008a3f8d4f8e847eb628f0f7ca0e/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/object',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/perimeter/9089b3d2ce5b4e929ffc7e35b55eba1a/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/object',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/perimeter/cdb3df220dc05a6ea3334b994827b068/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/action',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/perimeter/9f5112afe9b34a6c894eb87246ccb7aa/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/action',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/perimeter/89ba91c18dd54abfbfde7a66936c51a6/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/subject',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/perimeter/31fd15ad14784a9696fcc887dddbfaf9/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/subject',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/perimeter/67b8008a3f8d4f8e847eb628f0f7ca0e/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/object',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/perimeter/9089b3d2ce5b4e929ffc7e35b55eba1a/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/object',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/perimeter/cdb3df220dc05a6ea3334b994827b068/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/action',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/perimeter/9f5112afe9b34a6c894eb87246ccb7aa/'
+ 'f8f49a779ceb47b3ac810f01ef71b4e0/action',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/rule/f8f49a779ceb47b3ac810f01ef71b4e0/'
+ '0201a2bcf56943c1904dbac016289b71',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/rule/f8f49a779ceb47b3ac810f01ef71b4e0/'
+ '0bd7da3b20bb4b57af10c0e362aac847',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/model/cd923d8633ff4978ab0e99938f5153d6',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/model/cd923d8633ff4978ab0e99938f5153d6',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/meta_data/14e6ae0ba34d458b876c791b73aa17bd/subject',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/meta_data/241a2a791554421a91c9f1bc564aa94d/action',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/meta_data/6d48500f639d4c2cab2b1f33ef93a1e8/object',
+ json={}
+ )
+
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/meta_rule/4700cc0e38ef4cffa34025602d267c9e',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/meta_rule/4700cc0e38ef4cffa34025602d267c9e',
+ json={}
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:20000/authz/testuser/vm1/boot',
+ json={},
+ status_code=204
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/data/4d4b3c3ba45e48589b382a6e369bafbe/subject',
+ json={}
+ )
+
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/data/11209d83b167438cb8ab3e5d5351329e/object',
+ json={}
+ )
+ m.register_uri(
+ 'DELETE',
+ 'http://127.0.0.1:20000/update/data/5ced7ea5e1714f0888d6b4f94c32c29c/action',
+ json={}
+ )
+ m.register_uri(
+ 'PUT',
+ 'http://127.0.0.1:20000/update/slave/24aa2a391554421a98c9f1bc564ae94d',
+ json={}
+ )
+ m.register_uri(
+ 'GET',
+ '/authz/a64beb1cc224474fb4badd43173e7101/testuser/vm1/boot',
+ json={"result": True}
+ )
+ m.register_uri(
+ 'GET',
+ 'http://127.0.0.1:20000/authz/a64beb1cc224474fb4badd43173e7101/testuser/vm1/boot',
+ json={"result": True}
+ )
+
+
diff --git a/moon_engine/tests/unit_python/moon.yaml b/moon_engine/tests/unit_python/moon.yaml
new file mode 100644
index 00000000..a1257a20
--- /dev/null
+++ b/moon_engine/tests/unit_python/moon.yaml
@@ -0,0 +1,54 @@
+type: "pipeline"
+uuid: "a64beb1c-c224-474f-b4ba-dd43173e7101"
+management:
+ url: "http://127.0.0.1:8000"
+ token_file: moon_engine_users.json
+incremental_updates: false
+api_token:
+data: conf/policy_example.json
+debug: true
+
+orchestration:
+ driver: moon_engine.plugins.pyorchestrator
+ connection: local
+ port: 20000...20100
+ config_dir: /tmp
+
+authorization:
+ driver: moon_engine.plugins.authz
+
+plugins:
+ directory: /tmp
+
+logging:
+ version: 1
+
+ formatters:
+ brief:
+ format: "%(levelname)s %(name)s %(message)-30s"
+ custom:
+ format: "%(asctime)-15s %(levelname)s %(name)s %(message)s"
+
+ handlers:
+ console:
+ class : logging.StreamHandler
+ formatter: custom
+ level : INFO
+ stream : ext://sys.stdout
+ file:
+ class : logging.handlers.RotatingFileHandler
+ formatter: custom
+ level : DEBUG
+ filename: /tmp/moon_engine.log
+ maxBytes: 1048576
+ backupCount: 3
+
+ loggers:
+ moon:
+ level: DEBUG
+ handlers: [console, file]
+ propagate: no
+
+ root:
+ level: ERROR
+ handlers: [console] \ No newline at end of file
diff --git a/moon_engine/tests/unit_python/moon_engine_users.json b/moon_engine/tests/unit_python/moon_engine_users.json
new file mode 100644
index 00000000..97602c98
--- /dev/null
+++ b/moon_engine/tests/unit_python/moon_engine_users.json
@@ -0,0 +1 @@
+{"_default": {"1": {"username": "admin", "password": "0ded616e9bc4dcf292e3d282adb66b76eb28335bec14608fc860f96bd0f85210486085f59eb582fc1da9e965de0735dadbeda05ddaefe3db7c9cc8b1755eb0dc", "salt": "6704f5bdd5e0193be205e04661c6b998238debd74f8c7da5503a0493b8c710358ebe6303bac9c2758521a5d228cf3954a99334604e7ea3ecd0fe240a39210a12", "api_key": "30d200fee36bfeceb0cbd1479f8dcda92720392e92c5ddb63ea06979a75b9a055516b6c840def90de49eb02abac1f78ddfe38618cc1c36000e59875acb4664d3"}}} \ No newline at end of file
diff --git a/moon_engine/tests/unit_python/policy_example.json b/moon_engine/tests/unit_python/policy_example.json
new file mode 100644
index 00000000..6adddd06
--- /dev/null
+++ b/moon_engine/tests/unit_python/policy_example.json
@@ -0,0 +1,470 @@
+{
+ "policies": [
+ {
+ "name": "MLS Policy",
+ "genre": "authz",
+ "description": "MLS policy",
+ "model": {
+ "name": "MLS"
+ },
+ "mandatory": true,
+ "override": true
+ }
+ ],
+ "models": [
+ {
+ "name": "MLS",
+ "description": "",
+ "meta_rules": [
+ {
+ "name": "mls"
+ }
+ ],
+ "override": true
+ }
+ ],
+ "subjects": [
+ {
+ "name": "admin",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ },
+ {
+ "name": "demo",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ }
+ ],
+ "subject_categories": [
+ {
+ "name": "level",
+ "description": "subject level"
+ }
+ ],
+ "subject_data": [
+ {
+ "name": "high",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "medium",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "low",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ }
+ ],
+ "subject_assignments": [
+ {
+ "subject": {"name": "admin"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "high"}]
+ },
+ {
+ "subject": {"name": "demo"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "low"}]
+ }
+ ],
+ "objects": [
+ {
+ "name": "vm1",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm2",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ },
+ {
+ "name": "vm3",
+ "description": "",
+ "extra": {},
+ "policies": [
+ {
+ "name": "MLS Policy"
+ }
+ ]
+ }
+ ],
+ "object_categories": [
+ {
+ "name": "level",
+ "description": "object level"
+ }
+ ],
+ "object_data": [
+ {
+ "name": "high",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "medium",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ },
+ {
+ "name": "low",
+ "description": "",
+ "policies": [],
+ "category": {
+ "name": "level"
+ }
+ }
+ ],
+ "object_assignments": [
+ {
+ "object": {"name": "vm1"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "high"}]
+ },
+ {
+ "object": {"name": "vm2"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "medium"}]
+ },
+ {
+ "object": {"name": "vm3"},
+ "category": {"name": "level"},
+ "assignments": [{"name": "low"}]
+ }
+ ],
+ "actions": [
+ {
+ "name": "use_image",
+ "description": "use_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "get_images",
+ "description": "get_images action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "update_image",
+ "description": "update_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ },
+ {
+ "name": "set_image",
+ "description": "set_image action for glance",
+ "extra": {
+ "component": "glance"
+ },
+ "policies": []
+ }
+ ],
+ "action_categories": [
+ {
+ "name": "type",
+ "description": ""
+ }
+ ],
+ "action_data": [
+ {
+ "name": "read",
+ "description": "read action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "write",
+ "description": "write action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ },
+ {
+ "name": "execute",
+ "description": "execute action",
+ "policies": [],
+ "category": {
+ "name": "type"
+ }
+ }
+ ],
+ "action_assignments": [
+ {
+ "action": {"name": "use_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "execute"}]
+ },
+ {
+ "action": {"name": "update_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}, {"name": "write"}]
+ },
+ {
+ "action": {"name": "set_image"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "write"}]
+ },
+ {
+ "action": {"name": "get_images"},
+ "category": {"name": "type"},
+ "assignments": [{"name": "read"}]
+ }
+ ],
+ "meta_rules": [
+ {
+ "name": "mls",
+ "description": "",
+ "subject_categories": [{"name": "level"}],
+ "object_categories": [{"name": "level"}],
+ "action_categories": [{"name": "type"}]
+ }
+ ],
+ "rules": [
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "high"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "low"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "read"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "high"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "low"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "write"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "high"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "high"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "medium"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "medium"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ },
+ {
+ "meta_rule": {"name": "mls"},
+ "rule": {
+ "subject_data": [{"name": "low"}],
+ "object_data": [{"name": "low"}],
+ "action_data": [{"name": "execute"}]
+ },
+ "policy": {"name": "MLS Policy"},
+ "instructions": [{"decision": "grant"}],
+ "enabled": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/moon_engine/tests/unit_python/requirements.txt b/moon_engine/tests/unit_python/requirements.txt
new file mode 100644
index 00000000..611c265c
--- /dev/null
+++ b/moon_engine/tests/unit_python/requirements.txt
@@ -0,0 +1,5 @@
+hug!=2.5.0
+moon_utilities
+moon_cache
+requests_mock
+pytest-benchmark \ No newline at end of file