constructor()

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;
    }