aws-cdk-neuronx-patterns
Version:
> [!WARNING] > This library is experimental module.
45 lines • 6.85 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NeuronxBatchComputeEnvironment = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const batch = require("aws-cdk-lib/aws-batch");
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
const constructs_1 = require("constructs");
const neuronx_1 = require("../neuronx");
/**
* Neuronx batch construct.
*/
class NeuronxBatchComputeEnvironment extends constructs_1.Construct {
constructor(scope, id, props) {
super(scope, id);
const images = props.images ?? [
{
image: new neuronx_1.NeuronOptimizedMachineImage(this, "NeuronOptimizedMachineImage"),
imageType: batch.EcsMachineImageType.ECS_AL2023,
},
];
this.resource = new batch.ManagedEc2EcsComputeEnvironment(this, "Resource", {
...props,
images,
});
if (props.launchTemplate &&
props.launchTemplate instanceof aws_ec2_1.LaunchTemplate) {
this.resource.node.defaultChild.addPropertyOverride("ComputeResources.LaunchTemplate.Version", props.launchTemplate.latestVersionNumber);
}
this.computeEnvironmentArn = this.resource.computeEnvironmentArn;
this.computeEnvironmentName = this.resource.computeEnvironmentName;
this.enabled = this.resource.enabled;
this.env = this.resource.env;
this.serviceRole = this.resource.serviceRole;
this.stack = this.resource.stack;
this.instanceRole = this.resource.instanceRole;
}
applyRemovalPolicy(policy) {
this.resource.applyRemovalPolicy(policy);
}
}
exports.NeuronxBatchComputeEnvironment = NeuronxBatchComputeEnvironment;
_a = JSII_RTTI_SYMBOL_1;
NeuronxBatchComputeEnvironment[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchComputeEnvironment", version: "0.0.23" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC1jb21wdXRlLWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvYXdzLWJhdGNoL25ldXJvbngtYmF0Y2gtY29tcHV0ZS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtDQUErQztBQUMvQyxpREFBcUQ7QUFFckQsMkNBQXVDO0FBQ3ZDLHdDQUF5RDtBQVF6RDs7R0FFRztBQUNILE1BQWEsOEJBQ1gsU0FBUSxzQkFBUztJQVdqQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUEwQztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUk7WUFDN0I7Z0JBQ0UsS0FBSyxFQUFFLElBQUkscUNBQTJCLENBQ3BDLElBQUksRUFDSiw2QkFBNkIsQ0FDOUI7Z0JBQ0QsU0FBUyxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO2FBQ2hEO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQ3ZELElBQUksRUFDSixVQUFVLEVBQ1Y7WUFDRSxHQUFHLEtBQUs7WUFDUixNQUFNO1NBQ1AsQ0FDRixDQUFDO1FBQ0YsSUFDRSxLQUFLLENBQUMsY0FBYztZQUNwQixLQUFLLENBQUMsY0FBYyxZQUFZLHdCQUFjLEVBQzlDLENBQUM7WUFFQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUNwQixDQUFDLG1CQUFtQixDQUNuQix5Q0FBeUMsRUFDekMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDekMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztRQUNuRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFhLENBQUM7SUFDbEQsQ0FBQztJQUNELGtCQUFrQixDQUFDLE1BQXFCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7QUExREgsd0VBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgUmVzb3VyY2VFbnZpcm9ubWVudCwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGJhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYmF0Y2hcIjtcbmltcG9ydCB7IExhdW5jaFRlbXBsYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IElSb2xlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2UgfSBmcm9tIFwiLi4vbmV1cm9ueFwiO1xuXG4vKipcbiAqIFByb3BzIG9mIE5ldXJvbnhCYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXVyb254QmF0Y2hDb21wdXRlRW52aXJvbm1lbnRQcm9wc1xuICBleHRlbmRzIGJhdGNoLk1hbmFnZWRFYzJFY3NDb21wdXRlRW52aXJvbm1lbnRQcm9wcyB7fVxuXG4vKipcbiAqIE5ldXJvbnggYmF0Y2ggY29uc3RydWN0LlxuICovXG5leHBvcnQgY2xhc3MgTmV1cm9ueEJhdGNoQ29tcHV0ZUVudmlyb25tZW50XG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgYmF0Y2guSUNvbXB1dGVFbnZpcm9ubWVudFxue1xuICByZWFkb25seSBjb21wdXRlRW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbXB1dGVFbnZpcm9ubWVudEFybjogc3RyaW5nO1xuICByZWFkb25seSBzZXJ2aWNlUm9sZT86IElSb2xlIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IGVudjogUmVzb3VyY2VFbnZpcm9ubWVudDtcbiAgcmVhZG9ubHkgaW5zdGFuY2VSb2xlOiBJUm9sZTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogYmF0Y2guTWFuYWdlZEVjMkVjc0NvbXB1dGVFbnZpcm9ubWVudDtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXVyb254QmF0Y2hDb21wdXRlRW52aXJvbm1lbnRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGltYWdlcyA9IHByb3BzLmltYWdlcyA/PyBbXG4gICAgICB7XG4gICAgICAgIGltYWdlOiBuZXcgTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2VcIixcbiAgICAgICAgKSxcbiAgICAgICAgaW1hZ2VUeXBlOiBiYXRjaC5FY3NNYWNoaW5lSW1hZ2VUeXBlLkVDU19BTDIwMjMsXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBiYXRjaC5NYW5hZ2VkRWMyRWNzQ29tcHV0ZUVudmlyb25tZW50KFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGltYWdlcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBpZiAoXG4gICAgICBwcm9wcy5sYXVuY2hUZW1wbGF0ZSAmJlxuICAgICAgcHJvcHMubGF1bmNoVGVtcGxhdGUgaW5zdGFuY2VvZiBMYXVuY2hUZW1wbGF0ZVxuICAgICkge1xuICAgICAgKFxuICAgICAgICB0aGlzLnJlc291cmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGJhdGNoLkNmbkNvbXB1dGVFbnZpcm9ubWVudFxuICAgICAgKS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFxuICAgICAgICBcIkNvbXB1dGVSZXNvdXJjZXMuTGF1bmNoVGVtcGxhdGUuVmVyc2lvblwiLFxuICAgICAgICBwcm9wcy5sYXVuY2hUZW1wbGF0ZS5sYXRlc3RWZXJzaW9uTnVtYmVyLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXB1dGVFbnZpcm9ubWVudEFybiA9IHRoaXMucmVzb3VyY2UuY29tcHV0ZUVudmlyb25tZW50QXJuO1xuICAgIHRoaXMuY29tcHV0ZUVudmlyb25tZW50TmFtZSA9IHRoaXMucmVzb3VyY2UuY29tcHV0ZUVudmlyb25tZW50TmFtZTtcbiAgICB0aGlzLmVuYWJsZWQgPSB0aGlzLnJlc291cmNlLmVuYWJsZWQ7XG4gICAgdGhpcy5lbnYgPSB0aGlzLnJlc291cmNlLmVudjtcbiAgICB0aGlzLnNlcnZpY2VSb2xlID0gdGhpcy5yZXNvdXJjZS5zZXJ2aWNlUm9sZTtcbiAgICB0aGlzLnN0YWNrID0gdGhpcy5yZXNvdXJjZS5zdGFjaztcbiAgICB0aGlzLmluc3RhbmNlUm9sZSA9IHRoaXMucmVzb3VyY2UuaW5zdGFuY2VSb2xlITtcbiAgfVxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBSZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocG9saWN5KTtcbiAgfVxufVxuIl19