We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/entira/archi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""Business layer ArchiMate elements."""
from typing import List
from .base import ArchiMateElement, ArchiMateLayer, ArchiMateAspect
class BusinessElement(ArchiMateElement):
"""Base class for Business layer elements."""
layer: ArchiMateLayer = ArchiMateLayer.BUSINESS
@classmethod
def create_business_actor(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Actor element."""
return cls(
id=id,
name=name,
element_type="Actor",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.ACTIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_business_role(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Role element."""
return cls(
id=id,
name=name,
element_type="Role",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.ACTIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_business_collaboration(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Collaboration element."""
return cls(
id=id,
name=name,
element_type="Collaboration",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.ACTIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_business_interface(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Interface element."""
return cls(
id=id,
name=name,
element_type="Interface",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.ACTIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_business_function(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Function element."""
return cls(
id=id,
name=name,
element_type="Function",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.BEHAVIOR,
description=description,
**kwargs
)
@classmethod
def create_business_process(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Process element."""
return cls(
id=id,
name=name,
element_type="Process",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.BEHAVIOR,
description=description,
**kwargs
)
@classmethod
def create_business_event(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Event element."""
return cls(
id=id,
name=name,
element_type="Event",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.BEHAVIOR,
description=description,
**kwargs
)
@classmethod
def create_business_service(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Service element."""
return cls(
id=id,
name=name,
element_type="Service",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.BEHAVIOR,
description=description,
**kwargs
)
@classmethod
def create_business_object(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Object element."""
return cls(
id=id,
name=name,
element_type="Object",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.PASSIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_business_contract(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Contract element."""
return cls(
id=id,
name=name,
element_type="Contract",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.PASSIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_business_representation(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Business Representation element."""
return cls(
id=id,
name=name,
element_type="Representation",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.PASSIVE_STRUCTURE,
description=description,
**kwargs
)
@classmethod
def create_location(
cls,
id: str,
name: str,
description: str = None,
**kwargs
) -> "BusinessElement":
"""Create a Location element."""
return cls(
id=id,
name=name,
element_type="Location",
layer=ArchiMateLayer.BUSINESS,
aspect=ArchiMateAspect.PASSIVE_STRUCTURE,
description=description,
**kwargs
)