Jump to: navigation, search

Difference between revisions of "Nova/rbac"

Line 11: Line 11:
 
| /v2, v2.1    || GET ||  ||  ||  ||  ||  ||  ||  ||  no-auth
 
| /v2, v2.1    || GET ||  ||  ||  ||  ||  ||  ||  ||  no-auth
 
|-
 
|-
| rowspan="2" | /os-aggregates || GET || os-aggregates:index  ||  ||  ||  ||   ||  ||  ||
+
| rowspan="2" | /os-aggregates || GET || os-aggregates:index  ||  ||  ||  || ||  ||  ||
 
|-
 
|-
| POST || os-aggregates:create || x ||  ||  ||  ||  || ||
+
| POST || os-aggregates:create || ||  ||  ||  ||  || o ||
 
|-
 
|-
| rowspan="3" | /os-aggregates/{aggregate_id} || GET || os-aggregates:show ||  ||  ||  || ||  ||  ||
+
| rowspan="3" | /os-aggregates/{aggregate_id} || GET || os-aggregates:show ||  ||  ||  || o ||  ||  ||
 
|-
 
|-
| PUT || os-aggregates:update || x ||  ||  ||  ||  ||  ||
+
| PUT || os-aggregates:update || ||  ||  ||  ||  ||  o||
 
|-
 
|-
| DELETE || os-aggregates:delete ||  || x ||  ||  ||  || ||
+
| DELETE || os-aggregates:delete ||  || ||  ||  ||  || o ||
 
|-
 
|-
| rowspan="3" | /os-aggregates/{aggregate_id}/action || POST (add_host)|| os-aggregates:add_host ||  ||  ||  ||  ||  ||  ||
+
| rowspan="3" | /os-aggregates/{aggregate_id}/action || POST (add_host)|| os-aggregates:add_host ||  ||  ||  ||  ||  ||  o||
 
|-
 
|-
| POST (remove_host)|| os-aggregates:remove_host || x ||  ||  ||  ||  || ||
+
| POST (remove_host)|| os-aggregates:remove_host || ||  ||  ||  ||  || o ||
 
|-
 
|-
| POST (set_metadata)|| os-aggregates:set_metadata || x ||  ||  ||  ||  || ||
+
| POST (set_metadata)|| os-aggregates:set_metadata || ||  ||  ||  ||  || o ||
 
|-
 
|-
|  /os-aggregates/{aggregate_id}/images || POST || os-aggregates:images ||  ||  ||  ||  ||  || ||
+
|  /os-aggregates/{aggregate_id}/images || POST || os-aggregates:images ||  ||  ||  ||  ||  || o ||
 
|-
 
|-
|  /os-hosts || GET|| os-hosts:list||  ||  ||  || || || ||
+
|  /os-hosts || GET|| os-hosts:list||  ||  ||  || o|| || ||
 
|-
 
|-
| rowspan="2" |  /os-hosts/{host_name}/ || GET|| os-hosts:show || x || x || x || || || ||
+
| rowspan="2" |  /os-hosts/{host_name}/ || GET|| os-hosts:show || || || || o|| || ||
 
|-
 
|-
| PUT || os-hosts:update || x ||  ||  ||  ||  || ||
+
| PUT || os-hosts:update || ||  ||  ||  ||  || o ||
 
|-
 
|-
|  /os-hosts{host_name}/reboot || GET (but this is write operation) || os-hosts:reboot ||  ||  ||  ||  ||  || ||
+
|  /os-hosts{host_name}/reboot || GET (but this is write operation) || os-hosts:reboot ||  ||  ||  ||  ||  || o ||
 
|-
 
|-
|  /os-hosts{host_name}/shutdown|| GET  (but this is write operation) || os-hosts:shutdown ||  ||  ||  ||  ||  || ||
+
|  /os-hosts{host_name}/shutdown|| GET  (but this is write operation) || os-hosts:shutdown ||  ||  ||  ||  ||  || o ||
 
|-
 
|-
|  /os-hosts{host_name}/startup || GET  (but this is write operation)|| os-hosts:start ||  ||  ||  ||  ||  ||  ||
+
|  /os-hosts{host_name}/startup || GET  (but this is write operation)|| os-hosts:start ||  ||  ||  ||  ||  ||  o||
 
|-
 
|-
|  /os-hypervisors || GET || os-hypervisors:list ||  ||  || || ||  ||  ||
+
|  /os-hypervisors || GET || os-hypervisors:list ||  ||  || o || o ||  ||  ||
 
|-
 
|-
|  /os-hypervisors/details|| GET  || os-hypervisors:list-detail ||  ||  ||  || ||  ||  ||
+
|  /os-hypervisors/details|| GET  || os-hypervisors:list-detail ||  ||  ||  || o ||  ||  ||
 
|-
 
|-
|  /os-hypervisors/statistics || GET || os-hypervisors:statistics  ||  ||  ||  || ||  ||  ||  
+
|  /os-hypervisors/statistics || GET || os-hypervisors:statistics  ||  ||  ||  || o ||  ||  ||  
 
|-
 
|-
| /os-hypervisors/{hypervisor_id} || GET || os-hypervisors:show || x ||  ||  || ||  ||  ||  
+
| /os-hypervisors/{hypervisor_id} || GET || os-hypervisors:show || ||  ||  || o ||  ||  ||  
 
|-
 
|-
| /os-hypervisors/{hypervisor_id}/uptime || GET || os-hypervisors:uptime  || x || x || x || x || x ||  ||  
+
| /os-hypervisors/{hypervisor_id}/uptime || GET || os-hypervisors:uptime  || || || || o || ||  ||  
 
|-
 
|-
|  /os-hypervisors/{hypervisor_hostname_pattern}/search|| GET || os-hypervisors:search ||  ||  ||  || ||  ||  ||
+
|  /os-hypervisors/{hypervisor_hostname_pattern}/search|| GET || os-hypervisors:search ||  ||  ||  || o ||  ||  ||
 
|-
 
|-
|  /os-hypervisors/{hypervisor_hostname_pattern}/servers || GET|| os-hypervisors:servers  ||  ||  ||  || ||  ||  ||
+
|  /os-hypervisors/{hypervisor_hostname_pattern}/servers || GET|| os-hypervisors:servers  ||  ||  ||  || o ||  ||  ||
 
|-
 
|-
|  /os-services || GET|| os-services:list  ||  ||  ||  || ||  ||  ||
+
|  /os-services || GET|| os-services:list  ||  ||  ||  || o ||  ||  ||
 
|-
 
|-
| rowspan="2" | /os-services/{service_id} || PUT|| os-services:update ||  ||  ||  ||  ||  || ||
+
| rowspan="2" | /os-services/{service_id} || PUT|| os-services:update ||  ||  ||  ||  ||  || o ||
 
|-
 
|-
| DELETE|| os-services:delete ||  || x ||  ||  ||  || ||
+
| DELETE|| os-services:delete ||  || ||  ||  ||  || o ||
 
|-
 
|-
| /os-availability-zone || GET || os-availability-zone:list || x ||  ||  ||  ||  ||  ||
+
| /os-availability-zone || GET || os-availability-zone:list || ||  ||  ||  ||  ||  || RULE_ANY
 
|-
 
|-
| /os-availability-zone/detail || GET || os-availability-zone:detail || x || x || x || x || x ||  ||
+
| /os-availability-zone/detail || GET || os-availability-zone:detail || || || || o || ||  ||
 
|-
 
|-
| rowspan="2" |  /flavors || rowspan="2" | POST || os-flavor-manage:create || x || x || x || x || x ||  ||
+
| rowspan="2" |  /flavors || rowspan="2" | POST || os-flavor-manage:create || || || || || ||o ||
 
|-
 
|-
| os-flavor-extra-specs:index ->  (to show flavor extraspecs)  || || x ||  || || x ||  ||
+
| os-flavor-extra-specs:index ->  (to show flavor extraspecs)  || o || ||  || o || ||  ||
 
|-
 
|-
|  /flavors/detail || GET ||os-flavor-extra-specs:index  -> (to show flavor extraspecs)  || || x ||  ||  || x ||  ||  
+
|  /flavors/detail || GET ||os-flavor-extra-specs:index  -> (to show flavor extraspecs)  || o || ||  ||o || ||  ||  
 
|-
 
|-
| rowspan="4" | /flavors/{flavor_id} || rowspan="2" | PUT || os-flavor-manage:update ||x ||x || x || x || x ||  ||  
+
| rowspan="4" | /flavors/{flavor_id} || rowspan="2" | PUT || os-flavor-manage:update ||  ||  || || || ||o ||  
 
|-
 
|-
| os-flavor-extra-specs:index ->  (to show flavor extraspecs)  || || x ||  || || x ||  ||  
+
| os-flavor-extra-specs:index ->  (to show flavor extraspecs)  || o || ||  || o || ||  ||  
 
|-
 
|-
| DELETE ||os-flavor-manage:delete  ||  || x ||  ||  || x || ||  
+
| DELETE ||os-flavor-manage:delete  ||  || ||  ||  || || o ||  
 
|-
 
|-
| GET ||os-flavor-extra-specs:index ->  (to show flavor extraspecs) || || x ||  ||  || x ||  ||  
+
| GET ||os-flavor-extra-specs:index ->  (to show flavor extraspecs) || o || ||  ||o || ||  ||  
 
|-
 
|-
| /flavors/{flavor_id}/os-flavor-access|| GET|| os-flavor-access|| x || x || x || x || x ||  ||  
+
| /flavors/{flavor_id}/os-flavor-access|| GET|| os-flavor-access|| || || |||| ||  ||  
 
|-
 
|-
| rowspan="2" |/flavors/{flavor_id}/action || POST  (addTenantAccess)|| os-flavor-access:add_tenant_access ||  ||  ||  ||  ||  || ||  
+
| rowspan="2" |/flavors/{flavor_id}/action || POST  (addTenantAccess)|| os-flavor-access:add_tenant_access ||  ||  ||  ||  ||  || o ||  
 
|-
 
|-
| POST  (removeTenantAccess) || os-flavor-access:remove_tenant_access ||  ||  ||  ||  ||  || ||  
+
| POST  (removeTenantAccess) || os-flavor-access:remove_tenant_access ||  ||  ||  ||  ||  || o ||  
 
|-
 
|-
| rowspan="2" | /flavors/{flavor_id}/os-extra_specs/ || POST || os-flavor-extra-specs:create ||  ||  ||  ||  ||  || ||  
+
| rowspan="2" | /flavors/{flavor_id}/os-extra_specs/ || POST || os-flavor-extra-specs:create ||  ||  ||  ||  ||  || o ||  
 
|-
 
|-
| GET || os-flavor-extra-specs:index ||  || x ||  || ||  ||  ||  
+
| GET || os-flavor-extra-specs:index ||  || o ||  || o ||  ||  ||  
 
|-
 
|-
| rowspan="3" | /flavors/{flavor_id}/os-extra_specs/{flavor_extra_spec_key} || GET || os-flavor-extra-specs:show || ||  ||  || ||  ||  ||  
+
| rowspan="3" | /flavors/{flavor_id}/os-extra_specs/{flavor_extra_spec_key} || GET || os-flavor-extra-specs:show || o ||  ||  || o ||  ||  ||  
 
|-
 
|-
| PUT || os-flavor-extra-specs:update ||  || x ||  ||  ||  ||  ||  
+
| PUT || os-flavor-extra-specs:update ||  || ||  ||  ||  ||  o||  
 
|-
 
|-
| DELETE || os-flavor-extra-specs:delete ||  || x ||  ||  ||  || ||  
+
| DELETE || os-flavor-extra-specs:delete ||  || ||  ||  ||  || o ||  
 
|-
 
|-
| rowspan="11" | /servers || rowspan="8" | POST || servers:create ||x |||| x || x || x ||  ||  
+
| rowspan="11" | /servers || rowspan="8" | POST || servers:create ||  || o || || || ||  ||  
 
|-
 
|-
| servers:create:forced_host  ||  || x || ||  || x ||  ||  
+
| servers:create:forced_host  ||  || || o ||  || ||  ||  
 
|-
 
|-
| servers:create:requested_destination  ||  || x || ||  || x ||  ||  
+
| servers:create:requested_destination  ||  || || o ||  || ||  ||  
 
|-
 
|-
| servers:create:attach_volume  ||  || x ||  ||  || x ||  ||  
+
| servers:create:attach_volume  ||  || o ||  ||  || ||  ||  
 
|-
 
|-
| servers:create:attach_network  ||  || x ||  ||  || x ||  ||  
+
| servers:create:attach_network  ||  ||o ||  ||  || ||  ||  
 
|-
 
|-
| servers:create:trusted_certs  ||  || x ||  ||  || x ||  ||  
+
| servers:create:trusted_certs  ||  || o ||  ||  || ||  ||  
 
|-
 
|-
| servers:create:zero_disk_flavor  ||  || x || ||  || x ||  ||  
+
| servers:create:zero_disk_flavor  ||  || || o ||  || ||  ||  
 
|-
 
|-
| network:attach_external_network  ||  || x || ||  || x ||  ||  
+
| network:attach_external_network  ||  || || o ||  || ||  ||  
 
|-
 
|-
|  rowspan="3" | GET || servers:index ||  || x ||  ||  || x ||  ||  
+
|  rowspan="3" | GET || servers:index ||  o|| ||  ||  || ||  ||  
 
|-
 
|-
| servers:index:get_all_tenants  ||  || x ||  ||  || x ||  ||  
+
| servers:index:get_all_tenants  ||  || ||  ||  || ||  || Domain admin
 
|-
 
|-
| servers:allow_all_filters  ||  || x ||  ||  || x ||  ||
+
| servers:allow_all_filters  ||  || ||o ||  || ||  ||  
 
|-
 
|-
| rowspan="5" | /servers/detail || rowspan="5" | GET || servers:detail ||x ||x || x || x || x ||  ||
+
| rowspan="7" | /servers/detail || rowspan="7" | GET || servers:detail ||o ||  || || || ||  ||
 
|-
 
|-
| servers:detail:get_all_tenants  ||  || x ||  ||  || x ||  ||  
+
| servers:detail:get_all_tenants  ||  || ||  ||  || ||  || Domain admin
 
|-
 
|-
| servers:allow_all_filters  ||  || x || ||  || x ||  ||  
+
| servers:allow_all_filters  ||  || || o ||  || ||  ||  
 
|-
 
|-
| servers:show:host_status  ||  || x ||  ||  || x ||  ||  
+
| servers:show:host_status  ||  || ||  ||  || ||  || ? GET /servers is project scoped only but host status is system level info
 
|-
 
|-
| servers:show:host_status:unknown-only  ||  || x ||  ||  || x ||  ||  
+
| servers:show:host_status:unknown-only  ||  || ||  ||  || ||  || ? ditto ^^
 
|-
 
|-
| rowspan="7" | /servers/{server_id} || rowspan="3" | GET || servers:show ||x ||x || x || x || x ||  ||  
+
| os-extended-server-attributes  || || || ||  ||  ||  || ? ditto ^^
 
|-
 
|-
| servers:show:host_status  ||  || x ||  ||  || x ||  ||  
+
| os-flavor-extra-specs:index ->  (to show flavor extraspecs)  ||o || ||  ||  || ||  || GET /servers is project scoped only, in that case we have to we keep this also project scoped?
 
|-
 
|-
| servers:show:host_status:unknown-only  ||  || x ||  ||  || x ||  ||
+
| rowspan="11" | /servers/{server_id} || rowspan="5" | GET || servers:show ||o || ||  ||  || ||  ||  
 
|-
 
|-
| rowspan="3" |PUT || servers:update   ||  || x ||  ||  || x ||  ||  
+
| servers:show:host_status   ||  || ||  ||  || ||  || ? GET /servers/server-id is project scoped only but host status is system level info
 
|-
 
|-
| servers:show:host_status  ||  || x ||  ||  || x ||  ||  
+
| servers:show:host_status:unknown-only   ||  || ||  ||  || ||  || ? ditto ^^
 
|-
 
|-
| servers:show:host_status:unknown-only   ||  || x ||  ||  || x ||  ||  
+
| os-extended-server-attributes   ||  || ||  ||  || ||  || ? ditto ^^
 
|-
 
|-
| DELETE || servers:delete  ||  || x ||  ||  || x ||  ||
+
| os-flavor-extra-specs:index ->  (to show flavor extraspecs)  ||o || ||  ||  || ||  || GET /servers is project scoped only, in that case we have to we keep this also project scoped?
 
|-
 
|-
| rowspan="43" |/servers/{server_id}/action || rowspan="4" | POST  (rebuild)|| servers:rebuild ||  || ||  ||  || ||  ||
+
| rowspan="5" |PUT || servers:update  ||  || o ||  ||  || ||  ||  
 
|-
 
|-
| servers:show:host_status  ||  || x ||  ||  || x ||  ||
+
| servers:show:host_status  ||  || ||  ||  || ||  || ? ditto
 
|-
 
|-
| servers:show:host_status:unknown-only  ||  || x ||  ||  || x ||  ||  
+
| servers:show:host_status:unknown-only  ||  || ||  ||  || ||  || ? ditto
 
|-
 
|-
| servers:rebuild:trusted_certs   ||  || x ||  ||  || x ||  ||  
+
| os-extended-server-attributes   ||  || ||  ||  || ||  || ? ditto
 
|-
 
|-
| POST (confirmResize) || servers:confirm_resize ||  ||  ||  ||  ||  ||  ||  
+
| os-flavor-extra-specs:index -> (to show flavor extraspecs) ||  o||  ||  ||  ||  ||  || ditto
 
|-
 
|-
| POST  (revertResize) || servers:revert_resize ||  || ||  ||  ||  ||  ||  
+
| DELETE || servers:delete  ||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| rowspan="2" | POST  (resize) || servers:resize ||  || ||  ||  ||  ||  ||  
+
| rowspan="47" |/servers/{server_id}/action || rowspan="6" | POST  (rebuild)|| servers:rebuild ||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| servers:resize:cross_cell  ||  || x ||  ||  || x ||  ||  
+
| servers:show:host_status  ||  || ||  ||  || ||  || ? ditto
 
|-
 
|-
| POST  (reboot) || servers:reboot ||  ||  ||  ||  ||  ||  ||  
+
| servers:show:host_status:unknown-only  ||  ||  ||  ||  ||  ||  || ? ditto
 
|-
 
|-
| rowspan="2" | POST  (createImage) || servers:create_image ||  ||  ||  ||  ||  ||  ||  
+
| servers:rebuild:trusted_certs  ||  ||  o||  ||  ||  ||  ||  
 
|-
 
|-
| servers:create_image:allow_volume_backed  ||  || x ||  ||  || x ||  ||  
+
| os-extended-server-attributes  ||  || ||  ||  || ||  || ? ditto
 
|-
 
|-
| POST (os-start) || servers:start ||  ||  ||  ||  ||  ||  ||  
+
| os-flavor-extra-specs:index -> (to show flavor extraspecs) || o ||  ||  ||  ||  ||  ||
 
|-
 
|-
| POST  (os-stop) || servers:stop ||  || ||  ||  ||  ||  ||
+
| POST  (confirmResize) || servers:confirm_resize ||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (resume) || os-suspend-server:resume||  ||  ||  ||  ||  ||  ||
+
| POST  (revertResize) || servers:revert_resize ||  ||o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (suspend) || os-suspend-server:suspend||  || ||  ||  ||  ||  ||  
+
|  rowspan="2" | POST  (resize) || servers:resize ||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST (os-resetState) || os-admin-actions:reset_state||  ||  ||  ||  ||  ||  ||  
+
| servers:resize:cross_cell ||  ||  ||  ||  ||  ||  || no-one by default (as per current default)
 
|-
 
|-
| POST  (injectNetworkInfo) || os-admin-actions:inject_network_info||  || ||  ||  ||  ||  ||  
+
| POST  (reboot) || servers:reboot ||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (changePassword) || os-admin-password||  || ||  ||  ||  ||  ||  
+
| rowspan="2" | POST  (createImage) || servers:create_image ||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST (os-getConsoleOutput) || os-console-output||  || ||  ||  || ||  ||  
+
| servers:create_image:allow_volume_backed ||  || o||  ||  || ||  ||  
 
|-
 
|-
| POST  (createBackup) || os-create-backup||  ||  ||  ||  ||  ||  ||  
+
| POST  (os-start) || servers:start ||  ||o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (restore) ||os-deferred-delete:restore ||  ||  ||  ||  ||  ||  ||  
+
| POST  (os-stop) || servers:stop ||  ||o ||  ||  ||  ||  ||
 
|-
 
|-
| POST  (forceDelete) || os-deferred-delete:force||  ||  ||  ||  ||  ||  ||  
+
| POST  (resume) || os-suspend-server:resume||  ||o ||  ||  ||  ||  ||
 
|-
 
|-
| POST  (evacuate) || os-evacuate|| ||  ||  ||  ||  ||  ||  
+
| POST  (suspend) || os-suspend-server:suspend|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (lock) ||os-lock-server:lock||  ||  ||  ||  ||  ||  ||  
+
| POST  (os-resetState) || os-admin-actions:reset_state||  ||  ||o ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | POST  (unlock) || os-lock-server:unlock||  ||  || ||  ||  ||  ||  
+
| POST  (injectNetworkInfo) || os-admin-actions:inject_network_info||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| os-lock-server:unlock:unlock_override||  || ||  ||  ||  ||  ||  
+
| POST  (changePassword) || os-admin-password||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (migrate) || os-migrate-server:migrate||  ||  ||  ||  ||  ||  ||  
+
| POST  (os-getConsoleOutput) || os-console-output||  ||  ||o ||  ||  ||  ||  
 
|-
 
|-
| POST  (os-migrateLive) || os-migrate-server:migrate_live||  || ||  ||  ||  ||  ||  
+
| POST  (createBackup) || os-create-backup||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (addFixedIp) || os-multinic:add||  || ||  ||  ||  ||  ||  
+
| POST  (restore) ||os-deferred-delete:restore ||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (removeFixedIp) || os-multinic:remove||  || ||  ||  ||  ||  ||  
+
| POST  (forceDelete) || os-deferred-delete:force||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (pause) || os-pause-server:pause||  ||  || ||  ||  ||  ||  
+
| POST  (evacuate) || os-evacuate||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| POST  (unpause) || os-pause-server:unpause||  || ||  ||  ||  ||  ||  
+
| POST  (lock) ||os-lock-server:lock||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (os-getRDPConsole) || os-remote-consoles||  || ||  ||  ||  ||  ||  
+
| rowspan="2" | POST  (unlock) || os-lock-server:unlock||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (os-getSerialConsole) || os-remote-consoles||  ||  ||  ||  ||  ||  ||  
+
| os-lock-server:unlock:unlock_override||  ||  ||  ||o ||  ||  ||  
 
|-
 
|-
| POST  (os-getSPICEConsole) || os-remote-consoles||  ||  ||  ||  ||  ||  ||  
+
| POST  (migrate) || os-migrate-server:migrate||  ||  ||o ||  ||  ||  ||  
 
|-
 
|-
| POST  (os-getVNCConsole) || os-remote-consoles||  ||  || ||  ||  ||  ||  
+
| POST  (os-migrateLive) || os-migrate-server:migrate_live||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| POST  (rescue) || os-rescue||  || ||  ||  ||  ||  ||  
+
| POST  (addFixedIp) || os-multinic:add||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (rescue) || os-unrescue||  || ||  ||  ||  ||  ||  
+
| POST  (removeFixedIp) || os-multinic:remove||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (shelve) || os-shelve:shelve||  ||  || ||  ||  ||  ||  
+
| POST  (pause) || os-pause-server:pause||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| POST  (unshelve) || os-shelve:unshelve||  ||  ||  ||  ||  ||  ||  
+
| POST  (unpause) || os-pause-server:unpause||  ||o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (shelveOffload) || os-shelve:shelve_offload||  ||  ||  ||  ||  ||  ||  
+
| POST  (os-getRDPConsole) || os-remote-consoles||  ||o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (addFloatingIp) || os-floating-ips:add||  || ||  ||  ||  ||  ||  
+
| POST  (os-getSerialConsole) || os-remote-consoles||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| POST  (removeFloatingIp) || os-floating-ips:remove||  || ||  ||  ||  ||  ||  
+
| POST  (os-getSPICEConsole) || os-remote-consoles||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| rowspan="3" | /servers/{server_id}/os-interface || rowspan="2" | POST  ||network:attach_external_network ||  || ||  ||  ||  ||  ||  
+
| POST  (os-getVNCConsole) || os-remote-consoles||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
|  os-attach-interfaces:create||  ||  || ||  ||  ||  ||  
+
| POST (rescue) || os-rescue||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| GET || os-attach-interfaces:list ||  ||  || ||  ||  ||  ||
+
| POST  (rescue) || os-unrescue||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | /servers/{server_id}/os-interface/{port_id} || DELETE ||os-attach-interfaces:delete||  || ||  ||  ||  ||  ||  
+
| POST (shelve) || os-shelve:shelve||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| GET || os-attach-interfaces:show ||  || ||  ||  ||  ||  ||  
+
| POST  (unshelve) || os-shelve:unshelve||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
/servers/{server_id}/os-instance-actions ||  GET ||os-instance-actions:list||  ||  || ||  ||  ||  ||  
+
| POST (shelveOffload) || os-shelve:shelve_offload||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| rowspan="3" | /servers/{server_id}/os-instance-actions/{request_id} || rowspan="3" | GET ||os-instance-actions:show||  || ||  ||  ||  ||  ||  
+
| POST (addFloatingIp) || os-floating-ips:add||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
|  os-instance-actions:events||  || ||  ||  ||  ||  ||  
+
| POST (removeFloatingIp) || os-floating-ips:remove||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
|  os-instance-actions:events:details||  || ||  ||  ||  ||  ||  
+
| POST (addSecurityGroup) || os-security-groups::add||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
/servers/{server_id}/ips|| GET ||ips:index||  || ||  ||  ||  ||  ||  
+
| POST (removeSecurityGroup) || os-security-groups::remove||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| /servers/{server_id}/ips/{network_label} ||  GET ||ips:show||  ||  ||  ||  ||  ||  ||  
+
| rowspan="3" | /servers/{server_id}/os-interface || rowspan="2" | POST ||network:attach_external_network ||  ||  ||o ||  ||  ||  ||  
 
|-
 
|-
| /servers/{server_id}/remote-consoles |POST  ||os-remote-consoles ||  || ||  ||  ||  ||  ||  
+
|  os-attach-interfaces:create||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| /servers/{server_id}/diagnostics||  POST  ||os-server-diagnostics|| ||  ||  ||  ||  ||  ||  
+
| GET || os-attach-interfaces:list || o ||  ||  ||  ||  ||  ||
 
|-
 
|-
| rowspan="3" | /servers/{server_id}/metadata|| PUT ||server-metadata:update_all||  || ||  ||  ||  ||  ||
+
| rowspan="2" | /servers/{server_id}/os-interface/{port_id} || DELETE ||os-attach-interfaces:delete||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| GET || server-metadata:index|| ||  ||  ||  ||  ||  ||  
+
| GET || os-attach-interfaces:show || o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| POST || server-metadata:create||  ||  ||  ||  ||  ||  ||  
+
| /servers/{server_id}/os-instance-actions || GET ||os-instance-actions:list|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| rowspan="3" | /servers/{server_id}/metadata/{key} ||  PUT ||server-metadata:update||  ||  ||  ||  ||  ||  ||  
+
| rowspan="3" | /servers/{server_id}/os-instance-actions/{request_id} ||  rowspan="3" | GET ||os-instance-actions:show|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
DELETE || server-metadata:delete||  ||  ||  ||  ||  ||  ||  
+
os-instance-actions:events||  o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| GET || server-metadata:show|| ||  ||  ||  ||  ||  ||  
+
| os-instance-actions:events:details||||  ||  ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | /servers/{server_id}/os-server-password ||  GET ||os-server-password:show||  ||  ||  ||  ||  ||  ||
+
| /servers/{server_id}/ips||  GET ||ips:index|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
DELETE || os-server-password:clear|| ||  ||  ||  ||  ||  ||  
+
/servers/{server_id}/ips/{network_label} || GET ||ips:show||||  ||  ||  ||  ||  ||  
 
|-
 
|-
| rowspan="3" | /servers/{server_id}/tags|| PUT ||os-server-tags:update_all||  ||  ||  ||  ||  ||  ||  
+
| /servers/{server_id}/remote-consoles || POST  ||os-remote-consoles ||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
|  GET || os-server-tags:index||  ||  ||  ||  ||  ||  ||  
+
| /servers/{server_id}/diagnostics||  GET ||os-server-diagnostics||  ||  ||  o ||  ||  ||  ||  
 
|-
 
|-
| DELETE|| os-server-tags:delete_all||  ||  ||  ||  ||  ||  ||
+
| rowspan="3" | /servers/{server_id}/metadata|| PUT ||server-metadata:update_all||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| rowspan="3" | /servers/{server_id}/tags/{tag} |PUT ||os-server-tags:update|| ||  ||  ||  ||  ||  ||
+
GET || server-metadata:index||||  ||  ||  ||  ||  ||  
 
|-
 
|-
| DELETE || os-server-tags:delete||  || ||  ||  ||  ||  ||  
+
| POST || server-metadata:create||  ||||  ||  ||  ||  ||  
 
|-
 
|-
| GET || os-server-tags:show||  ||  ||  ||  ||  ||  ||  
+
| rowspan="3" | /servers/{server_id}/metadata/{key} ||  PUT ||server-metadata:update||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | /servers/{server_id}/topology |rowspan="2" | GET ||server:topology:index||  ||  ||  ||  ||  ||  ||  
+
DELETE || server-metadata:delete||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| server:topology:host:index||  ||  ||  ||  ||  ||  ||  
+
| GET || server-metadata:show|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| /servers/{server_id}/migrations||  GET ||servers:migrations:index||  ||  ||  ||  ||  ||  ||  
+
| rowspan="2" | /servers/{server_id}/os-server-password ||  GET ||os-server-password:show|| o ||  ||  ||  ||  ||  ||
 
|-
 
|-
/servers/{server_id}/migrations/{migration_id}/action (force_complete)|| POST ||servers:migrations:force_complete||  ||  ||  ||  ||  ||  ||  
+
DELETE || os-server-password:clear||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | /servers/{server_id}/migrations/{migration_id}|| GET || servers:migrations:show||  ||  ||  ||  ||  ||  ||  
+
| rowspan="3" | /servers/{server_id}/tags|| PUT ||os-server-tags:update_all||  || o ||  ||  ||  ||  ||  
 
|-
 
|-
| DELETE|| servers:migrations:delete||  ||  ||  ||  ||  ||  ||
+
| GET || os-server-tags:index|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| /os-assisted-volume-snapshots ||  POST ||os-assisted-volume-snapshots:create||  ||  ||  ||  ||  ||  ||  
+
| DELETE|| os-server-tags:delete_all||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| /os-assisted-volume-snapshots/{snapshot_id} ||  DELETE ||os-assisted-volume-snapshots:delete||  ||  ||  ||  ||  ||  ||  
+
| rowspan="3" | /servers/{server_id}/tags/{tag} ||  PUT ||os-server-tags:update||  || o ||  ||  ||  ||  ||
 
|-
 
|-
/os-baremetal-nodes ||  GET ||os-baremetal-nodes:list||  || ||  ||  ||  ||  ||  
+
DELETE || os-server-tags:delete||  ||||  ||  ||  ||  ||  
 
|-
 
|-
| /os-baremetal-nodes/{node_id}  ||  GET ||os-baremetal-nodes:show||  ||  ||  ||  ||  ||  ||  
+
| GET || os-server-tags:show|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| /os-console-auth-tokens/{console_token} ||  GET ||os-console-auth-tokens||  ||  ||  ||  ||  ||  ||  
+
| rowspan="2" | /servers/{server_id}/topology ||  rowspan="2" | GET ||server:topology:index|| o ||  ||  || o ||  ||  ||  
 
|-
 
|-
| /extensions ||  GET ||extensions||  ||  ||  ||  ||  ||  ||  
+
server:topology:host:index||  ||  ||  || o ||  ||  ||  
 
|-
 
|-
| /extensions/{alias} ||  GET ||extensions||  ||  ||  ||  ||  ||  ||  
+
| /servers/{server_id}/migrations||  GET ||servers:migrations:index|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| /os-floating-ip-pools  ||  GET ||os-floating-ip-pools||  ||  ||  ||  ||  ||  ||  
+
| /servers/{server_id}/migrations/{migration_id}/action (force_complete)||  POST ||servers:migrations:force_complete||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | /os-floating-ips|| GET || os-floating-ips:list||  ||  ||  ||  ||  ||  ||  
+
| rowspan="2" | /servers/{server_id}/migrations/{migration_id}|| GET || servers:migrations:show|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| POST || os-floating-ips:create ||  ||  ||  ||  ||  ||  ||
+
| DELETE|| servers:migrations:delete||  ||  || o ||  ||  ||  ||
 
|-
 
|-
| rowspan="2" | /os-floating-ips/{floating_ip_id}|| GET || os-floating-ips:show||  ||  ||  ||  ||  ||  ||  
+
| rowspan="2" | /servers/{server_id}/os-volume_attachments || GET || os-volumes-attachments:index||  ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| DELETE|| os-floating-ips:delete||  ||  ||  ||  ||  ||  ||
+
| POST|| os-volumes-attachments:create||  ||  ||  ||  ||  ||  ||
 
|-
 
|-
| /os-instance_usage_audit_log  || GET ||os-instance-usage-audit-log:list||  ||  ||  ||  ||  ||  ||  
+
| rowspan="4" | /servers/{server_id}/os-volume_attachments/{volume_id} || GET || os-volumes-attachments:show|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
| /os-instance_usage_audit_log/{before_timestamp}  ||  GET ||os-instance-usage-audit-log:show||  ||  ||  ||  ||  ||  ||  
+
| DELETE|| os-volumes-attachments:delete||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| rowspan="2" | /os-keypairs|| GET || os-keypairs:list||  ||  ||  ||  ||  ||  ||  
+
| rowspan="2" |PUT || os-volumes-attachments:update||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| POST || os-keypairs:create ||  ||  ||  ||  ||  ||  ||
+
| os-volumes-attachments:swap||  || o ||  ||  ||  ||  ||
 
|-
 
|-
| rowspan="2" | /os-keypairs/{keypair_name}|| GET || os-keypairs:show||  ||  || ||  ||  ||  ||  
+
| /os-assisted-volume-snapshots || POST ||os-assisted-volume-snapshots:create||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| DELETE|| os-keypairs:delete||  ||  || ||  ||  ||  ||
+
| /os-assisted-volume-snapshots/{snapshot_id} ||  DELETE ||os-assisted-volume-snapshots:delete||  ||  || o ||  ||  ||  ||  
 
|-
 
|-
| rowspan="2" | /limits|| GET || limits||  ||  ||  || ||  ||  ||  
+
| /os-baremetal-nodes || GET ||os-baremetal-nodes:list||  ||  ||  || o ||  ||  ||  
 
|-
 
|-
| GET|| limits:other_project||  ||  ||  || ||  ||  ||
+
| /os-baremetal-nodes/{node_id}  ||  GET ||os-baremetal-nodes:show||  ||  ||  || o ||  ||  ||  
 
|-
 
|-
| /os-migrations  ||  GET ||os-migrations:index||  ||  ||  ||  ||  ||  ||  
+
| /os-console-auth-tokens/{console_token}  ||  GET ||os-console-auth-tokens|| o ? ||  ||  ||  ||  ||  || or system-reader?
 +
|-
 +
| /extensions  ||  GET ||extensions||  ||  ||  ||  ||  ||  || Everyone
 +
|-
 +
| /extensions/{alias}  ||  GET ||extensions||  ||  ||  ||  ||  ||  || Everyone
 +
|-
 +
| /os-floating-ip-pools  ||  GET ||os-floating-ip-pools||  ||  ||  ||  ||  ||  || Everyone
 +
|-
 +
| rowspan="2" | /os-floating-ips|| GET || os-floating-ips:list||  ||  ||  || o ||  ||  ||
 +
|-
 +
| POST || os-floating-ips:create ||  ||  ||  ||  ||  || o ||
 +
|-
 +
| rowspan="2" | /os-floating-ips/{floating_ip_id}|| GET || os-floating-ips:show||  ||  ||  || o ||  ||  ||
 +
|-
 +
| DELETE|| os-floating-ips:delete||  ||  ||  ||  ||  || o ||
 +
|-
 +
| /os-instance_usage_audit_log  ||  GET ||os-instance-usage-audit-log:list|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-instance_usage_audit_log/{before_timestamp}  ||  GET ||os-instance-usage-audit-log:show||  o||  ||  ||  ||  ||  ||
 +
|-
 +
| rowspan="2" | /os-keypairs|| GET || os-keypairs:list||  ||  ||  || o ||  ||  ||
 +
|-
 +
| POST || os-keypairs:create ||  ||  ||  ||  ||  || o ||
 +
|-
 +
| rowspan="2" | /os-keypairs/{keypair_name}|| GET || os-keypairs:show||  ||  ||  || o ||  ||  ||
 +
|-
 +
| DELETE|| os-keypairs:delete||  ||  ||  ||  ||  || o ||
 +
|-
 +
| rowspan="2" | /limits|| GET || limits||  ||  ||  ||  ||  ||  || Everyone
 +
|-
 +
| GET|| limits:other_project||  ||  ||  || o ||  ||  ||
 +
|-
 +
| /os-migrations  ||  GET ||os-migrations:index||  ||  ||  || o ||  ||  ||
 +
|-
 +
| /os-networks||  GET ||os-networks:list||  ||  ||  || o ||  ||  ||
 +
|-
 +
| /os-networks/{network_id}  ||  GET ||os-networks:show||  ||  ||  || o ||  ||  ||
 +
|-
 +
| rowspan="2" | /os-quota-class-sets/{quota_class}|| GET || os-quota-class-sets:show||  ||  ||  ||o  ||  ||  ||
 +
|-
 +
| PUT || os-quota-class-sets:update||  ||  ||  ||  ||  || o ||
 +
|-
 +
| rowspan="3" | /os-quota-sets/{tenant_id} || DELETE|| os-quota-sets:delete||  ||  ||  ||  ||  || o ||
 +
|-
 +
| PUT || os-quota-sets:update||  ||  ||  ||  ||  || o ||
 +
|-
 +
|  GET ||os-quota-sets:show|| o  ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-quota-sets/{tenant_id}/detail||  GET ||os-quota-sets:detail|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-quota-sets/{tenant_id}/defaults ||  GET ||os-quota-sets:defaults||  ||  ||  ||  ||  ||  || Everyone
 +
|-
 +
| rowspan="2" | /os-security-groups|| GET || os-security-groups:get|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| POST || os-security-groups:create||  ||  ||  ||  ||  || o ||
 +
|-
 +
| rowspan="3" | /os-security-groups/{security_group_id} || DELETE|| os-security-groups:delete||  ||  ||  ||  ||  || o ||
 +
|-
 +
| PUT || os-security-groups:update||  ||  ||  ||  ||  || o ||
 +
|-
 +
|  GET ||os-security-groups:show|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-security-group-rules ||  POST||os-security-groups:rule:create||  ||  ||  ||  ||  || o ||
 +
|-
 +
| /os-security-group-rules/{security_group_id} ||  DELETE ||os-security-groups:rule:delete||  ||  ||  ||  ||  || o ||
 +
|-
 +
| /servers/{server_id}/os-security-groups ||  GET ||os-security-groups:list|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-server-external-events ||  POST ||os-server-external-events:create||  ||  ||  ||  ||  ||  o ?||
 +
|-
 +
| rowspan="3" | /os-server-groups || POST || os-server-groups:create||  ||o  ||  ||  ||  ||  ||
 +
|-
 +
| GET || os-server-groups:index|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
|  GET ||os-server-groups:index:all_projects||  ||  ||  ||  ||  ||  || Domain admin
 +
|-
 +
| rowspan="2" | /os-server-groups/{server_group_id} || GET || os-server-groups:show|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| DELETE || os-server-groups:delete||  || o ||  ||  ||  ||  ||
 +
|-
 +
| /os-simple-tenant-usage/{tenant_id} ||  GET ||os-simple-tenant-usage:show|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-simple-tenant-usage ||  GET ||os-simple-tenant-usage:list||  ||  ||  ||  ||  ||  || Domain admin
 +
|-
 +
| /os-tenant-networks/{network_id} ||  GET ||os-tenant-networks:show|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| /os-tenant-networks ||  GET ||os-tenant-networks:list|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| rowspan="2" | /os-volumes || GET || os-volumes:list|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| POST || os-volumes:create||  || o ||  ||  ||  ||  ||
 +
|-
 +
| rowspan="2" | /os-volumes/{volume_id} || GET || os-volumes:show||o  ||  ||  ||  ||  ||  ||
 +
|-
 +
| DELETE || os-volumes:delete||  || o ||  ||  ||  ||  ||
 +
|-
 +
| /os-volumes/detail ||  GET ||os-volumes:detail|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| rowspan="2" | /os-snapshots|| GET || os-volumes:snapshots:list|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| POST || os-volumes:snapshots:create||  || o ||  ||  ||  ||  ||
 +
|-
 +
| rowspan="2" | /os-snapshots/{snapshot_id} || GET || os-volumes:snapshots:show|| o ||  ||  ||  ||  ||  ||
 +
|-
 +
| DELETE || os-volumes:snapshots:delete||  ||o  ||  ||  ||  ||  ||
 +
|-
 +
| /os-snapshots/detail ||  GET ||os-volumes:snapshots:detail|| o ||  ||  ||  ||  ||  ||  
 
|-
 
|-
 
|}
 
|}
  
 
Questions:
 
Questions:

Revision as of 21:30, 9 November 2021

API Project-scope System-scope
Route Method RBAC Name reader member admin reader member admin Notes
/ GET no-auth
/v2, v2.1 GET no-auth
/os-aggregates GET os-aggregates:index o
POST os-aggregates:create o
/os-aggregates/{aggregate_id} GET os-aggregates:show o
PUT os-aggregates:update o
DELETE os-aggregates:delete o
/os-aggregates/{aggregate_id}/action POST (add_host) os-aggregates:add_host o
POST (remove_host) os-aggregates:remove_host o
POST (set_metadata) os-aggregates:set_metadata o
/os-aggregates/{aggregate_id}/images POST os-aggregates:images o
/os-hosts GET os-hosts:list o
/os-hosts/{host_name}/ GET os-hosts:show o
PUT os-hosts:update o
/os-hosts{host_name}/reboot GET (but this is write operation) os-hosts:reboot o
/os-hosts{host_name}/shutdown GET (but this is write operation) os-hosts:shutdown o
/os-hosts{host_name}/startup GET (but this is write operation) os-hosts:start o
/os-hypervisors GET os-hypervisors:list o o
/os-hypervisors/details GET os-hypervisors:list-detail o
/os-hypervisors/statistics GET os-hypervisors:statistics o
/os-hypervisors/{hypervisor_id} GET os-hypervisors:show o
/os-hypervisors/{hypervisor_id}/uptime GET os-hypervisors:uptime o
/os-hypervisors/{hypervisor_hostname_pattern}/search GET os-hypervisors:search o
/os-hypervisors/{hypervisor_hostname_pattern}/servers GET os-hypervisors:servers o
/os-services GET os-services:list o
/os-services/{service_id} PUT os-services:update o
DELETE os-services:delete o
/os-availability-zone GET os-availability-zone:list RULE_ANY
/os-availability-zone/detail GET os-availability-zone:detail o
/flavors POST os-flavor-manage:create o
os-flavor-extra-specs:index -> (to show flavor extraspecs) o o
/flavors/detail GET os-flavor-extra-specs:index -> (to show flavor extraspecs) o o
/flavors/{flavor_id} PUT os-flavor-manage:update o
os-flavor-extra-specs:index -> (to show flavor extraspecs) o o
DELETE os-flavor-manage:delete o
GET os-flavor-extra-specs:index -> (to show flavor extraspecs) o o
/flavors/{flavor_id}/os-flavor-access GET os-flavor-access o
/flavors/{flavor_id}/action POST (addTenantAccess) os-flavor-access:add_tenant_access o
POST (removeTenantAccess) os-flavor-access:remove_tenant_access o
/flavors/{flavor_id}/os-extra_specs/ POST os-flavor-extra-specs:create o
GET os-flavor-extra-specs:index o o
/flavors/{flavor_id}/os-extra_specs/{flavor_extra_spec_key} GET os-flavor-extra-specs:show o o
PUT os-flavor-extra-specs:update o
DELETE os-flavor-extra-specs:delete o
/servers POST servers:create o
servers:create:forced_host o
servers:create:requested_destination o
servers:create:attach_volume o
servers:create:attach_network o
servers:create:trusted_certs o
servers:create:zero_disk_flavor o
network:attach_external_network o
GET servers:index o
servers:index:get_all_tenants Domain admin
servers:allow_all_filters o
/servers/detail GET servers:detail o
servers:detail:get_all_tenants Domain admin
servers:allow_all_filters o
servers:show:host_status  ? GET /servers is project scoped only but host status is system level info
servers:show:host_status:unknown-only  ? ditto ^^
os-extended-server-attributes  ? ditto ^^
os-flavor-extra-specs:index -> (to show flavor extraspecs) o GET /servers is project scoped only, in that case we have to we keep this also project scoped?
/servers/{server_id} GET servers:show o
servers:show:host_status  ? GET /servers/server-id is project scoped only but host status is system level info
servers:show:host_status:unknown-only  ? ditto ^^
os-extended-server-attributes  ? ditto ^^
os-flavor-extra-specs:index -> (to show flavor extraspecs) o GET /servers is project scoped only, in that case we have to we keep this also project scoped?
PUT servers:update o
servers:show:host_status  ? ditto
servers:show:host_status:unknown-only  ? ditto
os-extended-server-attributes  ? ditto
os-flavor-extra-specs:index -> (to show flavor extraspecs) o ditto
DELETE servers:delete o
/servers/{server_id}/action POST (rebuild) servers:rebuild o
servers:show:host_status  ? ditto
servers:show:host_status:unknown-only  ? ditto
servers:rebuild:trusted_certs o
os-extended-server-attributes  ? ditto
os-flavor-extra-specs:index -> (to show flavor extraspecs) o
POST (confirmResize) servers:confirm_resize o
POST (revertResize) servers:revert_resize o
POST (resize) servers:resize o
servers:resize:cross_cell no-one by default (as per current default)
POST (reboot) servers:reboot o
POST (createImage) servers:create_image o
servers:create_image:allow_volume_backed o
POST (os-start) servers:start o
POST (os-stop) servers:stop o
POST (resume) os-suspend-server:resume o
POST (suspend) os-suspend-server:suspend o
POST (os-resetState) os-admin-actions:reset_state o
POST (injectNetworkInfo) os-admin-actions:inject_network_info o
POST (changePassword) os-admin-password o
POST (os-getConsoleOutput) os-console-output o
POST (createBackup) os-create-backup o
POST (restore) os-deferred-delete:restore o
POST (forceDelete) os-deferred-delete:force o
POST (evacuate) os-evacuate o
POST (lock) os-lock-server:lock o
POST (unlock) os-lock-server:unlock o
os-lock-server:unlock:unlock_override o
POST (migrate) os-migrate-server:migrate o
POST (os-migrateLive) os-migrate-server:migrate_live o
POST (addFixedIp) os-multinic:add o
POST (removeFixedIp) os-multinic:remove o
POST (pause) os-pause-server:pause o
POST (unpause) os-pause-server:unpause o
POST (os-getRDPConsole) os-remote-consoles o
POST (os-getSerialConsole) os-remote-consoles o
POST (os-getSPICEConsole) os-remote-consoles o
POST (os-getVNCConsole) os-remote-consoles o
POST (rescue) os-rescue o
POST (rescue) os-unrescue o
POST (shelve) os-shelve:shelve o
POST (unshelve) os-shelve:unshelve o
POST (shelveOffload) os-shelve:shelve_offload o
POST (addFloatingIp) os-floating-ips:add o
POST (removeFloatingIp) os-floating-ips:remove o
POST (addSecurityGroup) os-security-groups::add o
POST (removeSecurityGroup) os-security-groups::remove o
/servers/{server_id}/os-interface POST network:attach_external_network o
os-attach-interfaces:create o
GET os-attach-interfaces:list o
/servers/{server_id}/os-interface/{port_id} DELETE os-attach-interfaces:delete o
GET os-attach-interfaces:show o
/servers/{server_id}/os-instance-actions GET os-instance-actions:list o
/servers/{server_id}/os-instance-actions/{request_id} GET os-instance-actions:show o
os-instance-actions:events o
os-instance-actions:events:details o
/servers/{server_id}/ips GET ips:index o
/servers/{server_id}/ips/{network_label} GET ips:show o
/servers/{server_id}/remote-consoles POST os-remote-consoles o
/servers/{server_id}/diagnostics GET os-server-diagnostics o
/servers/{server_id}/metadata PUT server-metadata:update_all o
GET server-metadata:index o
POST server-metadata:create o
/servers/{server_id}/metadata/{key} PUT server-metadata:update o
DELETE server-metadata:delete o
GET server-metadata:show o
/servers/{server_id}/os-server-password GET os-server-password:show o
DELETE os-server-password:clear o
/servers/{server_id}/tags PUT os-server-tags:update_all o
GET os-server-tags:index o
DELETE os-server-tags:delete_all o
/servers/{server_id}/tags/{tag} PUT os-server-tags:update o
DELETE os-server-tags:delete o
GET os-server-tags:show o
/servers/{server_id}/topology GET server:topology:index o o
server:topology:host:index o
/servers/{server_id}/migrations GET servers:migrations:index o
/servers/{server_id}/migrations/{migration_id}/action (force_complete) POST servers:migrations:force_complete o
/servers/{server_id}/migrations/{migration_id} GET servers:migrations:show o
DELETE servers:migrations:delete o
/servers/{server_id}/os-volume_attachments GET os-volumes-attachments:index
POST os-volumes-attachments:create
/servers/{server_id}/os-volume_attachments/{volume_id} GET os-volumes-attachments:show o
DELETE os-volumes-attachments:delete o
PUT os-volumes-attachments:update o
os-volumes-attachments:swap o
/os-assisted-volume-snapshots POST os-assisted-volume-snapshots:create o
/os-assisted-volume-snapshots/{snapshot_id} DELETE os-assisted-volume-snapshots:delete o
/os-baremetal-nodes GET os-baremetal-nodes:list o
/os-baremetal-nodes/{node_id} GET os-baremetal-nodes:show o
/os-console-auth-tokens/{console_token} GET os-console-auth-tokens o ? or system-reader?
/extensions GET extensions Everyone
/extensions/{alias} GET extensions Everyone
/os-floating-ip-pools GET os-floating-ip-pools Everyone
/os-floating-ips GET os-floating-ips:list o
POST os-floating-ips:create o
/os-floating-ips/{floating_ip_id} GET os-floating-ips:show o
DELETE os-floating-ips:delete o
/os-instance_usage_audit_log GET os-instance-usage-audit-log:list o
/os-instance_usage_audit_log/{before_timestamp} GET os-instance-usage-audit-log:show o
/os-keypairs GET os-keypairs:list o
POST os-keypairs:create o
/os-keypairs/{keypair_name} GET os-keypairs:show o
DELETE os-keypairs:delete o
/limits GET limits Everyone
GET limits:other_project o
/os-migrations GET os-migrations:index o
/os-networks GET os-networks:list o
/os-networks/{network_id} GET os-networks:show o
/os-quota-class-sets/{quota_class} GET os-quota-class-sets:show o
PUT os-quota-class-sets:update o
/os-quota-sets/{tenant_id} DELETE os-quota-sets:delete o
PUT os-quota-sets:update o
GET os-quota-sets:show o
/os-quota-sets/{tenant_id}/detail GET os-quota-sets:detail o
/os-quota-sets/{tenant_id}/defaults GET os-quota-sets:defaults Everyone
/os-security-groups GET os-security-groups:get o
POST os-security-groups:create o
/os-security-groups/{security_group_id} DELETE os-security-groups:delete o
PUT os-security-groups:update o
GET os-security-groups:show o
/os-security-group-rules POST os-security-groups:rule:create o
/os-security-group-rules/{security_group_id} DELETE os-security-groups:rule:delete o
/servers/{server_id}/os-security-groups GET os-security-groups:list o
/os-server-external-events POST os-server-external-events:create o ?
/os-server-groups POST os-server-groups:create o
GET os-server-groups:index o
GET os-server-groups:index:all_projects Domain admin
/os-server-groups/{server_group_id} GET os-server-groups:show o
DELETE os-server-groups:delete o
/os-simple-tenant-usage/{tenant_id} GET os-simple-tenant-usage:show o
/os-simple-tenant-usage GET os-simple-tenant-usage:list Domain admin
/os-tenant-networks/{network_id} GET os-tenant-networks:show o
/os-tenant-networks GET os-tenant-networks:list o
/os-volumes GET os-volumes:list o
POST os-volumes:create o
/os-volumes/{volume_id} GET os-volumes:show o
DELETE os-volumes:delete o
/os-volumes/detail GET os-volumes:detail o
/os-snapshots GET os-volumes:snapshots:list o
POST os-volumes:snapshots:create o
/os-snapshots/{snapshot_id} GET os-volumes:snapshots:show o
DELETE os-volumes:snapshots:delete o
/os-snapshots/detail GET os-volumes:snapshots:detail o

Questions: