Skip to content

@openfabr/cdf / Exports

@openfabr/cdf

Table of contents

Namespaces

For both project creators and package authors

For project creators

For package authors

Interfaces

For both project creators and package authors

CloudVendor: Object

A list of cloud vendors. The purpose of defining them is to regulate their names throughout the framework and all packages.

Defined in

src/lib/domain.ts:15

ToolingLanguage: Object

A list of IaC languages. The purpose of defining them is to regulate their names throughout the framework and all packages.

Defined in

src/lib/domain.ts:61

ToolingRuntime: Object

A list of IaC runtime. The purpose of defining them is to regulate their names throughout the framework and all packages.

Defined in

src/lib/domain.ts:48

InfraConfig<GC, NC, CC, SC, RC>: Object

Concrete class that models the configuration for an infra project when using a package. It has 5 top-level sections (general, network, components, services and relations), each of which is expected to extended by packages for their own needs.

Usually there is no need to extend this class.

Type parameters

Name Type
GC extends GeneralConfig
NC extends NetworkConfig
CC extends ComponentConfig
SC extends ServiceConfig
RC extends RelationConfig

Defined in

src/lib/config.ts:130

InfraPlan<IPC>: Object

Concrete class that carries both the generated infra baseline and all the outputs as a result.

Usually there is no need to extend this class.

Type parameters

Name Type
IPC extends InfraPlanConstructs

Defined in

src/lib/package.ts:43

RuntimeConfig<SC>: Object

Concrete class for a group of services sharing the same runtime.

Usually there is no need to extend this class.

Type parameters

Name Type
SC extends ServiceConfig

Defined in

src/lib/config.ts:48

TraitConfig<CC>: Object

Concrete class for a group of components sharing the same trait.

Usually there is no need to extend this class.

Type parameters

Name Type
CC extends ComponentConfig

Defined in

src/lib/config.ts:88

ComponentConfig: Object

Interface for a component segment in the configuration. It is expected to be extended by packages to carry detailed information about a particular component type.

Defined in

src/lib/config.ts:121

ComponentType: Object

Interface that represents a typing classification for components.

Defined in

src/lib/metadata.ts:86

ComponentsInfo: Object

Interface that represents information about available component constructs.

Defined in

src/lib/metadata.ts:134

ConfigError: Object

Interface that offers a configuration error type which optionally indicates which field is the offending one. It is expected to be implemented.

Defined in

src/lib/domain.ts:127

Connectable: Object

Interface that models a connection starts from one point and finishes at another, with indication whether the connection is bidirectional.

Defined in

src/lib/domain.ts:105

ConstructsInfo: Object

Interface that represents information about custom (code blocks) construct. Most notably it includes a reference to the code template.

Defined in

src/lib/metadata.ts:186

CustomInfo: Object

Interface that represents information about custom (code blocks) construct. Most notably it includes a reference to the code template.

Defined in

src/lib/metadata.ts:173

GeneralConfig: Object

Interface for the top-level general section of the configuration. It can be extended by any packages if intended to.

Defined in

src/lib/config.ts:15

ImplError: Object

Interface that offers an implementation error type. It is expected to be implemented.

Defined in

src/lib/domain.ts:137

MessageAware: Object

Interface that offers a message field. It is expected to be implemented.

Defined in

src/lib/domain.ts:117

NameAware: Object

Interface that offers a URL-friendly name field. It is expected to be implemented.

Defined in

src/lib/domain.ts:76

NetworkConfig: Object

Interface for the top-level network section of the configuration. It can be extended by any packages if intended to.

Defined in

src/lib/config.ts:23

NetworkInfo: Object

Interface that represents information about network construct.

Defined in

src/lib/metadata.ts:127

OptionalIconAware: Object

Interface that offers an optional icon field. This is normally a valid URL pointing to the icon file publicly available on the web; alternative formats such as Font Awesome can be supported later.

Defined in

src/lib/metadata.ts:16

PackageManifest: Object

Interface for modelling a package manifest json file that provides informations about the package. Crucially it also carries two references respectively to a) a json schema file for validating json config files and b) a template file for custom code blocks.

Defined in

src/lib/metadata.ts:221

PlanError: Object

Interface that offers an planning error type. It is expected to be implemented.

Defined in

src/lib/domain.ts:145

RelationConfig: Object

Interface for a relation segment in the configuration. It is expected to be extended by packages to carry detailed information about a particular relation type.

Defined in

src/lib/config.ts:40

RelationType: Object

Interface that represents a typing classification for relations.

Defined in

src/lib/metadata.ts:116

RelationsInfo: Object

Interface that represents information about available relation constructs, keyed by a unique identifier among all components/services/relations. It relies on the typing definitions in both ComponentInfo and ServicesInfo.

Defined in

src/lib/metadata.ts:159

ServiceConfig: Object

Interface for a service segment in the configuration. It is expected to be extended by packages to carry detailed information about a particular service type.

Defined in

src/lib/config.ts:80

ServiceType: Object

Interface that represents a typing classification for services. In particular, it contains a field for deployment instructions for the type of services defined.

Defined in

src/lib/metadata.ts:98

ServicesInfo: Object

Interface that represents information about available service constructs.

Defined in

src/lib/metadata.ts:146

SubtypeAware: Object

Interface that offers a subtype field. It is expected to be implemented, usually with TypeAware together.

Defined in

src/lib/domain.ts:96

SupportInfo: Object

Interface that offers support information about the package.

Defined in

src/lib/metadata.ts:41

ToolingInfo: Object

Interface that offers information about IaC tooling.

Defined in

src/lib/metadata.ts:61

TypeAware: Object

Interface that offers a type field. It is expected to be implemented.

Defined in

src/lib/domain.ts:86

InfraPlanOutputs

Ƭ InfraPlanOutputs: Map<string, any>

Short-hand type representing outputs from the infra baseline generated by a package. It is commonly used for information (such as displaying) purposes.

It should be used as-is. The map structure with any value offers flexibility.

Defined in

src/lib/package.ts:35