in integ/lib/worker-struct.ts [32:98]
constructor(scope: Construct, id: string, props: WorkerStructProps) {
super(scope, id);
// Collect environment variables
const infrastructureStackName = 'RFDKIntegInfrastructure' + props.integStackTag;
const linuxAmi = process.env.LINUX_DEADLINE_AMI_ID!.toString();
const windowsAmi = process.env.WINDOWS_DEADLINE_AMI_ID!.toString();
let workerMachineImage: IMachineImage;
// Retrieve VPC created for _infrastructure stack
const vpc = Vpc.fromLookup(this, 'Vpc', { tags: { StackName: infrastructureStackName }}) as Vpc;
this.renderQueue = props.renderStruct.renderQueue;
this.cert = props.renderStruct.cert;
if( props.os === 'Windows' ) {
const deadlineClientWindowsAmiMap: Record<string, string> = {[Stack.of(this).region]: windowsAmi};
workerMachineImage = MachineImage.genericWindows(deadlineClientWindowsAmiMap);
}
else {
const deadlineClientLinuxAmiMap: Record<string, string> = {[Stack.of(this).region]: linuxAmi};
workerMachineImage = MachineImage.genericLinux(deadlineClientLinuxAmiMap);
}
const workerSubnets = vpc.selectSubnets({ subnetGroupName: NetworkTier.subnetConfig.workerInstanceFleet.name });
this.workerFleet.push(
new WorkerInstanceFleet(this, 'Worker1', {
vpc,
vpcSubnets: workerSubnets,
renderQueue: this.renderQueue,
workerMachineImage,
logGroupProps: {
logGroupPrefix: `/${Stack.of(this).stackName}-${id}/`,
retention: RetentionDays.TWO_MONTHS,
},
groups: ['testgroup'],
}),
new WorkerInstanceFleet(this, 'Worker2', {
vpc,
vpcSubnets: workerSubnets,
renderQueue: this.renderQueue,
workerMachineImage,
logGroupProps: {
logGroupPrefix: `/${Stack.of(this).stackName}-${id}/`,
retention: RetentionDays.TWO_MONTHS,
},
pools: ['testpool'],
}),
new WorkerInstanceFleet(this, 'Worker3', {
vpc,
vpcSubnets: workerSubnets,
renderQueue: this.renderQueue,
workerMachineImage,
logGroupProps: {
logGroupPrefix: `/${Stack.of(this).stackName}-${id}/`,
retention: RetentionDays.TWO_MONTHS,
},
region: 'testregion',
}),
);
this.workerFleet.forEach( worker => {
worker.connections.allowFromAnyIpv4(Port.tcp(22));
});
}