in lib/assets/wind-farm-asset.ts [27:56]
constructor(scope: cdk.Construct, id: string, props: WindFarmAssetProps) {
super(scope, id);
this.windFarmId = uid.vend();
this.turbines = [];
for (let i = 0; i < props.numberOfTurbines; i++) {
this.turbines.push(new TurbineAsset(this, `TurbineAsset${i+1}`, {
name: uid.vend(),
windFarmId: this.windFarmId,
modelId: props.turbineAssetModelId,
}));
}
const assetHierarchies = this.turbines.map(turbine => {
return {
childAssetId: turbine.ref,
logicalId: props.windFarmTurbineHierarchyLogicalId
};
});
this.windFarm = new sitewise.CfnAsset(this, 'WindFarmAsset', {
assetName: `Windfarm ${this.windFarmId}`,
assetModelId: props.windFarmAssetModelId,
assetHierarchies: assetHierarchies
});
this.ref = this.windFarm.ref;
}