diff --git a/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sBaseBlock.php b/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sBaseBlock.php index c499535..5abd7f9 100644 --- a/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sBaseBlock.php +++ b/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sBaseBlock.php @@ -359,4 +359,29 @@ abstract class K8sBaseBlock extends BlockBase implements ContainerFactoryPluginI return empty($entities) ? TRUE : FALSE; } + /** + * Check if the cloud context is valid. + * + * @return bool + * True|False if the cloud is valid. + */ + protected function isValidCloudContext($cloud_context) { + if (empty($cloud_context)) { + return FALSE; + } + + $result = FALSE; + + // The cloud provider should be k8s. + try { + $this->cloudConfigPluginManager->setCloudContext($cloud_context); + $cloud_config = $this->cloudConfigPluginManager->loadConfigEntity(); + $result = $cloud_config->bundle() === 'k8s'; + } + catch (CloudConfigPluginException $e) { + } + + return $result; + } + } diff --git a/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sNodeAllocatedResourcesBlock.php b/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sNodeAllocatedResourcesBlock.php index 9078e7e..fd76bd8 100644 --- a/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sNodeAllocatedResourcesBlock.php +++ b/modules/cloud_service_providers/k8s/src/Plugin/Block/K8sNodeAllocatedResourcesBlock.php @@ -53,8 +53,10 @@ class K8sNodeAllocatedResourcesBlock extends K8sBaseBlock { return []; } - // If $cloud_context is empty, do nothing. $cloud_context = $this->routeMatch->getParameter('cloud_context'); + if (!$this->isValidCloudContext($cloud_context)) { + return []; + } // If display_view_k8s_node_list_only is checked, do nothing. $route_name = $this->routeMatch->getRouteName();