daemon/gui/grpc: added support to retrieve rendered config service files, added support for grpc to access this, and update gui to leverage this call to provide a rendered view of files based on the current scenario, also allows editing the rendered output to use as the input when running the scenario
This commit is contained in:
parent
443c0e708f
commit
bd6f789cef
8 changed files with 171 additions and 46 deletions
|
@ -23,6 +23,8 @@ from core.api.grpc.configservices_pb2 import (
|
|||
ConfigService,
|
||||
GetConfigServiceDefaultsRequest,
|
||||
GetConfigServiceDefaultsResponse,
|
||||
GetConfigServiceRenderedRequest,
|
||||
GetConfigServiceRenderedResponse,
|
||||
GetNodeConfigServiceRequest,
|
||||
GetNodeConfigServiceResponse,
|
||||
)
|
||||
|
@ -1226,6 +1228,27 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
config = {x.id: x.default for x in service.default_configs}
|
||||
return GetNodeConfigServiceResponse(config=config)
|
||||
|
||||
def GetConfigServiceRendered(
|
||||
self, request: GetConfigServiceRenderedRequest, context: ServicerContext
|
||||
) -> GetConfigServiceRenderedResponse:
|
||||
"""
|
||||
Retrieves the rendered file data for a given config service on a node.
|
||||
|
||||
:param request: config service render request
|
||||
:param context: grpc context
|
||||
:return: rendered config service files
|
||||
"""
|
||||
session = self.get_session(request.session_id, context)
|
||||
node = self.get_node(session, request.node_id, context, CoreNode)
|
||||
self.validate_service(request.name, context)
|
||||
service = node.config_services.get(request.name)
|
||||
if not service:
|
||||
context.abort(
|
||||
grpc.StatusCode.NOT_FOUND, f"unknown node service {request.name}"
|
||||
)
|
||||
rendered = service.get_rendered_templates()
|
||||
return GetConfigServiceRenderedResponse(rendered=rendered)
|
||||
|
||||
def GetConfigServiceDefaults(
|
||||
self, request: GetConfigServiceDefaultsRequest, context: ServicerContext
|
||||
) -> GetConfigServiceDefaultsResponse:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue