aboutsummaryrefslogtreecommitdiffstats
path: root/tools/openstack
diff options
context:
space:
mode:
Diffstat (limited to 'tools/openstack')
-rw-r--r--tools/openstack/README.md73
-rw-r--r--tools/openstack/glance/policy.json62
-rw-r--r--tools/openstack/nova/policy.json488
3 files changed, 0 insertions, 623 deletions
diff --git a/tools/openstack/README.md b/tools/openstack/README.md
deleted file mode 100644
index 8b5d06e5..00000000
--- a/tools/openstack/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# OpenStack
-## Installation
-For the *Moon* platform, you must have the following OpenStack components installed somewhere:
-- *Nova*, see [Nova install](https://docs.openstack.org/mitaka/install-guide-ubuntu/nova-controller-install.html)
-- *Glance*, see [Glance install](https://docs.openstack.org/glance/pike/install/)
-- *Keystone* is automatically installed and configured in the Moon platform.
-After the Moon platform installation, the Keystone server will be available
-at: `http://localhost:30005 or http://\<servername\>:30005`
-
-You can also use your own Keystone server if you want.
-
-## Configuration
-Before updating the configuration of the OpenStack platform, check that the platform
-is working without Moon, use the following commands:
-```bash
-# set authentication
-openstack endpoint list
-openstack user list
-openstack server list
-```
-
-In order to connect the OpenStack platform with the Moon platform, you must update some
-configuration files in Nova and Glance:
-- `/etc/nova/policy.json`
-- `/etc/glance/policy.json`
-
-In some installed platform, the `/etc/nova/policy.json` can be absent so you have
-to create one. You can find example files in those directory:
-- `${MOON}/tools/openstack/nova/policy.json`
-- `${MOON}/tools/openstack/glance/policy.json`
-
-Each line is mapped to an OpenStack API interface, for example, the following line
-allows the user to get details for every virtual machines in the cloud
-(the corresponding shell command is `openstack server list`):
-
- "os_compute_api:servers:detail": "",
-
-This lines indicates that there is no special authorisation to use this API,
-every users can use it. If you want that the Moon platform handles that authorisation,
-update this line with:
-
- "os_compute_api:servers:detail": "http://my_hostname:31001/authz"
-
-1) by replacing `my_hostname` with the hostname (or the IP address) of the Moon platform.
-2) by updating the TCP port (default: 31001) with the good one.
-
-To find this TCP port, use the following command:
-
- $ kubectl get services -n moon | grep wrapper | cut -d ":" -f 2 | cut -d " " -f 1
- 31002/TCP
-
-## Tests
-Here is a shell script to authenticate to the OpenStack platform as `admin`:
-```bash
-export OS_USERNAME=admin
-export OS_PASSWORD=p4ssw0rd
-export OS_REGION_NAME=Orange
-export OS_TENANT_NAME=admin
-export OS_AUTH_URL=http://moon_hostname:30006/v3
-export OS_DOMAIN_NAME=Default
-export OS_IDENTITY_API_VERSION=3
-```
-
-For the `demo_user`, use:
-```bash
-export OS_USERNAME=demo_user
-export OS_PASSWORD=your_secret_password
-export OS_REGION_NAME=Orange
-export OS_TENANT_NAME=demo
-export OS_AUTH_URL=http://moon_hostname:30006/v3
-export OS_DOMAIN_NAME=Default
-export OS_IDENTITY_API_VERSION=3
-```
diff --git a/tools/openstack/glance/policy.json b/tools/openstack/glance/policy.json
deleted file mode 100644
index 5505f67f..00000000
--- a/tools/openstack/glance/policy.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "context_is_admin": "role:admin",
- "default": "role:admin",
-
- "add_image": "http://my_hostname:31001/authz",
- "delete_image": "http://my_hostname:31001/authz",
- "get_image": "http://my_hostname:31001/authz",
- "get_images": "http://my_hostname:31001/authz",
- "modify_image": "http://my_hostname:31001/authz",
- "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": "role:admin",
- "get_tasks": "role:admin",
- "add_task": "role:admin",
- "modify_task": "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/tools/openstack/nova/policy.json b/tools/openstack/nova/policy.json
deleted file mode 100644
index 29763ce3..00000000
--- a/tools/openstack/nova/policy.json
+++ /dev/null
@@ -1,488 +0,0 @@
-{
- "context_is_admin": "role:admin",
- "admin_or_owner": "is_admin:True or project_id:%(project_id)s",
- "default": "rule:admin_or_owner",
-
- "cells_scheduler_filter:TargetCellFilter": "is_admin:True",
-
- "compute:create": "http://my_hostname:31001/authz",
- "compute:create:attach_network": "",
- "compute:create:attach_volume": "",
- "compute:create:forced_host": "is_admin:True",
-
- "compute:get": "http://my_hostname:31001/authz",
- "compute:get_all": "http://my_hostname:31001/authz",
- "compute:get_all_tenants": "is_admin:True",
-
- "compute:update": "",
-
- "compute:get_instance_metadata": "",
- "compute:get_all_instance_metadata": "",
- "compute:get_all_instance_system_metadata": "",
- "compute:update_instance_metadata": "",
- "compute:delete_instance_metadata": "",
-
- "compute:get_instance_faults": "",
- "compute:get_diagnostics": "",
- "compute:get_instance_diagnostics": "",
-
- "compute:start": "rule:admin_or_owner",
- "compute:stop": "rule:admin_or_owner",
-
- "compute:get_lock": "",
- "compute:lock": "rule:admin_or_owner",
- "compute:unlock": "rule:admin_or_owner",
- "compute:unlock_override": "rule:admin_api",
-
- "compute:get_vnc_console": "",
- "compute:get_spice_console": "",
- "compute:get_rdp_console": "",
- "compute:get_serial_console": "",
- "compute:get_mks_console": "",
- "compute:get_console_output": "",
-
- "compute:reset_network": "",
- "compute:inject_network_info": "",
- "compute:add_fixed_ip": "",
- "compute:remove_fixed_ip": "",
-
- "compute:attach_volume": "",
- "compute:detach_volume": "",
- "compute:swap_volume": "",
-
- "compute:attach_interface": "",
- "compute:detach_interface": "",
-
- "compute:set_admin_password": "",
-
- "compute:rescue": "",
- "compute:unrescue": "",
-
- "compute:suspend": "",
- "compute:resume": "",
-
- "compute:pause": "",
- "compute:unpause": "",
-
- "compute:shelve": "",
- "compute:shelve_offload": "",
- "compute:unshelve": "",
-
- "compute:snapshot": "",
- "compute:snapshot_volume_backed": "",
- "compute:backup": "",
-
- "compute:resize": "",
- "compute:confirm_resize": "",
- "compute:revert_resize": "",
-
- "compute:rebuild": "",
- "compute:reboot": "",
- "compute:delete": "rule:admin_or_owner",
- "compute:soft_delete": "rule:admin_or_owner",
- "compute:force_delete": "rule:admin_or_owner",
-
- "compute:security_groups:add_to_instance": "",
- "compute:security_groups:remove_from_instance": "",
-
- "compute:delete": "",
- "compute:soft_delete": "",
- "compute:force_delete": "",
- "compute:restore": "",
-
- "compute:volume_snapshot_create": "",
- "compute:volume_snapshot_delete": "",
-
- "admin_api": "is_admin:True",
- "compute_extension:accounts": "rule:admin_api",
- "compute_extension:admin_actions": "rule:admin_api",
- "compute_extension:admin_actions:pause": "rule:admin_or_owner",
- "compute_extension:admin_actions:unpause": "rule:admin_or_owner",
- "compute_extension:admin_actions:suspend": "rule:admin_or_owner",
- "compute_extension:admin_actions:resume": "rule:admin_or_owner",
- "compute_extension:admin_actions:lock": "rule:admin_or_owner",
- "compute_extension:admin_actions:unlock": "rule:admin_or_owner",
- "compute_extension:admin_actions:resetNetwork": "rule:admin_api",
- "compute_extension:admin_actions:injectNetworkInfo": "rule:admin_api",
- "compute_extension:admin_actions:createBackup": "rule:admin_or_owner",
- "compute_extension:admin_actions:migrateLive": "rule:admin_api",
- "compute_extension:admin_actions:resetState": "rule:admin_api",
- "compute_extension:admin_actions:migrate": "rule:admin_api",
- "compute_extension:aggregates": "rule:admin_api",
- "compute_extension:agents": "rule:admin_api",
- "compute_extension:attach_interfaces": "",
- "compute_extension:baremetal_nodes": "rule:admin_api",
- "compute_extension:cells": "rule:admin_api",
- "compute_extension:cells:create": "rule:admin_api",
- "compute_extension:cells:delete": "rule:admin_api",
- "compute_extension:cells:update": "rule:admin_api",
- "compute_extension:cells:sync_instances": "rule:admin_api",
- "compute_extension:certificates": "",
- "compute_extension:cloudpipe": "rule:admin_api",
- "compute_extension:cloudpipe_update": "rule:admin_api",
- "compute_extension:config_drive": "",
- "compute_extension:console_output": "",
- "compute_extension:consoles": "",
- "compute_extension:createserverext": "",
- "compute_extension:deferred_delete": "",
- "compute_extension:disk_config": "",
- "compute_extension:evacuate": "rule:admin_api",
- "compute_extension:extended_server_attributes": "rule:admin_api",
- "compute_extension:extended_status": "",
- "compute_extension:extended_availability_zone": "",
- "compute_extension:extended_ips": "",
- "compute_extension:extended_ips_mac": "",
- "compute_extension:extended_vif_net": "",
- "compute_extension:extended_volumes": "",
- "compute_extension:fixed_ips": "rule:admin_api",
- "compute_extension:flavor_access": "",
- "compute_extension:flavor_access:addTenantAccess": "rule:admin_api",
- "compute_extension:flavor_access:removeTenantAccess": "rule:admin_api",
- "compute_extension:flavor_disabled": "",
- "compute_extension:flavor_rxtx": "",
- "compute_extension:flavor_swap": "",
- "compute_extension:flavorextradata": "",
- "compute_extension:flavorextraspecs:index": "",
- "compute_extension:flavorextraspecs:show": "",
- "compute_extension:flavorextraspecs:create": "rule:admin_api",
- "compute_extension:flavorextraspecs:update": "rule:admin_api",
- "compute_extension:flavorextraspecs:delete": "rule:admin_api",
- "compute_extension:flavormanage": "rule:admin_api",
- "compute_extension:floating_ip_dns": "",
- "compute_extension:floating_ip_pools": "",
- "compute_extension:floating_ips": "",
- "compute_extension:floating_ips_bulk": "rule:admin_api",
- "compute_extension:fping": "",
- "compute_extension:fping:all_tenants": "rule:admin_api",
- "compute_extension:hide_server_addresses": "is_admin:False",
- "compute_extension:hosts": "rule:admin_api",
- "compute_extension:hypervisors": "rule:admin_api",
- "compute_extension:image_size": "",
- "compute_extension:instance_actions": "",
- "compute_extension:instance_actions:events": "rule:admin_api",
- "compute_extension:instance_usage_audit_log": "rule:admin_api",
- "compute_extension:keypairs": "",
- "compute_extension:keypairs:index": "",
- "compute_extension:keypairs:show": "",
- "compute_extension:keypairs:create": "",
- "compute_extension:keypairs:delete": "",
- "compute_extension:multinic": "",
- "compute_extension:networks": "rule:admin_api",
- "compute_extension:networks:view": "",
- "compute_extension:networks_associate": "rule:admin_api",
- "compute_extension:os-tenant-networks": "",
- "compute_extension:quotas:show": "",
- "compute_extension:quotas:update": "rule:admin_api",
- "compute_extension:quotas:delete": "rule:admin_api",
- "compute_extension:quota_classes": "",
- "compute_extension:rescue": "",
- "compute_extension:security_group_default_rules": "rule:admin_api",
- "compute_extension:security_groups": "",
- "compute_extension:server_diagnostics": "rule:admin_api",
- "compute_extension:server_groups": "",
- "compute_extension:server_password": "",
- "compute_extension:server_usage": "",
- "compute_extension:services": "rule:admin_api",
- "compute_extension:shelve": "",
- "compute_extension:shelveOffload": "rule:admin_api",
- "compute_extension:simple_tenant_usage:show": "rule:admin_or_owner",
- "compute_extension:simple_tenant_usage:list": "rule:admin_api",
- "compute_extension:unshelve": "",
- "compute_extension:users": "rule:admin_api",
- "compute_extension:virtual_interfaces": "",
- "compute_extension:virtual_storage_arrays": "",
- "compute_extension:volumes": "",
- "compute_extension:volume_attachments:index": "",
- "compute_extension:volume_attachments:show": "",
- "compute_extension:volume_attachments:create": "",
- "compute_extension:volume_attachments:update": "",
- "compute_extension:volume_attachments:delete": "",
- "compute_extension:volumetypes": "",
- "compute_extension:availability_zone:list": "",
- "compute_extension:availability_zone:detail": "rule:admin_api",
- "compute_extension:used_limits_for_admin": "rule:admin_api",
- "compute_extension:migrations:index": "rule:admin_api",
- "compute_extension:os-assisted-volume-snapshots:create": "rule:admin_api",
- "compute_extension:os-assisted-volume-snapshots:delete": "rule:admin_api",
- "compute_extension:console_auth_tokens": "rule:admin_api",
- "compute_extension:os-server-external-events:create": "rule:admin_api",
-
- "network:get_all": "",
- "network:get": "",
- "network:create": "",
- "network:delete": "",
- "network:associate": "",
- "network:disassociate": "",
- "network:get_vifs_by_instance": "",
- "network:allocate_for_instance": "",
- "network:deallocate_for_instance": "",
- "network:validate_networks": "",
- "network:get_instance_uuids_by_ip_filter": "",
- "network:get_instance_id_by_floating_address": "",
- "network:setup_networks_on_host": "",
- "network:get_backdoor_port": "",
-
- "network:get_floating_ip": "",
- "network:get_floating_ip_pools": "",
- "network:get_floating_ip_by_address": "",
- "network:get_floating_ips_by_project": "",
- "network:get_floating_ips_by_fixed_address": "",
- "network:allocate_floating_ip": "",
- "network:associate_floating_ip": "",
- "network:disassociate_floating_ip": "",
- "network:release_floating_ip": "",
- "network:migrate_instance_start": "",
- "network:migrate_instance_finish": "",
-
- "network:get_fixed_ip": "",
- "network:get_fixed_ip_by_address": "",
- "network:add_fixed_ip_to_instance": "",
- "network:remove_fixed_ip_from_instance": "",
- "network:add_network_to_project": "",
- "network:get_instance_nw_info": "",
-
- "network:get_dns_domains": "",
- "network:add_dns_entry": "",
- "network:modify_dns_entry": "",
- "network:delete_dns_entry": "",
- "network:get_dns_entries_by_address": "",
- "network:get_dns_entries_by_name": "",
- "network:create_private_dns_domain": "",
- "network:create_public_dns_domain": "",
- "network:delete_dns_domain": "",
- "network:attach_external_network": "rule:admin_api",
- "network:get_vif_by_mac_address": "",
-
- "os_compute_api:servers:detail:get_all_tenants": "is_admin:True",
- "os_compute_api:servers:index:get_all_tenants": "is_admin:True",
- "os_compute_api:servers:confirm_resize": "",
- "os_compute_api:servers:create": "http://my_hostname:31001/authz",
- "os_compute_api:servers:create:attach_network": "",
- "os_compute_api:servers:create:attach_volume": "",
- "os_compute_api:servers:create:forced_host": "rule:admin_api",
- "os_compute_api:servers:delete": "http://my_hostname:31001/authz",
- "os_compute_api:servers:update": "http://my_hostname:31001/authz",
- "os_compute_api:servers:detail": "http://my_hostname:31001/authz",
- "os_compute_api:servers:index": "http://my_hostname:31001/authz",
- "os_compute_api:servers:reboot": "http://my_hostname:31001/authz",
- "os_compute_api:servers:rebuild": "http://my_hostname:31001/authz",
- "os_compute_api:servers:resize": "http://my_hostname:31001/authz",
- "os_compute_api:servers:revert_resize": "http://my_hostname:31001/authz",
- "os_compute_api:servers:show": "http://my_hostname:31001/authz",
- "os_compute_api:servers:create_image": "",
- "os_compute_api:servers:create_image:allow_volume_backed": "",
- "os_compute_api:servers:start": "rule:admin_or_owner",
- "os_compute_api:servers:stop": "rule:admin_or_owner",
- "os_compute_api:os-access-ips:discoverable": "",
- "os_compute_api:os-access-ips": "",
- "os_compute_api:os-admin-actions": "rule:admin_api",
- "os_compute_api:os-admin-actions:discoverable": "",
- "os_compute_api:os-admin-actions:reset_network": "rule:admin_api",
- "os_compute_api:os-admin-actions:inject_network_info": "rule:admin_api",
- "os_compute_api:os-admin-actions:reset_state": "rule:admin_api",
- "os_compute_api:os-admin-password": "",
- "os_compute_api:os-admin-password:discoverable": "",
- "os_compute_api:os-aggregates:discoverable": "",
- "os_compute_api:os-aggregates:index": "rule:admin_api",
- "os_compute_api:os-aggregates:create": "rule:admin_api",
- "os_compute_api:os-aggregates:show": "rule:admin_api",
- "os_compute_api:os-aggregates:update": "rule:admin_api",
- "os_compute_api:os-aggregates:delete": "rule:admin_api",
- "os_compute_api:os-aggregates:add_host": "rule:admin_api",
- "os_compute_api:os-aggregates:remove_host": "rule:admin_api",
- "os_compute_api:os-aggregates:set_metadata": "rule:admin_api",
- "os_compute_api:os-agents": "rule:admin_api",
- "os_compute_api:os-agents:discoverable": "",
- "os_compute_api:os-attach-interfaces": "",
- "os_compute_api:os-attach-interfaces:discoverable": "",
- "os_compute_api:os-baremetal-nodes": "rule:admin_api",
- "os_compute_api:os-baremetal-nodes:discoverable": "",
- "os_compute_api:os-block-device-mapping-v1:discoverable": "",
- "os_compute_api:os-cells": "rule:admin_api",
- "os_compute_api:os-cells:create": "rule:admin_api",
- "os_compute_api:os-cells:delete": "rule:admin_api",
- "os_compute_api:os-cells:update": "rule:admin_api",
- "os_compute_api:os-cells:sync_instances": "rule:admin_api",
- "os_compute_api:os-cells:discoverable": "",
- "os_compute_api:os-certificates:create": "",
- "os_compute_api:os-certificates:show": "",
- "os_compute_api:os-certificates:discoverable": "",
- "os_compute_api:os-cloudpipe": "rule:admin_api",
- "os_compute_api:os-cloudpipe:discoverable": "",
- "os_compute_api:os-config-drive": "",
- "os_compute_api:os-consoles:discoverable": "",
- "os_compute_api:os-consoles:create": "",
- "os_compute_api:os-consoles:delete": "",
- "os_compute_api:os-consoles:index": "",
- "os_compute_api:os-consoles:show": "",
- "os_compute_api:os-console-output:discoverable": "",
- "os_compute_api:os-console-output": "",
- "os_compute_api:os-remote-consoles": "",
- "os_compute_api:os-remote-consoles:discoverable": "",
- "os_compute_api:os-create-backup:discoverable": "",
- "os_compute_api:os-create-backup": "rule:admin_or_owner",
- "os_compute_api:os-deferred-delete": "",
- "os_compute_api:os-deferred-delete:discoverable": "",
- "os_compute_api:os-disk-config": "",
- "os_compute_api:os-disk-config:discoverable": "",
- "os_compute_api:os-evacuate": "rule:admin_api",
- "os_compute_api:os-evacuate:discoverable": "",
- "os_compute_api:os-extended-server-attributes": "rule:admin_api",
- "os_compute_api:os-extended-server-attributes:discoverable": "",
- "os_compute_api:os-extended-status": "",
- "os_compute_api:os-extended-status:discoverable": "",
- "os_compute_api:os-extended-availability-zone": "",
- "os_compute_api:os-extended-availability-zone:discoverable": "",
- "os_compute_api:extensions": "",
- "os_compute_api:extension_info:discoverable": "",
- "os_compute_api:os-extended-volumes": "",
- "os_compute_api:os-extended-volumes:discoverable": "",
- "os_compute_api:os-fixed-ips": "rule:admin_api",
- "os_compute_api:os-fixed-ips:discoverable": "",
- "os_compute_api:os-flavor-access": "",
- "os_compute_api:os-flavor-access:discoverable": "",
- "os_compute_api:os-flavor-access:remove_tenant_access": "rule:admin_api",
- "os_compute_api:os-flavor-access:add_tenant_access": "rule:admin_api",
- "os_compute_api:os-flavor-rxtx": "",
- "os_compute_api:os-flavor-rxtx:discoverable": "",
- "os_compute_api:flavors:discoverable": "",
- "os_compute_api:os-flavor-extra-specs:discoverable": "",
- "os_compute_api:os-flavor-extra-specs:index": "",
- "os_compute_api:os-flavor-extra-specs:show": "",
- "os_compute_api:os-flavor-extra-specs:create": "rule:admin_api",
- "os_compute_api:os-flavor-extra-specs:update": "rule:admin_api",
- "os_compute_api:os-flavor-extra-specs:delete": "rule:admin_api",
- "os_compute_api:os-flavor-manage:discoverable": "",
- "os_compute_api:os-flavor-manage": "rule:admin_api",
- "os_compute_api:os-floating-ip-dns": "",
- "os_compute_api:os-floating-ip-dns:discoverable": "",
- "os_compute_api:os-floating-ip-dns:domain:update": "rule:admin_api",
- "os_compute_api:os-floating-ip-dns:domain:delete": "rule:admin_api",
- "os_compute_api:os-floating-ip-pools": "",
- "os_compute_api:os-floating-ip-pools:discoverable": "",
- "os_compute_api:os-floating-ips": "",
- "os_compute_api:os-floating-ips:discoverable": "",
- "os_compute_api:os-floating-ips-bulk": "rule:admin_api",
- "os_compute_api:os-floating-ips-bulk:discoverable": "",
- "os_compute_api:os-fping": "",
- "os_compute_api:os-fping:discoverable": "",
- "os_compute_api:os-fping:all_tenants": "rule:admin_api",
- "os_compute_api:os-hide-server-addresses": "is_admin:False",
- "os_compute_api:os-hide-server-addresses:discoverable": "",
- "os_compute_api:os-hosts": "rule:admin_api",
- "os_compute_api:os-hosts:discoverable": "",
- "os_compute_api:os-hypervisors": "rule:admin_api",
- "os_compute_api:os-hypervisors:discoverable": "",
- "os_compute_api:images:discoverable": "",
- "os_compute_api:image-size": "",
- "os_compute_api:image-size:discoverable": "",
- "os_compute_api:os-instance-actions": "",
- "os_compute_api:os-instance-actions:discoverable": "",
- "os_compute_api:os-instance-actions:events": "rule:admin_api",
- "os_compute_api:os-instance-usage-audit-log": "rule:admin_api",
- "os_compute_api:os-instance-usage-audit-log:discoverable": "",
- "os_compute_api:ips:discoverable": "",
- "os_compute_api:ips:index": "rule:admin_or_owner",
- "os_compute_api:ips:show": "rule:admin_or_owner",
- "os_compute_api:os-keypairs:discoverable": "",
- "os_compute_api:os-keypairs": "",
- "os_compute_api:os-keypairs:index": "rule:admin_api or user_id:%(user_id)s",
- "os_compute_api:os-keypairs:show": "rule:admin_api or user_id:%(user_id)s",
- "os_compute_api:os-keypairs:create": "rule:admin_api or user_id:%(user_id)s",
- "os_compute_api:os-keypairs:delete": "rule:admin_api or user_id:%(user_id)s",
- "os_compute_api:limits:discoverable": "",
- "os_compute_api:limits": "",
- "os_compute_api:os-lock-server:discoverable": "",
- "os_compute_api:os-lock-server:lock": "rule:admin_or_owner",
- "os_compute_api:os-lock-server:unlock": "rule:admin_or_owner",
- "os_compute_api:os-lock-server:unlock:unlock_override": "rule:admin_api",
- "os_compute_api:os-migrate-server:discoverable": "",
- "os_compute_api:os-migrate-server:migrate": "rule:admin_api",
- "os_compute_api:os-migrate-server:migrate_live": "rule:admin_api",
- "os_compute_api:os-multinic": "",
- "os_compute_api:os-multinic:discoverable": "",
- "os_compute_api:os-networks": "rule:admin_api",
- "os_compute_api:os-networks:view": "",
- "os_compute_api:os-networks:discoverable": "",
- "os_compute_api:os-networks-associate": "rule:admin_api",
- "os_compute_api:os-networks-associate:discoverable": "",
- "os_compute_api:os-pause-server:discoverable": "",
- "os_compute_api:os-pause-server:pause": "rule:admin_or_owner",
- "os_compute_api:os-pause-server:unpause": "rule:admin_or_owner",
- "os_compute_api:os-pci:pci_servers": "",
- "os_compute_api:os-pci:discoverable": "",
- "os_compute_api:os-pci:index": "rule:admin_api",
- "os_compute_api:os-pci:detail": "rule:admin_api",
- "os_compute_api:os-pci:show": "rule:admin_api",
- "os_compute_api:os-personality:discoverable": "",
- "os_compute_api:os-preserve-ephemeral-rebuild:discoverable": "",
- "os_compute_api:os-quota-sets:discoverable": "",
- "os_compute_api:os-quota-sets:show": "rule:admin_or_owner",
- "os_compute_api:os-quota-sets:defaults": "",
- "os_compute_api:os-quota-sets:update": "rule:admin_api",
- "os_compute_api:os-quota-sets:delete": "rule:admin_api",
- "os_compute_api:os-quota-sets:detail": "rule:admin_api",
- "os_compute_api:os-quota-class-sets:update": "rule:admin_api",
- "os_compute_api:os-quota-class-sets:show": "is_admin:True or quota_class:%(quota_class)s",
- "os_compute_api:os-quota-class-sets:discoverable": "",
- "os_compute_api:os-rescue": "",
- "os_compute_api:os-rescue:discoverable": "",
- "os_compute_api:os-scheduler-hints:discoverable": "",
- "os_compute_api:os-security-group-default-rules:discoverable": "",
- "os_compute_api:os-security-group-default-rules": "rule:admin_api",
- "os_compute_api:os-security-groups": "",
- "os_compute_api:os-security-groups:discoverable": "",
- "os_compute_api:os-server-diagnostics": "rule:admin_api",
- "os_compute_api:os-server-diagnostics:discoverable": "",
- "os_compute_api:os-server-password": "",
- "os_compute_api:os-server-password:discoverable": "",
- "os_compute_api:os-server-usage": "",
- "os_compute_api:os-server-usage:discoverable": "",
- "os_compute_api:os-server-groups": "",
- "os_compute_api:os-server-groups:discoverable": "",
- "os_compute_api:os-services": "rule:admin_api",
- "os_compute_api:os-services:discoverable": "",
- "os_compute_api:server-metadata:discoverable": "",
- "os_compute_api:server-metadata:index": "rule:admin_or_owner",
- "os_compute_api:server-metadata:show": "rule:admin_or_owner",
- "os_compute_api:server-metadata:delete": "rule:admin_or_owner",
- "os_compute_api:server-metadata:create": "rule:admin_or_owner",
- "os_compute_api:server-metadata:update": "rule:admin_or_owner",
- "os_compute_api:server-metadata:update_all": "rule:admin_or_owner",
- "os_compute_api:servers:discoverable": "",
- "os_compute_api:os-shelve:shelve": "",
- "os_compute_api:os-shelve:shelve:discoverable": "",
- "os_compute_api:os-shelve:shelve_offload": "rule:admin_api",
- "os_compute_api:os-simple-tenant-usage:discoverable": "",
- "os_compute_api:os-simple-tenant-usage:show": "rule:admin_or_owner",
- "os_compute_api:os-simple-tenant-usage:list": "rule:admin_api",
- "os_compute_api:os-suspend-server:discoverable": "",
- "os_compute_api:os-suspend-server:suspend": "rule:admin_or_owner",
- "os_compute_api:os-suspend-server:resume": "rule:admin_or_owner",
- "os_compute_api:os-tenant-networks": "rule:admin_or_owner",
- "os_compute_api:os-tenant-networks:discoverable": "",
- "os_compute_api:os-shelve:unshelve": "",
- "os_compute_api:os-user-data:discoverable": "",
- "os_compute_api:os-virtual-interfaces": "",
- "os_compute_api:os-virtual-interfaces:discoverable": "",
- "os_compute_api:os-volumes": "",
- "os_compute_api:os-volumes:discoverable": "",
- "os_compute_api:os-volumes-attachments:index": "",
- "os_compute_api:os-volumes-attachments:show": "",
- "os_compute_api:os-volumes-attachments:create": "",
- "os_compute_api:os-volumes-attachments:update": "",
- "os_compute_api:os-volumes-attachments:delete": "",
- "os_compute_api:os-volumes-attachments:discoverable": "",
- "os_compute_api:os-availability-zone:list": "",
- "os_compute_api:os-availability-zone:discoverable": "",
- "os_compute_api:os-availability-zone:detail": "rule:admin_api",
- "os_compute_api:os-used-limits": "rule:admin_api",
- "os_compute_api:os-used-limits:discoverable": "",
- "os_compute_api:os-migrations:index": "rule:admin_api",
- "os_compute_api:os-migrations:discoverable": "",
- "os_compute_api:os-assisted-volume-snapshots:create": "rule:admin_api",
- "os_compute_api:os-assisted-volume-snapshots:delete": "rule:admin_api",
- "os_compute_api:os-assisted-volume-snapshots:discoverable": "",
- "os_compute_api:os-console-auth-tokens": "rule:admin_api",
- "os_compute_api:os-server-external-events:create": "rule:admin_api"
-}