Subcomponents
Overview
A subcomponent is a component whose lifecycle is tied to the parent component's lifecycle e.g. an output port, a workload, or a storage component. That is, a subcomponent is always deployed when also its parent component is being deployed.
The minimum set of properties to describe a subcomponent is the following one:
- name: name of the subcomponent that is unique within the parent component's scope
- kind: kind of subcomponent e.g. outputport/workload/storage
- infrastructureTemplateId: tech adapter URN which will take in charge this descriptor to deploy this subcomponent into the a target infrastructure
- consumable: refer to the Practice Shaper section
- shoppable: refer to the Practice Shaper section
The platform team can enable/disable the property ui.appConfig.mesh.builder.editAndTest.subcomponents.inheritFromParent from the configuration file, in order to enrich subcomponent's properties with the parent's properties. This option is enabled as default. The following properties will not be inherited from the parent:
id,
components,
consumable,
shoppable,
name,
infrastructureTemplateId,
kind,
dependsOn,
__dataContractEnabled,
__dataContractGuardianSpec,
readsFrom,
From the data consumer and data producer points of view:
- In
Administration>Entities, subcomponents are not visible. However, inBuilder>My Projects, they are visible in the generated descriptor of the data product where it belongs, in theEdit and testwindow and in thecatalog-infoof the parent component when inspecting the entity. - In the Marketplace, subcomponents are visible only if they are marked as consumable