Loading modules/cloud_service_providers/openstack/openstack.install +7 −0 Original line number Diff line number Diff line Loading @@ -1576,3 +1576,10 @@ function openstack_update_8269() { drupal_flush_all_caches(); } /** * Add entity type openstack_router. */ function openstack_update_8270() { openstack_add_entity_type('openstack_router'); } modules/cloud_service_providers/openstack/openstack.permissions.yml +28 −0 Original line number Diff line number Diff line Loading @@ -349,3 +349,31 @@ edit own openstack port: delete own openstack port: title: 'Delete own OpenStack port' description: 'Allow users to delete own port.' #################### # Routers #################### add openstack router: title: 'Add OpenStack router' description: 'Allow users to add router.' list openstack router: title: 'List OpenStack router' description: 'Allow users to list router.' view any openstack router: title: 'View any OpenStack router' description: 'Allow users to view any router.' edit any openstack router: title: 'Edit any OpenStack router' description: 'Allow users to edit any router.' delete any openstack router: title: 'Delete any OpenStack router' description: 'Allow users to delete any router.' view own openstack router: title: 'View own OpenStack router' description: 'Allow users to view own router.' edit own openstack router: title: 'Edit own OpenStack router' description: 'Allow users to edit own router.' delete own openstack router: title: 'Delete own OpenStack router' description: 'Allow users to delete own router.' modules/cloud_service_providers/openstack/openstack.routing.yml +33 −0 Original line number Diff line number Diff line Loading @@ -1132,3 +1132,36 @@ entity.openstack_port.list_update.all: _custom_access: '\Drupal\cloud\Controller\CloudConfigController::checkAccessForUpdateAll' options: entity_type: 'openstack_port' # OpenStack routers routes. entity.openstack_router.add_form: path: '/clouds/openstack/{cloud_context}/router/add' defaults: _entity_form: 'openstack_router.add' _title: 'Add OpenStack router' requirements: # Use custom access that will check for cloud_context and the desired permission. # Desired permission is passed as an option in the "perm" variable _custom_access: '\Drupal\cloud\Controller\CloudConfigController::access' options: perm: 'add openstack router' entity.openstack_router.list_update: path: '/clouds/openstack/{cloud_context}/router/update' defaults: _controller: '\Drupal\openstack\Controller\ApiController::updateRouterList' requirements: # Use custom access that will check for cloud_context and the desired permission. # Desired permission is passed as an option in the "perm" variable _custom_access: '\Drupal\cloud\Controller\CloudConfigController::access' options: perm: 'edit any openstack router+edit own openstack router' entity.openstack_router.list_update.all: path: '/clouds/openstack/router/update' defaults: _controller: '\Drupal\openstack\Controller\ApiController::updateRouterList' requirements: _custom_access: '\Drupal\cloud\Controller\CloudConfigController::checkAccessForUpdateAll' options: entity_type: 'openstack_router' modules/cloud_service_providers/openstack/src/Controller/ApiController.php +7 −0 Original line number Diff line number Diff line Loading @@ -282,6 +282,13 @@ class ApiController extends ControllerBase implements ApiControllerInterface { return $this->updateResourceList('openstack_port', $cloud_context); } /** * {@inheritdoc} */ public function updateRouterList($cloud_context = ''): RedirectResponse { return $this->updateResourceList('openstack_router', $cloud_context); } /** * {@inheritdoc} */ Loading modules/cloud_service_providers/openstack/src/Controller/ApiControllerInterface.php +11 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,17 @@ interface ApiControllerInterface { */ public function updatePortList($cloud_context): RedirectResponse; /** * Update all routers in particular cloud region. * * @param string $cloud_context * Cloud context string. * * @return \Symfony\Component\HttpFoundation\RedirectResponse * A redirect response object that may be returned by the controller. */ public function updateRouterList($cloud_context): RedirectResponse; /** * Update all Floating IPs in particular cloud region. * Loading Loading
modules/cloud_service_providers/openstack/openstack.install +7 −0 Original line number Diff line number Diff line Loading @@ -1576,3 +1576,10 @@ function openstack_update_8269() { drupal_flush_all_caches(); } /** * Add entity type openstack_router. */ function openstack_update_8270() { openstack_add_entity_type('openstack_router'); }
modules/cloud_service_providers/openstack/openstack.permissions.yml +28 −0 Original line number Diff line number Diff line Loading @@ -349,3 +349,31 @@ edit own openstack port: delete own openstack port: title: 'Delete own OpenStack port' description: 'Allow users to delete own port.' #################### # Routers #################### add openstack router: title: 'Add OpenStack router' description: 'Allow users to add router.' list openstack router: title: 'List OpenStack router' description: 'Allow users to list router.' view any openstack router: title: 'View any OpenStack router' description: 'Allow users to view any router.' edit any openstack router: title: 'Edit any OpenStack router' description: 'Allow users to edit any router.' delete any openstack router: title: 'Delete any OpenStack router' description: 'Allow users to delete any router.' view own openstack router: title: 'View own OpenStack router' description: 'Allow users to view own router.' edit own openstack router: title: 'Edit own OpenStack router' description: 'Allow users to edit own router.' delete own openstack router: title: 'Delete own OpenStack router' description: 'Allow users to delete own router.'
modules/cloud_service_providers/openstack/openstack.routing.yml +33 −0 Original line number Diff line number Diff line Loading @@ -1132,3 +1132,36 @@ entity.openstack_port.list_update.all: _custom_access: '\Drupal\cloud\Controller\CloudConfigController::checkAccessForUpdateAll' options: entity_type: 'openstack_port' # OpenStack routers routes. entity.openstack_router.add_form: path: '/clouds/openstack/{cloud_context}/router/add' defaults: _entity_form: 'openstack_router.add' _title: 'Add OpenStack router' requirements: # Use custom access that will check for cloud_context and the desired permission. # Desired permission is passed as an option in the "perm" variable _custom_access: '\Drupal\cloud\Controller\CloudConfigController::access' options: perm: 'add openstack router' entity.openstack_router.list_update: path: '/clouds/openstack/{cloud_context}/router/update' defaults: _controller: '\Drupal\openstack\Controller\ApiController::updateRouterList' requirements: # Use custom access that will check for cloud_context and the desired permission. # Desired permission is passed as an option in the "perm" variable _custom_access: '\Drupal\cloud\Controller\CloudConfigController::access' options: perm: 'edit any openstack router+edit own openstack router' entity.openstack_router.list_update.all: path: '/clouds/openstack/router/update' defaults: _controller: '\Drupal\openstack\Controller\ApiController::updateRouterList' requirements: _custom_access: '\Drupal\cloud\Controller\CloudConfigController::checkAccessForUpdateAll' options: entity_type: 'openstack_router'
modules/cloud_service_providers/openstack/src/Controller/ApiController.php +7 −0 Original line number Diff line number Diff line Loading @@ -282,6 +282,13 @@ class ApiController extends ControllerBase implements ApiControllerInterface { return $this->updateResourceList('openstack_port', $cloud_context); } /** * {@inheritdoc} */ public function updateRouterList($cloud_context = ''): RedirectResponse { return $this->updateResourceList('openstack_router', $cloud_context); } /** * {@inheritdoc} */ Loading
modules/cloud_service_providers/openstack/src/Controller/ApiControllerInterface.php +11 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,17 @@ interface ApiControllerInterface { */ public function updatePortList($cloud_context): RedirectResponse; /** * Update all routers in particular cloud region. * * @param string $cloud_context * Cloud context string. * * @return \Symfony\Component\HttpFoundation\RedirectResponse * A redirect response object that may be returned by the controller. */ public function updateRouterList($cloud_context): RedirectResponse; /** * Update all Floating IPs in particular cloud region. * Loading