@openfabr/cdf / Exports
@openfabr/cdf
Table of contents
Namespaces
For both project creators and package authors
- CloudVendor
- ToolingLanguage
- ToolingRuntime
- InfraConfig
- InfraPlan
- RuntimeConfig
- TraitConfig
- ComponentConfig
- ComponentType
- ComponentsInfo
- ConfigError
- Connectable
- ConstructsInfo
- CustomInfo
- GeneralConfig
- ImplError
- MessageAware
- NameAware
- NetworkConfig
- NetworkInfo
- OptionalIconAware
- PackageManifest
- PlanError
- RelationConfig
- RelationsInfo
- ServiceConfig
- ServiceType
- ServicesInfo
- SubtypeAware
- SupportInfo
- ToolingInfo
- TypeAware
- InfraPlanOutputs
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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• ComponentType: Object
Interface that represents a typing classification for components.
Defined in
• ComponentsInfo: Object
Interface that represents information about available component constructs.
Defined in
• 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
• Connectable: Object
Interface that models a connection starts from one point and finishes at another, with indication whether the connection is bidirectional.
Defined in
• ConstructsInfo: Object
Interface that represents information about custom (code blocks) construct. Most notably it includes a reference to the code template.
Defined in
• CustomInfo: Object
Interface that represents information about custom (code blocks) construct. Most notably it includes a reference to the code template.
Defined in
• GeneralConfig: Object
Interface for the top-level general section of the configuration. It can be extended by any packages if intended to.
Defined in
• ImplError: Object
Interface that offers an implementation error type. It is expected to be implemented.
Defined in
• MessageAware: Object
Interface that offers a message field. It is expected to be implemented.
Defined in
• NameAware: Object
Interface that offers a URL-friendly name field. It is expected to be implemented.
Defined in
• NetworkConfig: Object
Interface for the top-level network section of the configuration. It can be extended by any packages if intended to.
Defined in
• NetworkInfo: Object
Interface that represents information about network construct.
Defined in
• 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
• 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
• PlanError: Object
Interface that offers an planning error type. It is expected to be implemented.
Defined in
• 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
• 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
• 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
• 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
• ServicesInfo: Object
Interface that represents information about available service constructs.
Defined in
• SubtypeAware: Object
Interface that offers a subtype field. It is expected to be implemented, usually with TypeAware together.
Defined in
• SupportInfo: Object
Interface that offers support information about the package.
Defined in
• ToolingInfo: Object
Interface that offers information about IaC tooling.
Defined in
• TypeAware: Object
Interface that offers a type field. It is expected to be implemented.
Defined in
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.