otupy.profiles.xbom.data.api.API

class API(api=None, description=None, type=None, name=None, endpoints=None, id=None, provider=None, version=None)

Bases: XBOMObject

Application Programming Interface

The abstraction of any API that can be invoked by the network (TODO: extend to other kind of local APIs). The purpose is to include both older-style RPCs and newer WSDL, REST, SOAP, etc, as well as any custom interface and API.

Given the very broad scope and heterogeneous terminology used by different architectures and protocols, this preliminary definition will likely be extended and refined in the future to better include the different alternatives.

Methods

as_cyclonedx

Convert API to CycloneDX service format.

fromdict

Builds instance from dictionary

getId

todict

Converts to dictionary

Attributes

description

Generic description of the node (including its role)

endpoints

A list of endpoints that are exposed by this service

id

ID of the node, preferably globally unique

name

A name for this node (e.g., network namespace name)

provider

Provider of the API

type

Type of API (refer to RFC or other standard definition)

version

API version

__init__(api=None, description=None, type=None, name=None, endpoints=None, id=None, provider=None, version=None)
as_cyclonedx() Service

Convert API to CycloneDX service format.

Returns:

Service: CycloneDX Service representation.

description: str = None

Generic description of the node (including its role)

endpoints: ArrayOf = None

A list of endpoints that are exposed by this service

classmethod fromdict(dic, e)

Builds instance from dictionary

It is used during deserialization to create an otupy instance from the text message. It takes an Encoder instance that is used to recursively build instances of the inner objects (the Encoder provides standard methods to create instances of base objects like strings, integers, boolean).

Parameters:
  • dic – The intermediary dictionary representation from which the object is built.

  • e – The Encoder that is being used.

Returns:

An instance of this class initialized from the dictionary values.

id: str = None

ID of the node, preferably globally unique

name: str = None

A name for this node (e.g., network namespace name)

provider: str = None

Provider of the API

todict(e)

Converts to dictionary

It is used to convert this object to an intermediary representation during serialization. It takes an Encoder argument that is used to recursively serialize inner data and structures (the Encoder provides standard methods for converting base types to dictionaries)..

Parameters:

e – The Encoder that is being used.

Returns:

A dictionary compliants to the Language Specification’s serialization rules.

type: str = None

Type of API (refer to RFC or other standard definition)

version: str = None

API version