Crate tmflib

Source
Expand description

TMF Library

§Description

This library covers data structures required to interact with various TMForum APIs. It does not define any persistence nor provide a REST interface (at this stage) but simply provides definitions of all the schema and helpful functions and traits to create and maniuplate compliant objects that can then be seriliased into or from JSON as required.

§API Version Features

By default this crate will compile v4 versions of APIs.

  • build-V4 This is the default version compiled
  • build-V5

This flag can be enabled to compile v5 APIs where available, mutually exclusive with build-V4.

§Common Feature

Within the library is a set of common modules. These modules refer to other TMF modules and thus all modules referenced by the common module are included under this feature. Specifically:

§ODA Component Features

All ODA Component identifiers, e.g. TMFC001 have been mapped onto features to enable building the library to support a specific component. NB: For components that dont’ have any defined APIs, a common set of APIs are included under the common feature

Modules§

common
Common Modules
tmf620
TMF620 Product Catalogue Management
tmf621
TMF621 Trouble Ticket Management Schema
tmf622
TMF622 Product Order Management
tmf629
TMF629 Customer Management
tmf632
TMF632 Party Management Management
tmf633
TMF633 Service Catalogue Management
tmf634
TMF634 Resource Catalogue Management
tmf637
TMF637 Product Inventory Management
tmf638
TMF638 Service Inventory Management
tmf639
TMF639 Resource Inventory Management
tmf641
TMF641 Service Order Management Modules
tmf645
TMF645 Service Qualification Module
tmf646
TMF646 Appointment Management Management
tmf648
TMF648 Quote Managment
tmf651
TMF651 Agreement Management
tmf653
TMF653 Service Test Management
tmf663
TMF663 Shopping Cart Management
tmf664
TMF664 Resource Function Activation
tmf666
TMF666 Billing Account Management
tmf667
TMF667 Document Management
tmf669
TMF669 Party Role Management
tmf672
TMF672 User Roles and Permissions Management
tmf673
TMF673 Geographic Address Management
tmf674
TMF674 Geographic Site Management
tmf678
TMF678 Customer Bill Management
tmf679
TMF679 Product Qualification Management
tmf680
TMF680 Recommendation Management Module
tmf681
TMF681 Communication Management
tmf687
TMF687 Stock Level Management
tmf696
TMF696 Risk Management
tmf697
TMF697 Work Order Management
tmf699
TMF699 Sales Management
tmf700
TMF700 Shipping Order Management
tmf724
TMF724 Incident Management
tmf760
TMF760 Product Configurator
tmf921
TMF921 Intent Mangemnt API

Structs§

Quantity
Basic Amount / Unit quantity structure
TimePeriod
Standard TMF TimePeriod structure

Constants§

CODE_DEFAULT_LENGTH
Default code length used by gen_code if no length is supplied.
LIB_PATH
Primary path for the whole library, All paths generated will start with this.

Traits§

HasAttachment
Struct has Attachments
HasDescription
Trait for managing a description field. Description field must be defined as Option<String>
HasId
Trait indicating a TMF struct has and id and corresponding href field
HasLastUpdate
Trait indicating a TMF sturct has a last_update or similar timestamp field.
HasName
Does an object have a name field?
HasNote
Trait for classes with notes
HasRelatedParty
Trait for classes with Related Parties
HasValidity
Trait for classes with a valid_for object covering validity periods.
TMFEvent
Trait for generating an event

Functions§

gen_code
Generate a cryptographic code for use in API calls.
vec_insert
Perform an safe insert operation on a optional vector of TMF objects

Type Aliases§

Cardinality
Standard cardinality type for library
DateTime
Type alias for DateTime
Priority
Priority Type
TimeStamp
Type alias for TimeStamps
Uri
Type alias for Uri