Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,8 @@
# DashboardInstancePortalsConsumerAccessGetOutput
# DashboardInstancePortalsConsumerAccessListOutput
# DashboardInstancePortalsConsumerAccessListQuery
# DashboardInstancePortalsConsumerAccessUpdateBody
# DashboardInstancePortalsConsumerAccessUpdateOutput
# DashboardInstancePortalsConsumerGroupsCreateBody
# DashboardInstancePortalsConsumerGroupsCreateOutput
# DashboardInstancePortalsConsumerGroupsDeleteOutput
Expand Down Expand Up @@ -381,6 +383,7 @@
# DashboardInstanceSessionTemplatesGetOutput
# DashboardInstanceSessionTemplatesListOutput
# DashboardInstanceSessionTemplatesListQuery
# DashboardInstanceSessionTemplatesListToolsOutput
# DashboardInstanceSessionTemplatesProvidersCreateBody
# DashboardInstanceSessionTemplatesProvidersCreateOutput
# DashboardInstanceSessionTemplatesProvidersDeleteOutput
Expand Down Expand Up @@ -790,6 +793,8 @@
# mapDashboardInstancePortalsConsumerAccessGetOutput
# mapDashboardInstancePortalsConsumerAccessListOutput
# mapDashboardInstancePortalsConsumerAccessListQuery
# mapDashboardInstancePortalsConsumerAccessUpdateBody
# mapDashboardInstancePortalsConsumerAccessUpdateOutput
# mapDashboardInstancePortalsConsumerGroupsCreateBody
# mapDashboardInstancePortalsConsumerGroupsCreateOutput
# mapDashboardInstancePortalsConsumerGroupsDeleteOutput
Expand Down Expand Up @@ -961,6 +966,7 @@
# mapDashboardInstanceSessionTemplatesGetOutput
# mapDashboardInstanceSessionTemplatesListOutput
# mapDashboardInstanceSessionTemplatesListQuery
# mapDashboardInstanceSessionTemplatesListToolsOutput
# mapDashboardInstanceSessionTemplatesProvidersCreateBody
# mapDashboardInstanceSessionTemplatesProvidersCreateOutput
# mapDashboardInstanceSessionTemplatesProvidersDeleteOutput
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Any, Dict, List, Optional, Union
from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest
from ..resources import mapDashboardInstancePortalsConsumerAccessListOutput, DashboardInstancePortalsConsumerAccessListOutput, mapDashboardInstancePortalsConsumerAccessListQuery, DashboardInstancePortalsConsumerAccessListQuery, mapDashboardInstancePortalsConsumerAccessGetOutput, DashboardInstancePortalsConsumerAccessGetOutput, mapDashboardInstancePortalsConsumerAccessCreateOutput, DashboardInstancePortalsConsumerAccessCreateOutput, mapDashboardInstancePortalsConsumerAccessCreateBody, DashboardInstancePortalsConsumerAccessCreateBody, mapDashboardInstancePortalsConsumerAccessDeleteOutput, DashboardInstancePortalsConsumerAccessDeleteOutput
from ..resources import mapDashboardInstancePortalsConsumerAccessListOutput, DashboardInstancePortalsConsumerAccessListOutput, mapDashboardInstancePortalsConsumerAccessListQuery, DashboardInstancePortalsConsumerAccessListQuery, mapDashboardInstancePortalsConsumerAccessGetOutput, DashboardInstancePortalsConsumerAccessGetOutput, mapDashboardInstancePortalsConsumerAccessCreateOutput, DashboardInstancePortalsConsumerAccessCreateOutput, mapDashboardInstancePortalsConsumerAccessCreateBody, DashboardInstancePortalsConsumerAccessCreateBody, mapDashboardInstancePortalsConsumerAccessUpdateOutput, DashboardInstancePortalsConsumerAccessUpdateOutput, mapDashboardInstancePortalsConsumerAccessUpdateBody, DashboardInstancePortalsConsumerAccessUpdateBody, mapDashboardInstancePortalsConsumerAccessDeleteOutput, DashboardInstancePortalsConsumerAccessDeleteOutput

class MetorialDashboardInstancePortalsConsumerAccessEndpoint(BaseMetorialEndpoint):
"""Manage which consumer groups can access portal provider templates and MCP servers."""
Expand Down Expand Up @@ -71,20 +71,29 @@ def get(self, instance_id: str, portal_id: str, consumer_access_id: str) -> Dash
)
return self._get(request).transform(mapDashboardInstancePortalsConsumerAccessGetOutput.from_dict)

def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any]]) -> DashboardInstancePortalsConsumerAccessCreateOutput:
def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsConsumerAccessCreateOutput:
"""
Create portal consumer access
Creates a new consumer access rule for the portal.

:param instance_id: str
:param portal_id: str
:param consumer_group_id: str
:param name: Optional[str] (optional)
:param description: Optional[str] (optional)
:param readme: Optional[str] (optional)
:param access: Union[Dict[str, Any], Dict[str, Any]]
:return: DashboardInstancePortalsConsumerAccessCreateOutput
"""
# Build body parameters from keyword arguments
body_dict = {}
body_dict["consumer_group_id"] = consumer_group_id
if name is not None:
body_dict["name"] = name
if description is not None:
body_dict["description"] = description
if readme is not None:
body_dict["readme"] = readme
body_dict["access"] = access

request = MetorialRequest(
Expand All @@ -93,6 +102,34 @@ def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, ac
)
return self._post(request).transform(mapDashboardInstancePortalsConsumerAccessCreateOutput.from_dict)

def update(self, instance_id: str, portal_id: str, consumer_access_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsConsumerAccessUpdateOutput:
"""
Update portal consumer access
Updates the shared listing fields for a portal consumer access rule.

:param instance_id: str
:param portal_id: str
:param consumer_access_id: str
:param name: Optional[str] (optional)
:param description: Optional[str] (optional)
:param readme: Optional[str] (optional)
:return: DashboardInstancePortalsConsumerAccessUpdateOutput
"""
# Build body parameters from keyword arguments
body_dict = {}
if name is not None:
body_dict["name"] = name
if description is not None:
body_dict["description"] = description
if readme is not None:
body_dict["readme"] = readme

request = MetorialRequest(
path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-access', consumer_access_id],
body=body_dict
)
return self._patch(request).transform(mapDashboardInstancePortalsConsumerAccessUpdateOutput.from_dict)

def delete(self, instance_id: str, portal_id: str, consumer_access_id: str) -> DashboardInstancePortalsConsumerAccessDeleteOutput:
"""
Delete portal consumer access
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def get(self, instance_id: str, provider_template_id: str) -> DashboardInstanceP
)
return self._get(request).transform(mapDashboardInstanceProviderTemplatesGetOutput.from_dict)

def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_deployment_id: str = None, provider_deployment: Dict[str, Any] = None) -> DashboardInstanceProviderTemplatesCreateOutput:
def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, provider_deployment_id: str = None, provider_deployment: Dict[str, Any] = None) -> DashboardInstanceProviderTemplatesCreateOutput:
"""
Create provider template
Creates a new provider template from an existing provider deployment or creates a minimal backing deployment first.
Expand All @@ -75,6 +75,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No
:param name: str
:param description: Optional[str] (optional)
:param metadata: Optional[Dict[str, Any]] (optional)
:param tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional)
:param provider_deployment_id: str (optional)
:param provider_deployment: Dict[str, Any] (optional)
:return: DashboardInstanceProviderTemplatesCreateOutput
Expand All @@ -86,6 +87,8 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No
body_dict["description"] = description
if metadata is not None:
body_dict["metadata"] = metadata
if tool_filers is not None:
body_dict["tool_filers"] = tool_filers
if provider_deployment_id is not None:
body_dict["provider_deployment_id"] = provider_deployment_id
if provider_deployment is not None:
Expand All @@ -97,7 +100,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No
)
return self._post(request).transform(mapDashboardInstanceProviderTemplatesCreateOutput.from_dict)

def update(self, instance_id: str, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput:
def update(self, instance_id: str, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput:
"""
Update provider template
Updates an existing provider template.
Expand All @@ -107,6 +110,7 @@ def update(self, instance_id: str, provider_template_id: str, *, name: Optional[
:param name: Optional[str] (optional)
:param description: Optional[str] (optional)
:param metadata: Optional[Dict[str, Any]] (optional)
:param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional)
:return: DashboardInstanceProviderTemplatesUpdateOutput
"""
# Build body parameters from keyword arguments
Expand All @@ -117,6 +121,8 @@ def update(self, instance_id: str, provider_template_id: str, *, name: Optional[
body_dict["description"] = description
if metadata is not None:
body_dict["metadata"] = metadata
if tool_filters is not None:
body_dict["tool_filters"] = tool_filters

request = MetorialRequest(
path=['dashboard', 'instances', instance_id, 'provider-templates', provider_template_id],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Any, Dict, List, Optional, Union
from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest
from ..resources import mapDashboardInstanceSessionTemplatesListOutput, DashboardInstanceSessionTemplatesListOutput, mapDashboardInstanceSessionTemplatesListQuery, DashboardInstanceSessionTemplatesListQuery, mapDashboardInstanceSessionTemplatesGetOutput, DashboardInstanceSessionTemplatesGetOutput, mapDashboardInstanceSessionTemplatesCreateOutput, DashboardInstanceSessionTemplatesCreateOutput, mapDashboardInstanceSessionTemplatesCreateBody, DashboardInstanceSessionTemplatesCreateBody, mapDashboardInstanceSessionTemplatesUpdateOutput, DashboardInstanceSessionTemplatesUpdateOutput, mapDashboardInstanceSessionTemplatesUpdateBody, DashboardInstanceSessionTemplatesUpdateBody, mapDashboardInstanceSessionTemplatesDeleteOutput, DashboardInstanceSessionTemplatesDeleteOutput
from ..resources import mapDashboardInstanceSessionTemplatesListOutput, DashboardInstanceSessionTemplatesListOutput, mapDashboardInstanceSessionTemplatesListQuery, DashboardInstanceSessionTemplatesListQuery, mapDashboardInstanceSessionTemplatesGetOutput, DashboardInstanceSessionTemplatesGetOutput, mapDashboardInstanceSessionTemplatesCreateOutput, DashboardInstanceSessionTemplatesCreateOutput, mapDashboardInstanceSessionTemplatesCreateBody, DashboardInstanceSessionTemplatesCreateBody, mapDashboardInstanceSessionTemplatesUpdateOutput, DashboardInstanceSessionTemplatesUpdateOutput, mapDashboardInstanceSessionTemplatesUpdateBody, DashboardInstanceSessionTemplatesUpdateBody, mapDashboardInstanceSessionTemplatesDeleteOutput, DashboardInstanceSessionTemplatesDeleteOutput, mapDashboardInstanceSessionTemplatesListToolsOutput, DashboardInstanceSessionTemplatesListToolsOutput

class MetorialDashboardInstanceSessionTemplatesEndpoint(BaseMetorialEndpoint):
"""Session templates define reusable configurations for sessions, including which providers to include. Templates can be used to quickly create new sessions with consistent settings."""
Expand Down Expand Up @@ -151,4 +151,18 @@ def delete(self, instance_id: str, session_template_id: str) -> DashboardInstanc
request = MetorialRequest(
path=['dashboard', 'instances', instance_id, 'session-templates', session_template_id]
)
return self._delete(request).transform(mapDashboardInstanceSessionTemplatesDeleteOutput.from_dict)
return self._delete(request).transform(mapDashboardInstanceSessionTemplatesDeleteOutput.from_dict)

def list_tools(self, instance_id: str, session_template_id: str) -> DashboardInstanceSessionTemplatesListToolsOutput:
"""
List session template tools
Returns the effective set of tools available through the providers in a session template, filtered by the tool filters of each provider, deployment, config, and auth config.

:param instance_id: str
:param session_template_id: str
:return: DashboardInstanceSessionTemplatesListToolsOutput
"""
request = MetorialRequest(
path=['dashboard', 'instances', instance_id, 'session-templates', session_template_id, 'tools']
)
return self._get(request).transform(mapDashboardInstanceSessionTemplatesListToolsOutput.from_dict)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Any, Dict, List, Optional, Union
from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest
from ..resources import mapDashboardInstancePortalsConsumerAccessListOutput, DashboardInstancePortalsConsumerAccessListOutput, mapDashboardInstancePortalsConsumerAccessListQuery, DashboardInstancePortalsConsumerAccessListQuery, mapDashboardInstancePortalsConsumerAccessGetOutput, DashboardInstancePortalsConsumerAccessGetOutput, mapDashboardInstancePortalsConsumerAccessCreateOutput, DashboardInstancePortalsConsumerAccessCreateOutput, mapDashboardInstancePortalsConsumerAccessCreateBody, DashboardInstancePortalsConsumerAccessCreateBody, mapDashboardInstancePortalsConsumerAccessDeleteOutput, DashboardInstancePortalsConsumerAccessDeleteOutput
from ..resources import mapDashboardInstancePortalsConsumerAccessListOutput, DashboardInstancePortalsConsumerAccessListOutput, mapDashboardInstancePortalsConsumerAccessListQuery, DashboardInstancePortalsConsumerAccessListQuery, mapDashboardInstancePortalsConsumerAccessGetOutput, DashboardInstancePortalsConsumerAccessGetOutput, mapDashboardInstancePortalsConsumerAccessCreateOutput, DashboardInstancePortalsConsumerAccessCreateOutput, mapDashboardInstancePortalsConsumerAccessCreateBody, DashboardInstancePortalsConsumerAccessCreateBody, mapDashboardInstancePortalsConsumerAccessUpdateOutput, DashboardInstancePortalsConsumerAccessUpdateOutput, mapDashboardInstancePortalsConsumerAccessUpdateBody, DashboardInstancePortalsConsumerAccessUpdateBody, mapDashboardInstancePortalsConsumerAccessDeleteOutput, DashboardInstancePortalsConsumerAccessDeleteOutput

class MetorialManagementInstancePortalsConsumerAccessEndpoint(BaseMetorialEndpoint):
"""Manage which consumer groups can access portal provider templates and MCP servers."""
Expand Down Expand Up @@ -71,20 +71,29 @@ def get(self, instance_id: str, portal_id: str, consumer_access_id: str) -> Dash
)
return self._get(request).transform(mapDashboardInstancePortalsConsumerAccessGetOutput.from_dict)

def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any]]) -> DashboardInstancePortalsConsumerAccessCreateOutput:
def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsConsumerAccessCreateOutput:
"""
Create portal consumer access
Creates a new consumer access rule for the portal.

:param instance_id: str
:param portal_id: str
:param consumer_group_id: str
:param name: Optional[str] (optional)
:param description: Optional[str] (optional)
:param readme: Optional[str] (optional)
:param access: Union[Dict[str, Any], Dict[str, Any]]
:return: DashboardInstancePortalsConsumerAccessCreateOutput
"""
# Build body parameters from keyword arguments
body_dict = {}
body_dict["consumer_group_id"] = consumer_group_id
if name is not None:
body_dict["name"] = name
if description is not None:
body_dict["description"] = description
if readme is not None:
body_dict["readme"] = readme
body_dict["access"] = access

request = MetorialRequest(
Expand All @@ -93,6 +102,34 @@ def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, ac
)
return self._post(request).transform(mapDashboardInstancePortalsConsumerAccessCreateOutput.from_dict)

def update(self, instance_id: str, portal_id: str, consumer_access_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsConsumerAccessUpdateOutput:
"""
Update portal consumer access
Updates the shared listing fields for a portal consumer access rule.

:param instance_id: str
:param portal_id: str
:param consumer_access_id: str
:param name: Optional[str] (optional)
:param description: Optional[str] (optional)
:param readme: Optional[str] (optional)
:return: DashboardInstancePortalsConsumerAccessUpdateOutput
"""
# Build body parameters from keyword arguments
body_dict = {}
if name is not None:
body_dict["name"] = name
if description is not None:
body_dict["description"] = description
if readme is not None:
body_dict["readme"] = readme

request = MetorialRequest(
path=['instances', instance_id, 'portals', portal_id, 'consumer-access', consumer_access_id],
body=body_dict
)
return self._patch(request).transform(mapDashboardInstancePortalsConsumerAccessUpdateOutput.from_dict)

def delete(self, instance_id: str, portal_id: str, consumer_access_id: str) -> DashboardInstancePortalsConsumerAccessDeleteOutput:
"""
Delete portal consumer access
Expand Down
Loading
Loading