aws-cdk-neuronx-patterns 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +33 -33
- package/README.md +13 -0
- package/lib/base/aws-batch/neuronx-batch-compute-environment.js +1 -1
- package/lib/base/aws-batch/neuronx-batch-ecs-job-definition.js +1 -1
- package/lib/base/aws-batch/neuronx-batch.js +1 -1
- package/lib/base/aws-ecs-patterns/application-load-balanced-neuronx-service.js +58 -12
- package/lib/base/neuronx/deep-learning-containers.js +1 -1
- package/lib/base/neuronx/model.js +2 -2
- package/lib/base/neuronx/neuron-optimized-machine-image.js +3 -3
- package/lib/base/neuronx/neuronx-instance-type.js +3 -3
- package/lib/base/neuronx-compiler/neuronx-compiler.js +1 -1
- package/lib/base/server-engine/vllm-engine/vllm-engine-argments.js +4 -3
- package/lib/vllm-nxd-inference/vllm-nxd-inference-compiler.js +2 -2
- package/lib/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.js +6 -5
- package/package.json +4 -4
- package/scripts/compile/vllm-nxd-inference/Dockerfile +8 -2
- package/scripts/compile/vllm-nxd-inference/entrypoint.sh +9 -5
- package/scripts/inference/vllm-nxd-inference/Dockerfile +2 -5
- package/scripts/inference/vllm-nxd-inference/entrypoint.sh +2 -3
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@aws-cdk/aws-sagemaker-alpha": "2.200.0-alpha.0",
|
|
11
|
-
"aws-cdk-lib": "^2.200.
|
|
11
|
+
"aws-cdk-lib": "^2.200.1",
|
|
12
12
|
"constructs": "^10.0.5"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -4012,7 +4012,7 @@
|
|
|
4012
4012
|
},
|
|
4013
4013
|
"name": "aws-cdk-neuronx-patterns",
|
|
4014
4014
|
"readme": {
|
|
4015
|
-
"markdown": "# Neuronx patterns Construct Library\n\n> [!WARNING]\n> This library is experimental module.\n\nThis library provides high-level architectural patterns using neuronx (e.g. Inferentia2 and Trainium1). It contains:\n\n- vLLM with NxD Inference on ALB & ECS on EC2\n- Neuronx Compiler\n\n## vLLM NxD Inference on ALB & ECS on EC2\n\n> [!WARNING]\n> This construct uses an Inferentia2 instance on ECS. You may need to increase your request limit for your AWS account.\n\nBy using the `VllmNxdInferenceCompiler` construct included in this construct library, models published on HuggingFace can be easily deployed to ECS with Application Load Balancer. To define using the `VllmNxdInferenceCompiler` construct:\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\nconst compiler = new VllmNxdInferenceCompiler(this, \"Compiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n});\nconst compiledModel = compiler.compile();\nconst taskDefinition = new VllmNxdInferenceTaskDefinition(\n this,\n \"TaskDefinition\",\n {\n compiledModel,\n },\n);\nconst service = new ApplicationLoadBalancedVllmNxDInferenceService(\n this,\n \"Service\",\n {\n vpc,\n taskDefinition,\n },\n);\n```\n\nThis is VllmNxDInferenceApplicationLoadBalancedEc2Service architecture.\n\n\nThe construct will automatically:\n\n- Calculate optimal tensor parallelism based on model size\n- Configure memory footprint for the ECS tasks\n- Set up the Application Load Balancer\n- Deploy the compiled model to ECS tasks\n- Configure health checks and auto-scaling\n\nThe service exposes a REST API endpoint through the Application Load Balancer that can be used to perform inference with the deployed model.\n\n### Using HuggingFace Token with Secrets\n\nWhen working with private or gated models on HuggingFace, you need to provide an authentication token. For security best practices, you can store your HuggingFace token in AWS Secrets Manager or SSM secure string and pass it to both the compiler and inference environments:\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\nimport * as batch from \"aws-cdk-lib/aws-batch\";\nimport { Secret } from \"aws-cdk-lib/aws-secretsmanager\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\n\n// Reference an existing secret containing your HuggingFace token\nconst hfTokenSecret = Secret.fromSecretNameV2(\n this,\n \"HFTokenSecret\",\n \"my-huggingface-token\",\n);\nconst hfToken = batch.Secret.fromSecretsManager(hfTokenSecret, \"readonlyToken\");\n\n// Pass the secret to the compiler\nconst compiler = new VllmNxdInferenceCompiler(this, \"Compiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n vllmArgs: {\n hfToken, // Pass the HF token secret here\n },\n});\n\nconst compiledModel = compiler.compile();\nconst taskDefinition = new VllmNxdInferenceTaskDefinition(\n this,\n \"TaskDefinition\",\n {\n compiledModel,\n },\n);\n\nconst service = new ApplicationLoadBalancedVllmNxDInferenceService(\n this,\n \"Service\",\n {\n vpc,\n taskDefinition,\n },\n);\n```\n\nThe secret will be securely passed as an environment variable to the compilation batch job and the ECS tasks running the inference server.\n\n## Neuronx Compiler\n\n> [!WARNING]\n> This construct uses an Inferentia2 instance on EC2. You may need to increase your request limit for your AWS account.\n\nThis construct compiles models supported by Neuronx and uploads them to the specified S3 bucket. To define\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\ndeclare const image: INeuronxContainerImage;\nconst compile = new NeuronxCompiler(this, \"NeuronxCompiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n artifactS3Prefix: \"my-compiled-artifacts\",\n image,\n});\nconst compiledModel = compiler.compile();\n\n// Get the compiled artifacts from this S3 URL\nnew CfnOutput(this, \"CompiledArtifact\", {\n value: compiledModel.s3Url,\n});\n```\n\nThis construct assumes the required instance type depending on the number of model parameters.\n\nThis is NeuronxCompiler architecture.\n\n\n### Spot Instance\n\n> [!WARNING]\n> If you use Spot Instances, check if the request limit for Spot has been increased.\n\nYou can also use Spot Instances.\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\ndeclare const image: INeuronxContainerImage;\nnew NeuronxCompiler(this, \"NeuronxCompiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n artifactS3Prefix: \"my-compiled-artifacts\",\n image,\n spot: true,\n});\n```\n"
|
|
4015
|
+
"markdown": "# Neuronx patterns Construct Library\n\n> [!WARNING]\n> This library is experimental module.\n\nThis library provides high-level architectural patterns using neuronx (e.g. Inferentia2 and Trainium1). It contains:\n\n- vLLM with NxD Inference on ALB & ECS on EC2\n- Neuronx Compiler\n\n## Install\n\n```bash\n# NPM\nnpm i aws-cdk-neuronx-patterns\n\n# yarn\nyarn add aws-cdk-neuronx-patterns\n\n# PNPM\npnpm i aws-cdk-neuronx-patterns\n```\n\n## vLLM NxD Inference on ALB & ECS on EC2\n\n> [!WARNING]\n> This construct uses an Inferentia2 instance on ECS. You may need to increase your request limit for your AWS account.\n\nBy using the `VllmNxdInferenceCompiler` construct included in this construct library, models published on HuggingFace can be easily deployed to ECS with Application Load Balancer. To define using the `VllmNxdInferenceCompiler` construct:\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\nconst compiler = new VllmNxdInferenceCompiler(this, \"Compiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n});\nconst compiledModel = compiler.compile();\nconst taskDefinition = new VllmNxdInferenceTaskDefinition(\n this,\n \"TaskDefinition\",\n {\n compiledModel,\n },\n);\nconst service = new ApplicationLoadBalancedVllmNxDInferenceService(\n this,\n \"Service\",\n {\n vpc,\n taskDefinition,\n },\n);\n```\n\nThis is VllmNxDInferenceApplicationLoadBalancedEc2Service architecture.\n\n\nThe construct will automatically:\n\n- Calculate optimal tensor parallelism based on model size\n- Configure memory footprint for the ECS tasks\n- Set up the Application Load Balancer\n- Deploy the compiled model to ECS tasks\n- Configure health checks and auto-scaling\n\nThe service exposes a REST API endpoint through the Application Load Balancer that can be used to perform inference with the deployed model.\n\n### Using HuggingFace Token with Secrets\n\nWhen working with private or gated models on HuggingFace, you need to provide an authentication token. For security best practices, you can store your HuggingFace token in AWS Secrets Manager or SSM secure string and pass it to both the compiler and inference environments:\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\nimport * as batch from \"aws-cdk-lib/aws-batch\";\nimport { Secret } from \"aws-cdk-lib/aws-secretsmanager\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\n\n// Reference an existing secret containing your HuggingFace token\nconst hfTokenSecret = Secret.fromSecretNameV2(\n this,\n \"HFTokenSecret\",\n \"my-huggingface-token\",\n);\nconst hfToken = batch.Secret.fromSecretsManager(hfTokenSecret, \"readonlyToken\");\n\n// Pass the secret to the compiler\nconst compiler = new VllmNxdInferenceCompiler(this, \"Compiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n vllmArgs: {\n hfToken, // Pass the HF token secret here\n },\n});\n\nconst compiledModel = compiler.compile();\nconst taskDefinition = new VllmNxdInferenceTaskDefinition(\n this,\n \"TaskDefinition\",\n {\n compiledModel,\n },\n);\n\nconst service = new ApplicationLoadBalancedVllmNxDInferenceService(\n this,\n \"Service\",\n {\n vpc,\n taskDefinition,\n },\n);\n```\n\nThe secret will be securely passed as an environment variable to the compilation batch job and the ECS tasks running the inference server.\n\n## Neuronx Compiler\n\n> [!WARNING]\n> This construct uses an Inferentia2 instance on EC2. You may need to increase your request limit for your AWS account.\n\nThis construct compiles models supported by Neuronx and uploads them to the specified S3 bucket. To define\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\ndeclare const image: INeuronxContainerImage;\nconst compile = new NeuronxCompiler(this, \"NeuronxCompiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n artifactS3Prefix: \"my-compiled-artifacts\",\n image,\n});\nconst compiledModel = compiler.compile();\n\n// Get the compiled artifacts from this S3 URL\nnew CfnOutput(this, \"CompiledArtifact\", {\n value: compiledModel.s3Url,\n});\n```\n\nThis construct assumes the required instance type depending on the number of model parameters.\n\nThis is NeuronxCompiler architecture.\n\n\n### Spot Instance\n\n> [!WARNING]\n> If you use Spot Instances, check if the request limit for Spot has been increased.\n\nYou can also use Spot Instances.\n\n```ts\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\n\ndeclare const vpc: ec2.Vpc;\ndeclare const bucket: s3.Bucket;\ndeclare const image: INeuronxContainerImage;\nnew NeuronxCompiler(this, \"NeuronxCompiler\", {\n vpc,\n bucket,\n model: Model.fromHuggingFace(\"example/example-7b-chat\"),\n artifactS3Prefix: \"my-compiled-artifacts\",\n image,\n spot: true,\n});\n```\n"
|
|
4016
4016
|
},
|
|
4017
4017
|
"repository": {
|
|
4018
4018
|
"type": "git",
|
|
@@ -4038,7 +4038,7 @@
|
|
|
4038
4038
|
},
|
|
4039
4039
|
"locationInModule": {
|
|
4040
4040
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4041
|
-
"line":
|
|
4041
|
+
"line": 119
|
|
4042
4042
|
},
|
|
4043
4043
|
"parameters": [
|
|
4044
4044
|
{
|
|
@@ -4064,7 +4064,7 @@
|
|
|
4064
4064
|
"kind": "class",
|
|
4065
4065
|
"locationInModule": {
|
|
4066
4066
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4067
|
-
"line":
|
|
4067
|
+
"line": 118
|
|
4068
4068
|
},
|
|
4069
4069
|
"name": "ApplicationLoadBalancedNeuronxService",
|
|
4070
4070
|
"symbolId": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service:ApplicationLoadBalancedNeuronxService"
|
|
@@ -4082,7 +4082,7 @@
|
|
|
4082
4082
|
"kind": "interface",
|
|
4083
4083
|
"locationInModule": {
|
|
4084
4084
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4085
|
-
"line":
|
|
4085
|
+
"line": 116
|
|
4086
4086
|
},
|
|
4087
4087
|
"name": "ApplicationLoadBalancedNeuronxServiceProps",
|
|
4088
4088
|
"symbolId": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service:ApplicationLoadBalancedNeuronxServiceProps"
|
|
@@ -4103,7 +4103,7 @@
|
|
|
4103
4103
|
},
|
|
4104
4104
|
"locationInModule": {
|
|
4105
4105
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4106
|
-
"line":
|
|
4106
|
+
"line": 183
|
|
4107
4107
|
},
|
|
4108
4108
|
"parameters": [
|
|
4109
4109
|
{
|
|
@@ -4129,7 +4129,7 @@
|
|
|
4129
4129
|
"kind": "class",
|
|
4130
4130
|
"locationInModule": {
|
|
4131
4131
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4132
|
-
"line":
|
|
4132
|
+
"line": 177
|
|
4133
4133
|
},
|
|
4134
4134
|
"name": "ApplicationLoadBalancedVllmNxDInferenceService",
|
|
4135
4135
|
"properties": [
|
|
@@ -4140,7 +4140,7 @@
|
|
|
4140
4140
|
"immutable": true,
|
|
4141
4141
|
"locationInModule": {
|
|
4142
4142
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4143
|
-
"line":
|
|
4143
|
+
"line": 179
|
|
4144
4144
|
},
|
|
4145
4145
|
"name": "listener",
|
|
4146
4146
|
"type": {
|
|
@@ -4154,7 +4154,7 @@
|
|
|
4154
4154
|
"immutable": true,
|
|
4155
4155
|
"locationInModule": {
|
|
4156
4156
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4157
|
-
"line":
|
|
4157
|
+
"line": 178
|
|
4158
4158
|
},
|
|
4159
4159
|
"name": "loadBalancer",
|
|
4160
4160
|
"type": {
|
|
@@ -4168,7 +4168,7 @@
|
|
|
4168
4168
|
"immutable": true,
|
|
4169
4169
|
"locationInModule": {
|
|
4170
4170
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4171
|
-
"line":
|
|
4171
|
+
"line": 181
|
|
4172
4172
|
},
|
|
4173
4173
|
"name": "service",
|
|
4174
4174
|
"type": {
|
|
@@ -4182,7 +4182,7 @@
|
|
|
4182
4182
|
"immutable": true,
|
|
4183
4183
|
"locationInModule": {
|
|
4184
4184
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4185
|
-
"line":
|
|
4185
|
+
"line": 180
|
|
4186
4186
|
},
|
|
4187
4187
|
"name": "targetGroup",
|
|
4188
4188
|
"type": {
|
|
@@ -4196,7 +4196,7 @@
|
|
|
4196
4196
|
"immutable": true,
|
|
4197
4197
|
"locationInModule": {
|
|
4198
4198
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4199
|
-
"line":
|
|
4199
|
+
"line": 182
|
|
4200
4200
|
},
|
|
4201
4201
|
"name": "taskDefinition",
|
|
4202
4202
|
"type": {
|
|
@@ -4220,7 +4220,7 @@
|
|
|
4220
4220
|
"kind": "interface",
|
|
4221
4221
|
"locationInModule": {
|
|
4222
4222
|
"filename": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns.ts",
|
|
4223
|
-
"line":
|
|
4223
|
+
"line": 152
|
|
4224
4224
|
},
|
|
4225
4225
|
"name": "ApplicationLoadBalancedVllmNxDInferenceServiceProps",
|
|
4226
4226
|
"symbolId": "src/vllm-nxd-inference/vllm-nxd-inference-ecs-patterns:ApplicationLoadBalancedVllmNxDInferenceServiceProps"
|
|
@@ -4880,7 +4880,7 @@
|
|
|
4880
4880
|
"kind": "interface",
|
|
4881
4881
|
"locationInModule": {
|
|
4882
4882
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4883
|
-
"line":
|
|
4883
|
+
"line": 42
|
|
4884
4884
|
},
|
|
4885
4885
|
"name": "INeuronxTaskDefinition",
|
|
4886
4886
|
"properties": [
|
|
@@ -4892,7 +4892,7 @@
|
|
|
4892
4892
|
"immutable": true,
|
|
4893
4893
|
"locationInModule": {
|
|
4894
4894
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4895
|
-
"line":
|
|
4895
|
+
"line": 46
|
|
4896
4896
|
},
|
|
4897
4897
|
"name": "compiledModel",
|
|
4898
4898
|
"type": {
|
|
@@ -4907,7 +4907,7 @@
|
|
|
4907
4907
|
"immutable": true,
|
|
4908
4908
|
"locationInModule": {
|
|
4909
4909
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4910
|
-
"line":
|
|
4910
|
+
"line": 43
|
|
4911
4911
|
},
|
|
4912
4912
|
"name": "neuronxInstanceType",
|
|
4913
4913
|
"type": {
|
|
@@ -4922,7 +4922,7 @@
|
|
|
4922
4922
|
"immutable": true,
|
|
4923
4923
|
"locationInModule": {
|
|
4924
4924
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4925
|
-
"line":
|
|
4925
|
+
"line": 45
|
|
4926
4926
|
},
|
|
4927
4927
|
"name": "tasksPerInstance",
|
|
4928
4928
|
"type": {
|
|
@@ -4937,7 +4937,7 @@
|
|
|
4937
4937
|
"immutable": true,
|
|
4938
4938
|
"locationInModule": {
|
|
4939
4939
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
4940
|
-
"line":
|
|
4940
|
+
"line": 44
|
|
4941
4941
|
},
|
|
4942
4942
|
"name": "tensorParallelSize",
|
|
4943
4943
|
"type": {
|
|
@@ -6888,7 +6888,7 @@
|
|
|
6888
6888
|
},
|
|
6889
6889
|
"locationInModule": {
|
|
6890
6890
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
6891
|
-
"line":
|
|
6891
|
+
"line": 57
|
|
6892
6892
|
},
|
|
6893
6893
|
"parameters": [
|
|
6894
6894
|
{
|
|
@@ -6917,7 +6917,7 @@
|
|
|
6917
6917
|
"kind": "class",
|
|
6918
6918
|
"locationInModule": {
|
|
6919
6919
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
6920
|
-
"line":
|
|
6920
|
+
"line": 48
|
|
6921
6921
|
},
|
|
6922
6922
|
"methods": [
|
|
6923
6923
|
{
|
|
@@ -6926,7 +6926,7 @@
|
|
|
6926
6926
|
},
|
|
6927
6927
|
"locationInModule": {
|
|
6928
6928
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
6929
|
-
"line":
|
|
6929
|
+
"line": 92
|
|
6930
6930
|
},
|
|
6931
6931
|
"name": "addContainerWithDefault",
|
|
6932
6932
|
"parameters": [
|
|
@@ -6959,7 +6959,7 @@
|
|
|
6959
6959
|
"immutable": true,
|
|
6960
6960
|
"locationInModule": {
|
|
6961
6961
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
6962
|
-
"line":
|
|
6962
|
+
"line": 55
|
|
6963
6963
|
},
|
|
6964
6964
|
"name": "compiledModel",
|
|
6965
6965
|
"overrides": "aws-cdk-neuronx-patterns.INeuronxTaskDefinition",
|
|
@@ -6974,7 +6974,7 @@
|
|
|
6974
6974
|
"immutable": true,
|
|
6975
6975
|
"locationInModule": {
|
|
6976
6976
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
6977
|
-
"line":
|
|
6977
|
+
"line": 56
|
|
6978
6978
|
},
|
|
6979
6979
|
"name": "linuxParameters",
|
|
6980
6980
|
"protected": true,
|
|
@@ -6989,7 +6989,7 @@
|
|
|
6989
6989
|
"immutable": true,
|
|
6990
6990
|
"locationInModule": {
|
|
6991
6991
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
6992
|
-
"line":
|
|
6992
|
+
"line": 52
|
|
6993
6993
|
},
|
|
6994
6994
|
"name": "neuronxInstanceType",
|
|
6995
6995
|
"overrides": "aws-cdk-neuronx-patterns.INeuronxTaskDefinition",
|
|
@@ -7004,7 +7004,7 @@
|
|
|
7004
7004
|
"immutable": true,
|
|
7005
7005
|
"locationInModule": {
|
|
7006
7006
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7007
|
-
"line":
|
|
7007
|
+
"line": 54
|
|
7008
7008
|
},
|
|
7009
7009
|
"name": "tasksPerInstance",
|
|
7010
7010
|
"overrides": "aws-cdk-neuronx-patterns.INeuronxTaskDefinition",
|
|
@@ -7019,7 +7019,7 @@
|
|
|
7019
7019
|
"immutable": true,
|
|
7020
7020
|
"locationInModule": {
|
|
7021
7021
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7022
|
-
"line":
|
|
7022
|
+
"line": 53
|
|
7023
7023
|
},
|
|
7024
7024
|
"name": "tensorParallelSize",
|
|
7025
7025
|
"overrides": "aws-cdk-neuronx-patterns.INeuronxTaskDefinition",
|
|
@@ -7043,7 +7043,7 @@
|
|
|
7043
7043
|
"kind": "interface",
|
|
7044
7044
|
"locationInModule": {
|
|
7045
7045
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7046
|
-
"line":
|
|
7046
|
+
"line": 34
|
|
7047
7047
|
},
|
|
7048
7048
|
"name": "NeuronxTaskDefinitionProps",
|
|
7049
7049
|
"properties": [
|
|
@@ -7056,7 +7056,7 @@
|
|
|
7056
7056
|
"immutable": true,
|
|
7057
7057
|
"locationInModule": {
|
|
7058
7058
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7059
|
-
"line":
|
|
7059
|
+
"line": 39
|
|
7060
7060
|
},
|
|
7061
7061
|
"name": "compiledModel",
|
|
7062
7062
|
"type": {
|
|
@@ -7079,7 +7079,7 @@
|
|
|
7079
7079
|
"kind": "interface",
|
|
7080
7080
|
"locationInModule": {
|
|
7081
7081
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7082
|
-
"line":
|
|
7082
|
+
"line": 21
|
|
7083
7083
|
},
|
|
7084
7084
|
"name": "NeuronxTaskDefinitionPropsBase",
|
|
7085
7085
|
"properties": [
|
|
@@ -7092,7 +7092,7 @@
|
|
|
7092
7092
|
"immutable": true,
|
|
7093
7093
|
"locationInModule": {
|
|
7094
7094
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7095
|
-
"line":
|
|
7095
|
+
"line": 26
|
|
7096
7096
|
},
|
|
7097
7097
|
"name": "neuronxInstanceType",
|
|
7098
7098
|
"optional": true,
|
|
@@ -7110,7 +7110,7 @@
|
|
|
7110
7110
|
"immutable": true,
|
|
7111
7111
|
"locationInModule": {
|
|
7112
7112
|
"filename": "src/base/aws-ecs-patterns/application-load-balanced-neuronx-service.ts",
|
|
7113
|
-
"line":
|
|
7113
|
+
"line": 31
|
|
7114
7114
|
},
|
|
7115
7115
|
"name": "tensorParallelSize",
|
|
7116
7116
|
"optional": true,
|
|
@@ -11688,6 +11688,6 @@
|
|
|
11688
11688
|
"symbolId": "src/base/server-engine/vllm-engine/vllm-engine-argments:VllmTask"
|
|
11689
11689
|
}
|
|
11690
11690
|
},
|
|
11691
|
-
"version": "0.0.
|
|
11692
|
-
"fingerprint": "
|
|
11691
|
+
"version": "0.0.15",
|
|
11692
|
+
"fingerprint": "Mh68xlHjKpHD8sWSndFAaoJNQL4p3CJOE8CSBiuNeVA="
|
|
11693
11693
|
}
|
package/README.md
CHANGED
|
@@ -8,6 +8,19 @@ This library provides high-level architectural patterns using neuronx (e.g. Infe
|
|
|
8
8
|
- vLLM with NxD Inference on ALB & ECS on EC2
|
|
9
9
|
- Neuronx Compiler
|
|
10
10
|
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# NPM
|
|
15
|
+
npm i aws-cdk-neuronx-patterns
|
|
16
|
+
|
|
17
|
+
# yarn
|
|
18
|
+
yarn add aws-cdk-neuronx-patterns
|
|
19
|
+
|
|
20
|
+
# PNPM
|
|
21
|
+
pnpm i aws-cdk-neuronx-patterns
|
|
22
|
+
```
|
|
23
|
+
|
|
11
24
|
## vLLM NxD Inference on ALB & ECS on EC2
|
|
12
25
|
|
|
13
26
|
> [!WARNING]
|
|
@@ -41,5 +41,5 @@ class NeuronxBatchComputeEnvironment extends constructs_1.Construct {
|
|
|
41
41
|
}
|
|
42
42
|
exports.NeuronxBatchComputeEnvironment = NeuronxBatchComputeEnvironment;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
NeuronxBatchComputeEnvironment[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchComputeEnvironment", version: "0.0.
|
|
44
|
+
NeuronxBatchComputeEnvironment[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchComputeEnvironment", version: "0.0.15" };
|
|
45
45
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC1jb21wdXRlLWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvYXdzLWJhdGNoL25ldXJvbngtYmF0Y2gtY29tcHV0ZS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtDQUErQztBQUMvQyxpREFBcUQ7QUFFckQsMkNBQXVDO0FBQ3ZDLHdDQUF5RDtBQVF6RDs7R0FFRztBQUNILE1BQWEsOEJBQ1gsU0FBUSxzQkFBUztJQVdqQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUEwQztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUk7WUFDN0I7Z0JBQ0UsS0FBSyxFQUFFLElBQUkscUNBQTJCLENBQ3BDLElBQUksRUFDSiw2QkFBNkIsQ0FDOUI7Z0JBQ0QsU0FBUyxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO2FBQ2hEO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQ3ZELElBQUksRUFDSixVQUFVLEVBQ1Y7WUFDRSxHQUFHLEtBQUs7WUFDUixNQUFNO1NBQ1AsQ0FDRixDQUFDO1FBQ0YsSUFDRSxLQUFLLENBQUMsY0FBYztZQUNwQixLQUFLLENBQUMsY0FBYyxZQUFZLHdCQUFjLEVBQzlDLENBQUM7WUFFQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUNwQixDQUFDLG1CQUFtQixDQUNuQix5Q0FBeUMsRUFDekMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDekMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztRQUNuRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFhLENBQUM7SUFDbEQsQ0FBQztJQUNELGtCQUFrQixDQUFDLE1BQXFCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7QUExREgsd0VBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgUmVzb3VyY2VFbnZpcm9ubWVudCwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGJhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYmF0Y2hcIjtcbmltcG9ydCB7IExhdW5jaFRlbXBsYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IElSb2xlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2UgfSBmcm9tIFwiLi4vbmV1cm9ueFwiO1xuXG4vKipcbiAqIFByb3BzIG9mIE5ldXJvbnhCYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXVyb254QmF0Y2hDb21wdXRlRW52aXJvbm1lbnRQcm9wc1xuICBleHRlbmRzIGJhdGNoLk1hbmFnZWRFYzJFY3NDb21wdXRlRW52aXJvbm1lbnRQcm9wcyB7fVxuXG4vKipcbiAqIE5ldXJvbnggYmF0Y2ggY29uc3RydWN0LlxuICovXG5leHBvcnQgY2xhc3MgTmV1cm9ueEJhdGNoQ29tcHV0ZUVudmlyb25tZW50XG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgYmF0Y2guSUNvbXB1dGVFbnZpcm9ubWVudFxue1xuICByZWFkb25seSBjb21wdXRlRW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbXB1dGVFbnZpcm9ubWVudEFybjogc3RyaW5nO1xuICByZWFkb25seSBzZXJ2aWNlUm9sZT86IElSb2xlIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IGVudjogUmVzb3VyY2VFbnZpcm9ubWVudDtcbiAgcmVhZG9ubHkgaW5zdGFuY2VSb2xlOiBJUm9sZTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogYmF0Y2guTWFuYWdlZEVjMkVjc0NvbXB1dGVFbnZpcm9ubWVudDtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXVyb254QmF0Y2hDb21wdXRlRW52aXJvbm1lbnRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGltYWdlcyA9IHByb3BzLmltYWdlcyA/PyBbXG4gICAgICB7XG4gICAgICAgIGltYWdlOiBuZXcgTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2VcIixcbiAgICAgICAgKSxcbiAgICAgICAgaW1hZ2VUeXBlOiBiYXRjaC5FY3NNYWNoaW5lSW1hZ2VUeXBlLkVDU19BTDIwMjMsXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBiYXRjaC5NYW5hZ2VkRWMyRWNzQ29tcHV0ZUVudmlyb25tZW50KFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGltYWdlcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBpZiAoXG4gICAgICBwcm9wcy5sYXVuY2hUZW1wbGF0ZSAmJlxuICAgICAgcHJvcHMubGF1bmNoVGVtcGxhdGUgaW5zdGFuY2VvZiBMYXVuY2hUZW1wbGF0ZVxuICAgICkge1xuICAgICAgKFxuICAgICAgICB0aGlzLnJlc291cmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGJhdGNoLkNmbkNvbXB1dGVFbnZpcm9ubWVudFxuICAgICAgKS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFxuICAgICAgICBcIkNvbXB1dGVSZXNvdXJjZXMuTGF1bmNoVGVtcGxhdGUuVmVyc2lvblwiLFxuICAgICAgICBwcm9wcy5sYXVuY2hUZW1wbGF0ZS5sYXRlc3RWZXJzaW9uTnVtYmVyLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXB1dGVFbnZpcm9ubWVudEFybiA9IHRoaXMucmVzb3VyY2UuY29tcHV0ZUVudmlyb25tZW50QXJuO1xuICAgIHRoaXMuY29tcHV0ZUVudmlyb25tZW50TmFtZSA9IHRoaXMucmVzb3VyY2UuY29tcHV0ZUVudmlyb25tZW50TmFtZTtcbiAgICB0aGlzLmVuYWJsZWQgPSB0aGlzLnJlc291cmNlLmVuYWJsZWQ7XG4gICAgdGhpcy5lbnYgPSB0aGlzLnJlc291cmNlLmVudjtcbiAgICB0aGlzLnNlcnZpY2VSb2xlID0gdGhpcy5yZXNvdXJjZS5zZXJ2aWNlUm9sZTtcbiAgICB0aGlzLnN0YWNrID0gdGhpcy5yZXNvdXJjZS5zdGFjaztcbiAgICB0aGlzLmluc3RhbmNlUm9sZSA9IHRoaXMucmVzb3VyY2UuaW5zdGFuY2VSb2xlITtcbiAgfVxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBSZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocG9saWN5KTtcbiAgfVxufVxuIl19
|
|
@@ -55,5 +55,5 @@ class NeuronxBatchEcsJobDefinition extends constructs_1.Construct {
|
|
|
55
55
|
}
|
|
56
56
|
exports.NeuronxBatchEcsJobDefinition = NeuronxBatchEcsJobDefinition;
|
|
57
57
|
_a = JSII_RTTI_SYMBOL_1;
|
|
58
|
-
NeuronxBatchEcsJobDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchEcsJobDefinition", version: "0.0.
|
|
58
|
+
NeuronxBatchEcsJobDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatchEcsJobDefinition", version: "0.0.15" };
|
|
59
59
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC1lY3Mtam9iLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9hd3MtYmF0Y2gvbmV1cm9ueC1iYXRjaC1lY3Mtam9iLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSwrQ0FBK0M7QUFFL0MsMkNBQXVDO0FBWXZDOztHQUVHO0FBQ0gsTUFBYSw0QkFDWCxTQUFRLHNCQUFTO0lBYWpCLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXdDO1FBRXhDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxlQUFlLEdBQ25CLEtBQUssQ0FBQyxlQUFlO1lBQ3JCLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxlQUFlLENBQUMsVUFBVSxDQUN4QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDWixNQUFNLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLEtBQUs7U0FDekQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsUUFBUSxFQUFFLGNBQWMsS0FBSyxFQUFFO1lBQy9CLGFBQWEsRUFBRSxjQUFjLEtBQUssRUFBRTtZQUNwQyxXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUk7Z0JBQzNCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMzRCxHQUFHLEtBQUs7WUFDUixTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQzVDLElBQUksRUFDSixxQkFBcUIsRUFDckI7Z0JBQ0UsR0FBRyxLQUFLO2dCQUNSLGVBQWU7YUFDaEIsQ0FDRjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ3JELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxNQUFxQjtRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxRQUE2QjtRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxRQUFvQixFQUFFLEtBQXNCO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOztBQW5FSCxvRUFvRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEdXJhdGlvbixcbiAgUmVtb3ZhbFBvbGljeSxcbiAgUmVzb3VyY2VFbnZpcm9ubWVudCxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgYmF0Y2ggZnJvbSBcImF3cy1jZGstbGliL2F3cy1iYXRjaFwiO1xuaW1wb3J0IHsgSUdyYW50YWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSU5ldXJvbnhJbnN0YW5jZVR5cGUgfSBmcm9tIFwiLi4vbmV1cm9ueFwiO1xuXG4vKipcbiAqIFByb3BzIG9mIE5ldXJvbnhCYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXVyb254QmF0Y2hFY3NKb2JEZWZpbml0aW9uUHJvcHNcbiAgZXh0ZW5kcyBiYXRjaC5FY3NFYzJDb250YWluZXJEZWZpbml0aW9uUHJvcHMsXG4gICAgYmF0Y2guSm9iRGVmaW5pdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgbmV1cm9ueEluc3RhbmNlVHlwZTogSU5ldXJvbnhJbnN0YW5jZVR5cGU7XG59XG5cbi8qKlxuICogTmV1cm9ueCBiYXRjaCBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXVyb254QmF0Y2hFY3NKb2JEZWZpbml0aW9uXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgYmF0Y2guSUpvYkRlZmluaXRpb25cbntcbiAgcmVhZG9ubHkgam9iRGVmaW5pdGlvbkFybjogc3RyaW5nO1xuICByZWFkb25seSBqb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgcmVhZG9ubHkgcmV0cnlBdHRlbXB0cz86IG51bWJlcjtcbiAgcmVhZG9ubHkgcmV0cnlTdHJhdGVnaWVzOiBiYXRjaC5SZXRyeVN0cmF0ZWd5W107XG4gIHJlYWRvbmx5IHNjaGVkdWxpbmdQcmlvcml0eT86IG51bWJlcjtcbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IGVudjogUmVzb3VyY2VFbnZpcm9ubWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogYmF0Y2guRWNzSm9iRGVmaW5pdGlvbjtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXVyb254QmF0Y2hFY3NKb2JEZWZpbml0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgbGludXhQYXJhbWV0ZXJzID1cbiAgICAgIHByb3BzLmxpbnV4UGFyYW1ldGVycyA/P1xuICAgICAgbmV3IGJhdGNoLkxpbnV4UGFyYW1ldGVycyh0aGlzLCBcIkxpbnV4UGFyYW1ldGVyc1wiKTtcbiAgICBsaW51eFBhcmFtZXRlcnMuYWRkRGV2aWNlcyhcbiAgICAgIC4uLkFycmF5LmZyb20oe1xuICAgICAgICBsZW5ndGg6IHByb3BzLm5ldXJvbnhJbnN0YW5jZVR5cGUuYWNjZWxlcmF0b3JDaGlwcy5jaGlwcyxcbiAgICAgIH0pLm1hcCgoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIGhvc3RQYXRoOiBgL2Rldi9uZXVyb24ke2luZGV4fWAsXG4gICAgICAgIGNvbnRhaW5lclBhdGg6IGAvZGV2L25ldXJvbiR7aW5kZXh9YCxcbiAgICAgICAgcGVybWlzc2lvbnM6IFtcbiAgICAgICAgICBiYXRjaC5EZXZpY2VQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgYmF0Y2guRGV2aWNlUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgXSxcbiAgICAgIH0pKSxcbiAgICApO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgYmF0Y2guRWNzSm9iRGVmaW5pdGlvbih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgY29udGFpbmVyOiBuZXcgYmF0Y2guRWNzRWMyQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJDb250YWluZXJEZWZpbml0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICBsaW51eFBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH0pO1xuICAgIHRoaXMuam9iRGVmaW5pdGlvbkFybiA9IHRoaXMucmVzb3VyY2Uuam9iRGVmaW5pdGlvbkFybjtcbiAgICB0aGlzLmpvYkRlZmluaXRpb25OYW1lID0gdGhpcy5yZXNvdXJjZS5qb2JEZWZpbml0aW9uTmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLnJlc291cmNlLnBhcmFtZXRlcnM7XG4gICAgdGhpcy5yZXRyeUF0dGVtcHRzID0gdGhpcy5yZXNvdXJjZS5yZXRyeUF0dGVtcHRzO1xuICAgIHRoaXMucmV0cnlTdHJhdGVnaWVzID0gdGhpcy5yZXNvdXJjZS5yZXRyeVN0cmF0ZWdpZXM7XG4gICAgdGhpcy5zY2hlZHVsaW5nUHJpb3JpdHkgPSB0aGlzLnJlc291cmNlLnNjaGVkdWxpbmdQcmlvcml0eTtcbiAgICB0aGlzLnRpbWVvdXQgPSB0aGlzLnJlc291cmNlLnRpbWVvdXQ7XG4gICAgdGhpcy5zdGFjayA9IHRoaXMucmVzb3VyY2Uuc3RhY2s7XG4gICAgdGhpcy5lbnYgPSB0aGlzLnJlc291cmNlLmVudjtcbiAgfVxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBSZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocG9saWN5KTtcbiAgfVxuICBhZGRSZXRyeVN0cmF0ZWd5KHN0cmF0ZWd5OiBiYXRjaC5SZXRyeVN0cmF0ZWd5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5hZGRSZXRyeVN0cmF0ZWd5KHN0cmF0ZWd5KTtcbiAgfVxuICAvKipcbiAgICogR3JhbnRzIHRoZSBgYmF0Y2g6c3VibWl0Sm9iYCBwZXJtaXNzaW9uIHRvIHRoZSBpZGVudGl0eSBvbiBib3RoIHRoaXMgam9iIGRlZmluaXRpb24gYW5kIHRoZSBgcXVldWVgXG4gICAqL1xuICBncmFudFN1Ym1pdEpvYihpZGVudGl0eTogSUdyYW50YWJsZSwgcXVldWU6IGJhdGNoLklKb2JRdWV1ZSk6IHZvaWQge1xuICAgIHRoaXMucmVzb3VyY2UuZ3JhbnRTdWJtaXRKb2IoaWRlbnRpdHksIHF1ZXVlKTtcbiAgfVxufVxuIl19
|
|
@@ -58,5 +58,5 @@ class NeuronxBatch extends constructs_1.Construct {
|
|
|
58
58
|
}
|
|
59
59
|
exports.NeuronxBatch = NeuronxBatch;
|
|
60
60
|
_a = JSII_RTTI_SYMBOL_1;
|
|
61
|
-
NeuronxBatch[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatch", version: "0.0.
|
|
61
|
+
NeuronxBatch[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxBatch", version: "0.0.15" };
|
|
62
62
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1iYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXNlL2F3cy1iYXRjaC9uZXVyb254LWJhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsK0NBQStDO0FBQy9DLDJDQUEyQztBQUMzQywyQ0FBdUM7QUFDdkMsd0NBQStFO0FBb0MvRTs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBR3pDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3BFLFlBQVksRUFBRTtnQkFDWjtvQkFDRSxVQUFVLEVBQUUsV0FBVztvQkFDdkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDbEU7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FDakUsSUFBSSxFQUNKLG9CQUFvQixFQUNwQjtZQUNFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDO1lBQ3ZELHlCQUF5QixFQUFFLEtBQUs7WUFDaEMsTUFBTSxFQUFFO2dCQUNOO29CQUNFLEtBQUssRUFBRSxJQUFJLHFDQUEyQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUM7b0JBQzNELFNBQVMsRUFBRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBVTtpQkFDaEQ7YUFDRjtZQUNELGNBQWM7WUFDZCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUM5QixDQUFDLG1CQUFtQixDQUNuQix5Q0FBeUMsRUFDekMsY0FBYyxDQUFDLG1CQUFtQixDQUNuQyxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQ25CLEtBQUssQ0FBQyxlQUFlO1lBQ3JCLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxlQUFlLENBQUMsVUFBVSxDQUN4QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDWixNQUFNLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLEtBQUs7U0FDekQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsUUFBUSxFQUFFLGNBQWMsS0FBSyxFQUFFO1lBQy9CLGFBQWEsRUFBRSxjQUFjLEtBQUssRUFBRTtZQUNwQyxXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUk7Z0JBQzNCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNyRSxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQzVDLElBQUksRUFDSixxQkFBcUIsRUFDckI7Z0JBQ0UsR0FBRyxLQUFLO2dCQUNSLGVBQWU7YUFDaEIsQ0FDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBOURILG9DQStEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpemUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGJhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYmF0Y2hcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElOZXVyb254SW5zdGFuY2VUeXBlLCBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2UgfSBmcm9tIFwiLi4vbmV1cm9ueFwiO1xuXG4vKipcbiAqIFByb3BzIG9mIE5ldXJvbnhCYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXVyb254QmF0Y2hQcm9wc1xuICBleHRlbmRzIGJhdGNoLkVjc0VjMkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgaW4gd2hpY2ggdGhpcyB3aWxsIGxhdW5jaCB3b3JrZXIgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIHR5cGUgb2Ygd29ya2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV1cm9ueEluc3RhbmNlVHlwZTogSU5ldXJvbnhJbnN0YW5jZVR5cGU7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCB2b2x1bWUgb2Ygd29ya2VyIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCAtIE4gYmlsaW9uIHBhcmFtZXRlcnMgKiA1R2lCIEVCU1xuICAgKi9cbiAgcmVhZG9ubHkgdm9sdW1lU2l6ZTogU2l6ZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBzcG90IGluc3RhbmNlcy5cbiAgICogU3BvdCBpbnN0YW5jZXMgYXJlIGxlc3MgZXhwZW5zaXZlIEVDMiBpbnN0YW5jZXMgdGhhdCBjYW4gYmUgcmVjbGFpbWVkIGJ5IEVDMiBhdCBhbnkgdGltZTtcbiAgICogeW91ciBqb2Igd2lsbCBiZSBnaXZlbiB0d28gbWludXRlcyBvZiBub3RpY2UgYmVmb3JlIHJlY2xhbWF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3BvdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgVlBDIFN1Ym5ldHMgdGhpcyBDb21wdXRlIEVudmlyb25tZW50IHdpbGwgbGF1bmNoIGluc3RhbmNlcyBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBuZXcgc3VibmV0cyB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xufVxuXG4vKipcbiAqIE5ldXJvbnggYmF0Y2ggY29uc3RydWN0LlxuICovXG5leHBvcnQgY2xhc3MgTmV1cm9ueEJhdGNoIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgY29tcHV0ZUVudmlyb25tZW50OiBiYXRjaC5NYW5hZ2VkRWMyRWNzQ29tcHV0ZUVudmlyb25tZW50O1xuICByZWFkb25seSBqb2JEZWZpbml0aW9uOiBiYXRjaC5FY3NKb2JEZWZpbml0aW9uO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV1cm9ueEJhdGNoUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGxhdW5jaFRlbXBsYXRlID0gbmV3IGVjMi5MYXVuY2hUZW1wbGF0ZSh0aGlzLCBcIkxhdW5jaFRlbXBsYXRlXCIsIHtcbiAgICAgIGJsb2NrRGV2aWNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZGV2aWNlTmFtZTogXCIvZGV2L3h2ZGFcIixcbiAgICAgICAgICB2b2x1bWU6IGVjMi5CbG9ja0RldmljZVZvbHVtZS5lYnMocHJvcHMudm9sdW1lU2l6ZS50b0dpYmlieXRlcygpKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5jb21wdXRlRW52aXJvbm1lbnQgPSBuZXcgYmF0Y2guTWFuYWdlZEVjMkVjc0NvbXB1dGVFbnZpcm9ubWVudChcbiAgICAgIHRoaXMsXG4gICAgICBcIkNvbXB1dGVFbnZpcm9ubWVudFwiLFxuICAgICAge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czogcHJvcHMudnBjU3VibmV0cyxcbiAgICAgICAgaW5zdGFuY2VUeXBlczogW3Byb3BzLm5ldXJvbnhJbnN0YW5jZVR5cGUuaW5zdGFuY2VUeXBlXSxcbiAgICAgICAgdXNlT3B0aW1hbEluc3RhbmNlQ2xhc3NlczogZmFsc2UsXG4gICAgICAgIGltYWdlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGltYWdlOiBuZXcgTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlKHRoaXMsIFwiTWFjaGluSW1hZ2VcIiksXG4gICAgICAgICAgICBpbWFnZVR5cGU6IGJhdGNoLkVjc01hY2hpbmVJbWFnZVR5cGUuRUNTX0FMMjAyMyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBsYXVuY2hUZW1wbGF0ZSxcbiAgICAgICAgc3BvdDogcHJvcHMuc3BvdCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICAoXG4gICAgICB0aGlzLmNvbXB1dGVFbnZpcm9ubWVudC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBiYXRjaC5DZm5Db21wdXRlRW52aXJvbm1lbnRcbiAgICApLmFkZFByb3BlcnR5T3ZlcnJpZGUoXG4gICAgICBcIkNvbXB1dGVSZXNvdXJjZXMuTGF1bmNoVGVtcGxhdGUuVmVyc2lvblwiLFxuICAgICAgbGF1bmNoVGVtcGxhdGUubGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICApO1xuICAgIGNvbnN0IGxpbnV4UGFyYW1ldGVycyA9XG4gICAgICBwcm9wcy5saW51eFBhcmFtZXRlcnMgPz9cbiAgICAgIG5ldyBiYXRjaC5MaW51eFBhcmFtZXRlcnModGhpcywgXCJMaW51eFBhcmFtZXRlcnNcIik7XG4gICAgbGludXhQYXJhbWV0ZXJzLmFkZERldmljZXMoXG4gICAgICAuLi5BcnJheS5mcm9tKHtcbiAgICAgICAgbGVuZ3RoOiBwcm9wcy5uZXVyb254SW5zdGFuY2VUeXBlLmFjY2VsZXJhdG9yQ2hpcHMuY2hpcHMsXG4gICAgICB9KS5tYXAoKF8sIGluZGV4KSA9PiAoe1xuICAgICAgICBob3N0UGF0aDogYC9kZXYvbmV1cm9uJHtpbmRleH1gLFxuICAgICAgICBjb250YWluZXJQYXRoOiBgL2Rldi9uZXVyb24ke2luZGV4fWAsXG4gICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgYmF0Y2guRGV2aWNlUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIGJhdGNoLkRldmljZVBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIF0sXG4gICAgICB9KSksXG4gICAgKTtcbiAgICB0aGlzLmpvYkRlZmluaXRpb24gPSBuZXcgYmF0Y2guRWNzSm9iRGVmaW5pdGlvbih0aGlzLCBcIkpvYkRlZmluaXRpb25cIiwge1xuICAgICAgY29udGFpbmVyOiBuZXcgYmF0Y2guRWNzRWMyQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJDb250YWluZXJEZWZpbml0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICBsaW51eFBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -29,6 +29,9 @@ class NeuronxTaskDefinition extends ecs.Ec2TaskDefinition {
|
|
|
29
29
|
containerPath: `/dev/neuron${index}`,
|
|
30
30
|
permissions: [ecs.DevicePermission.READ, ecs.DevicePermission.WRITE],
|
|
31
31
|
})));
|
|
32
|
+
if (this.executionRole) {
|
|
33
|
+
props.compiledModel.bucket.grantRead(this.executionRole);
|
|
34
|
+
}
|
|
32
35
|
props.compiledModel.bucket.grantRead(this.taskRole);
|
|
33
36
|
this.compiledModel = props.compiledModel;
|
|
34
37
|
this.neuronxInstanceType = neuronxInstanceType;
|
|
@@ -36,7 +39,7 @@ class NeuronxTaskDefinition extends ecs.Ec2TaskDefinition {
|
|
|
36
39
|
this.tasksPerInstance = tasksPerInstance;
|
|
37
40
|
}
|
|
38
41
|
addContainerWithDefault(id, props) {
|
|
39
|
-
|
|
42
|
+
const container = super.addContainer(id, {
|
|
40
43
|
logging: ecs.LogDriver.awsLogs({
|
|
41
44
|
streamPrefix: id,
|
|
42
45
|
}),
|
|
@@ -45,11 +48,17 @@ class NeuronxTaskDefinition extends ecs.Ec2TaskDefinition {
|
|
|
45
48
|
this.tasksPerInstance),
|
|
46
49
|
...props,
|
|
47
50
|
});
|
|
51
|
+
container.addMountPoints({
|
|
52
|
+
sourceVolume: "model",
|
|
53
|
+
containerPath: "/opt/ml/model",
|
|
54
|
+
readOnly: false,
|
|
55
|
+
});
|
|
56
|
+
return container;
|
|
48
57
|
}
|
|
49
58
|
}
|
|
50
59
|
exports.NeuronxTaskDefinition = NeuronxTaskDefinition;
|
|
51
60
|
_a = JSII_RTTI_SYMBOL_1;
|
|
52
|
-
NeuronxTaskDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxTaskDefinition", version: "0.0.
|
|
61
|
+
NeuronxTaskDefinition[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronxTaskDefinition", version: "0.0.15" };
|
|
53
62
|
class ApplicationLoadBalancedNeuronxService extends aws_ecs_patterns_1.ApplicationLoadBalancedEc2Service {
|
|
54
63
|
constructor(scope, id, props) {
|
|
55
64
|
const neuronxTaskDefinition = props.taskDefinition;
|
|
@@ -58,16 +67,47 @@ class ApplicationLoadBalancedNeuronxService extends aws_ecs_patterns_1.Applicati
|
|
|
58
67
|
throw new Error("taskDefinition must extend NeuronxTaskDefinition");
|
|
59
68
|
}
|
|
60
69
|
super(scope, id, {
|
|
61
|
-
healthCheckGracePeriod: props.healthCheckGracePeriod ?? aws_cdk_lib_1.Duration.minutes(
|
|
70
|
+
healthCheckGracePeriod: props.healthCheckGracePeriod ?? aws_cdk_lib_1.Duration.minutes(15),
|
|
62
71
|
...props,
|
|
63
72
|
});
|
|
64
73
|
const cluster = this.getDefaultCluster(this, props.vpc);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
74
|
+
// install and mount mountpoint for s3
|
|
75
|
+
const userData = aws_ec2_1.UserData.forLinux();
|
|
76
|
+
userData.addCommands(`
|
|
77
|
+
#!/bin/bash -e
|
|
78
|
+
|
|
79
|
+
# Install Mountpoint
|
|
80
|
+
MP_RPM=$(mktemp --suffix=.rpm)
|
|
81
|
+
curl https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm > $MP_RPM
|
|
82
|
+
|
|
83
|
+
# cloud-init installs conflict with SSM agent: https://github.com/amazonlinux/amazon-linux-2023/issues/397
|
|
84
|
+
attempt=0
|
|
85
|
+
max_attempts=5
|
|
86
|
+
until dnf install -y $MP_RPM; do
|
|
87
|
+
attempt=$((attempt + 1))
|
|
88
|
+
if [ $attempt -ge $max_attempts ]; then
|
|
89
|
+
echo "Failed to install mount-s3 after $max_attempts attempts. Exiting."
|
|
90
|
+
exit 1
|
|
91
|
+
fi
|
|
92
|
+
echo "dnf install mount-s3 failed (attempt $attempt/$max_attempts), retrying in 3 seconds..."
|
|
93
|
+
sleep 3
|
|
94
|
+
done
|
|
95
|
+
|
|
96
|
+
rm $MP_RPM
|
|
97
|
+
|
|
98
|
+
# Setup the fstab file and create the mount
|
|
99
|
+
mkdir --parents /mnt/${neuronxTaskDefinition.compiledModel.bucket.bucketName}
|
|
100
|
+
mount-s3 ${neuronxTaskDefinition.compiledModel.bucket.bucketName} /mnt/${neuronxTaskDefinition.compiledModel.bucket.bucketName} --allow-other --file-mode=644 --dir-mode=755`);
|
|
101
|
+
neuronxTaskDefinition.addVolume({
|
|
102
|
+
name: "model",
|
|
103
|
+
host: {
|
|
104
|
+
sourcePath: `/mnt/${neuronxTaskDefinition.compiledModel.bucket.bucketName}`,
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
const volumeSize = Math.ceil(neuronx_1.PytorchTrainingNeuronxImage.size.toGibibytes() +
|
|
68
108
|
neuronx_1.NeuronOptimizedMachineImage.size.toGibibytes());
|
|
69
|
-
|
|
70
|
-
|
|
109
|
+
const autoScalingGroup = new aws_autoscaling_1.AutoScalingGroup(this, "AutoScalingGroup", {
|
|
110
|
+
vpc: cluster.vpc,
|
|
71
111
|
instanceType: neuronxTaskDefinition.neuronxInstanceType.instanceType,
|
|
72
112
|
machineImage: new neuronx_1.NeuronOptimizedMachineImage(this, "NeuronOptimizedMachineImage"),
|
|
73
113
|
blockDevices: [
|
|
@@ -79,12 +119,18 @@ class ApplicationLoadBalancedNeuronxService extends aws_ecs_patterns_1.Applicati
|
|
|
79
119
|
}),
|
|
80
120
|
},
|
|
81
121
|
],
|
|
82
|
-
|
|
122
|
+
userData,
|
|
123
|
+
desiredCapacity: Math.ceil((props.desiredCount ?? 1) / neuronxTaskDefinition.tasksPerInstance),
|
|
124
|
+
});
|
|
125
|
+
autoScalingGroup.connections.allowFrom(this.loadBalancer, aws_ec2_1.Port.tcpRange(32768, 60999));
|
|
126
|
+
neuronxTaskDefinition.compiledModel.bucket.grantRead(autoScalingGroup);
|
|
127
|
+
const provider = new ecs.AsgCapacityProvider(this, "AsgCapacityProvider", {
|
|
128
|
+
autoScalingGroup,
|
|
83
129
|
});
|
|
84
|
-
cluster.
|
|
130
|
+
cluster.addAsgCapacityProvider(provider);
|
|
85
131
|
}
|
|
86
132
|
}
|
|
87
133
|
exports.ApplicationLoadBalancedNeuronxService = ApplicationLoadBalancedNeuronxService;
|
|
88
134
|
_b = JSII_RTTI_SYMBOL_1;
|
|
89
|
-
ApplicationLoadBalancedNeuronxService[_b] = { fqn: "aws-cdk-neuronx-patterns.ApplicationLoadBalancedNeuronxService", version: "0.0.
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbG9hZC1iYWxhbmNlZC1uZXVyb254LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9hd3MtZWNzLXBhdHRlcm5zL2FwcGxpY2F0aW9uLWxvYWQtYmFsYW5jZWQtbmV1cm9ueC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlFQUdxQztBQUNyQyxpREFBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLG1FQUdzQztBQUV0Qyx3Q0FJb0I7QUE4QnBCLE1BQWEscUJBQ1gsU0FBUSxHQUFHLENBQUMsaUJBQWlCO0lBUTdCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsTUFBTSxtQkFBbUIsR0FDdkIsS0FBSyxDQUFDLG1CQUFtQixJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUM7UUFDM0UsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sZ0JBQWdCLEdBQ3BCLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLG9CQUFvQixFQUFFO2dCQUNwQixHQUFHLENBQUMsS0FBSyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztnQkFDckMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FDOUIscUJBQXFCLGdCQUFnQixFQUFFLENBQ3hDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FDN0IsR0FBRyxLQUFLLENBQUMsSUFBSSxD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QVUsRUFBRTt3QkFDeEMsVUFBVSxFQUFFLHFDQUFtQixDQUFDLEdBQUc7d0JBQ25DLFNBQVMsRUFBRSxJQUFJO3FCQUNoQixDQUFDO2lCQUNIO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FDcEIsQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLGdCQUFnQixDQUNuRTtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUMzQixJQUFJLENBQUMsWUFBWSxFQUNqQixjQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7O0FBbERILHNGQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCbG9ja0RldmljZVZvbHVtZSxcbiAgRWJzRGV2aWNlVm9sdW1lVHlwZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHsgUG9ydCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkRWMyU2VydmljZSxcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRFYzJTZXJ2aWNlUHJvcHMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzLXBhdHRlcm5zXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgSU5ldXJvbnhJbnN0YW5jZVR5cGUsXG4gIE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZSxcbiAgUHl0b3JjaFRyYWluaW5nTmV1cm9ueEltYWdlLFxufSBmcm9tIFwiLi4vbmV1cm9ueFwiO1xuaW1wb3J0IHsgTmV1cm9ueENvbXBpbGVkTW9kZWwgfSBmcm9tIFwiLi4vbmV1cm9ueC1jb21waWxlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ldXJvbnhUYXNrRGVmaW5pdGlvblByb3BzQmFzZVxuICBleHRlbmRzIGVjcy5FYzJUYXNrRGVmaW5pdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSB0eXBlIG9mIGNvbXBpbGUgd29ya2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV1cm9ueEluc3RhbmNlVHlwZT86IElOZXVyb254SW5zdGFuY2VUeXBlO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0ZW5zb3IgcGFyYWxsZWwgc2l6ZS5cbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSB0ZW5zb3JQYXJhbGxlbFNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV1cm9ueFRhc2tEZWZpbml0aW9uUHJvcHNcbiAgZXh0ZW5kcyBOZXVyb254VGFza0RlZmluaXRpb25Qcm9wc0Jhc2Uge1xuICAvKipcbiAgICogVGhlIG1vZGVsIHRvIGJlIGNvbXBpbGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGlsZWRNb2RlbDogTmV1cm9ueENvbXBpbGVkTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5ldXJvbnhUYXNrRGVmaW5pdGlvbiBleHRlbmRzIGVjcy5JRWMyVGFza0RlZmluaXRpb24ge1xuICByZWFkb25seSBuZXVyb254SW5zdGFuY2VUeXBlOiBJTmV1cm9ueEluc3RhbmNlVHlwZTtcbiAgcmVhZG9ubHkgdGVuc29yUGFyYWxsZWxTaXplOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRhc2tzUGVySW5zdGFuY2U6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29tcGlsZWRNb2RlbDogTmV1cm9ueENvbXBpbGVkTW9kZWw7XG59XG5leHBvcnQgY2xhc3MgTmV1cm9ueFRhc2tEZWZpbml0aW9uXG4gIGV4dGVuZHMgZWNzLkVjMlRhc2tEZWZpbml0aW9uXG4gIGltcGxlbWVudHMgSU5ldXJvbnhUYXNrRGVmaW5pdGlvblxue1xuICByZWFkb25seSBuZXVyb254SW5zdGFuY2VUeXBlOiBJTmV1cm9ueEluc3RhbmNlVHlwZTtcbiAgcmVhZG9ubHkgdGVuc29yUGFyYWxsZWxTaXplOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRhc2tzUGVySW5zdGFuY2U6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29tcGlsZWRNb2RlbDogTmV1cm9ueENvbXBpbGVkTW9kZWw7XG4gIHByb3RlY3RlZCByZWFkb25seSBsaW51eFBhcmFtZXRlcnM6IGVjcy5MaW51eFBhcmFtZXRlcnM7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXVyb254VGFza0RlZmluaXRpb25Qcm9wcykge1xuICAgIGNvbnN0IG5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgICAgcHJvcHMubmV1cm9ueEluc3RhbmNlVHlwZSA/PyBwcm9wcy5jb21waWxlZE1vZGVsLmNvbXBpbGVUaW1lSW5zdGFuY2VUeXBlO1xuICAgIGNvbnN0IHRlbnNvclBhcmFsbGVsU2l6ZSA9IHByb3BzLnRlbnNvclBhcmFsbGVsU2l6ZSA/PyAxO1xuICAgIGNvbnN0IHRhc2tzUGVySW5zdGFuY2UgPVxuICAgICAgbmV1cm9ueEluc3RhbmNlVHlwZS5hY2NlbGVyYXRvckNoaXBzLm5ldXJvbnhDb3JlcyAvIHRlbnNvclBhcmFsbGVsU2l6ZTtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcGxhY2VtZW50Q29uc3RyYWludHM6IFtcbiAgICAgICAgLi4uKHByb3BzLnBsYWNlbWVudENvbnN0cmFpbnRzID8/IFtdKSxcbiAgICAgICAgZWNzLlBsYWNlbWVudENvbnN0cmFpbnQubWVtYmVyT2YoXG4gICAgICAgICAgYHJ1bm5pbmdUYXNrc0NvdW50PCR7dGFza3NQZXJJbnN0YW5jZX1gLFxuICAgICAgICApLFxuICAgICAgXSxcbiAgICB9KTtcbiAgICB0aGlzLmxpbnV4UGFyYW1ldGVycyA9IG5ldyBlY3MuTGludXhQYXJhbWV0ZXJzKHRoaXMsIFwiTGludXhQYXJhbWV0ZXJzXCIpO1xuICAgIHRoaXMubGludXhQYXJhbWV0ZXJzLmFkZERldmljZXMoXG4gICAgICAuLi5BcnJheS5mcm9tKHtcbiAgICAgICAgbGVuZ3RoOiBuZXVyb254SW5zdGFuY2VUeXBlPy5hY2NlbGVyYXRvckNoaXBzLmNoaXBzID8/IDEsXG4gICAgICB9KS5tYXA8ZWNzLkRldmljZT4oKF8sIGluZGV4KSA9PiAoe1xuICAgICAgICBob3N0UGF0aDogYC9kZXYvbmV1cm9uJHtpbmRleH1gLFxuICAgICAgICBjb250YWluZXJQYXRoOiBgL2Rldi9uZXVyb24ke2luZGV4fWAsXG4gICAgICAgIHBlcm1pc3Npb25zOiBbZWNzLkRldmljZVBlcm1pc3Npb24uUkVBRCwgZWNzLkRldmljZVBlcm1pc3Npb24uV1JJVEVdLFxuICAgICAgfSkpLFxuICAgICk7XG4gICAgcHJvcHMuY29tcGlsZWRNb2RlbC5idWNrZXQuZ3JhbnRSZWFkKHRoaXMudGFza1JvbGUpO1xuICAgIHRoaXMuY29tcGlsZWRNb2RlbCA9IHByb3BzLmNvbXBpbGVkTW9kZWw7XG4gICAgdGhpcy5uZXVyb254SW5zdGFuY2VUeXBlID0gbmV1cm9ueEluc3RhbmNlVHlwZTtcbiAgICB0aGlzLnRlbnNvclBhcmFsbGVsU2l6ZSA9IHRlbnNvclBhcmFsbGVsU2l6ZTtcbiAgICB0aGlzLnRhc2tzUGVySW5zdGFuY2UgPSB0YXNrc1Blckluc3RhbmNlO1xuICB9XG5cbiAgYWRkQ29udGFpbmVyV2l0aERlZmF1bHQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHN1cGVyLmFkZENvbnRhaW5lcihpZCwge1xuICAgICAgbG9nZ2luZzogZWNzLkxvZ0RyaXZlci5hd3NMb2dzKHtcbiAgICAgICAgc3RyZWFtUHJlZml4OiBpZCxcbiAgICAgIH0pLFxuICAgICAgbGludXhQYXJhbWV0ZXJzOiB0aGlzLmxpbnV4UGFyYW1ldGVycyxcbiAgICAgIG1lbW9yeVJlc2VydmF0aW9uTWlCOiBNYXRoLmNlaWwoXG4gICAgICAgICh0aGlzLm5ldXJvbnhJbnN0YW5jZVR5cGUubWVtb3J5LnRvTWViaWJ5dGVzKCkgKiAwLjgpIC9cbiAgICAgICAgICB0aGlzLnRhc2tzUGVySW5zdGFuY2UsXG4gICAgICApLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZE5ldXJvbnhTZXJ2aWNlUHJvcHNcbiAgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEVjMlNlcnZpY2VQcm9wcyB7fVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkTmV1cm9ueFNlcnZpY2UgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEVjMlNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkTmV1cm9ueFNlcnZpY2VQcm9wcyxcbiAgKSB7XG4gICAgY29uc3QgbmV1cm9ueFRhc2tEZWZpbml0aW9uID0gcHJvcHMudGFza0RlZmluaXRpb247XG4gICAgaWYgKFxuICAgICAgIW5ldXJvbnhUYXNrRGVmaW5pdGlvbiB8fFxuICAgICAgIShuZXVyb254VGFza0RlZmluaXRpb24gaW5zdGFuY2VvZiBOZXVyb254VGFza0RlZmluaXRpb24pXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0YXNrRGVmaW5pdGlvbiBtdXN0IGV4dGVuZCBOZXVyb254VGFza0RlZmluaXRpb25cIik7XG4gICAgfVxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDpcbiAgICAgICAgcHJvcHMuaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZCA/PyBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gICAgY29uc3QgY2x1c3RlciA9IHRoaXMuZ2V0RGVmYXVsdENsdXN0ZXIodGhpcywgcHJvcHMudnBjKTtcblxuICAgIGNvbnN0IHZvbHVtZVNpemUgPSBNYXRoLmNlaWwoXG4gICAgICBuZXVyb254VGFza0RlZmluaXRpb24udGFza3NQZXJJbnN0YW5jZSAqXG4gICAgICAgIG5ldXJvbnhUYXNrRGVmaW5pdGlvbi5jb21waWxlZE1vZGVsLndlaWdodFNpemUudG9HaWJpYnl0ZXMoKSArXG4gICAgICAgIFB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZS5zaXplLnRvR2liaWJ5dGVzKCkgK1xuICAgICAgICBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2Uuc2l6ZS50b0dpYmlieXRlcygpLFxuICAgICk7XG4gICAgY2x1c3Rlci5hZGRDYXBhY2l0eShcIkluc3RhbmNlQ2FwYWNpdHlcIiwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldXJvbnhUYXNrRGVmaW5pdGlvbi5uZXVyb254SW5zdGFuY2VUeXBlLmluc3RhbmNlVHlwZSxcbiAgICAgIG1hY2hpbmVJbWFnZTogbmV3IE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2VcIixcbiAgICAgICksXG4gICAgICBibG9ja0RldmljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRldmljZU5hbWU6IFwiL2Rldi94dmRhXCIsXG4gICAgICAgICAgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnModm9sdW1lU2l6ZSwge1xuICAgICAgICAgICAgdm9sdW1lVHlwZTogRWJzRGV2aWNlVm9sdW1lVHlwZS5HUDMsXG4gICAgICAgICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbWluQ2FwYWNpdHk6IE1hdGguY2VpbChcbiAgICAgICAgKHByb3BzLmRlc2lyZWRDb3VudCA/PyAxKSAvIG5ldXJvbnhUYXNrRGVmaW5pdGlvbi50YXNrc1Blckluc3RhbmNlLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICBjbHVzdGVyLmNvbm5lY3Rpb25zLmFsbG93RnJvbShcbiAgICAgIHRoaXMubG9hZEJhbGFuY2VyLFxuICAgICAgUG9ydC50Y3BSYW5nZSgzMjc2OCwgNjA5OTkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
135
|
+
ApplicationLoadBalancedNeuronxService[_b] = { fqn: "aws-cdk-neuronx-patterns.ApplicationLoadBalancedNeuronxService", version: "0.0.15" };
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbG9hZC1iYWxhbmNlZC1uZXVyb254LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9hd3MtZWNzLXBhdHRlcm5zL2FwcGxpY2F0aW9uLWxvYWQtYmFsYW5jZWQtbmV1cm9ueC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXVDO0FBQ3ZDLGlFQUlxQztBQUNyQyxpREFBcUQ7QUFDckQsMkNBQTJDO0FBQzNDLG1FQUdzQztBQUV0Qyx3Q0FJb0I7QUE4QnBCLE1BQWEscUJBQ1gsU0FBUSxHQUFHLENBQUMsaUJBQWlCO0lBUTdCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsTUFBTSxtQkFBbUIsR0FDdkIsS0FBSyxDQUFDLG1CQUFtQixJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUM7UUFDM0UsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sZ0JBQWdCLEdBQ3BCLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLG9CQUFvQixFQUFFO2dCQUNwQixHQUFHLENBQUMsS0FBSyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztnQkFDckMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FDOUIscUJBQXFCLGdCQUFnQixFQUFFLENBQ3hDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FDN0IsR0FBRyxLQUFLLENBQUMsSUFBSSxD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QyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUM1QixDQUFDO1FBQ0YscUJBQXFCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDeEUsZ0JBQWdCO1NBQ2pCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDOztBQTFGSCxzRkEyRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQXV0b1NjYWxpbmdHcm91cCxcbiAgQmxvY2tEZXZpY2VWb2x1bWUsXG4gIEVic0RldmljZVZvbHVtZVR5cGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXV0b3NjYWxpbmdcIjtcbmltcG9ydCB7IFBvcnQsIFVzZXJEYXRhIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCAqIGFzIGVjcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRFYzJTZXJ2aWNlLFxuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEVjMlNlcnZpY2VQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3MtcGF0dGVybnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBJTmV1cm9ueEluc3RhbmNlVHlwZSxcbiAgTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlLFxuICBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UsXG59IGZyb20gXCIuLi9uZXVyb254XCI7XG5pbXBvcnQgeyBOZXVyb254Q29tcGlsZWRNb2RlbCB9IGZyb20gXCIuLi9uZXVyb254LWNvbXBpbGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV1cm9ueFRhc2tEZWZpbml0aW9uUHJvcHNCYXNlXG4gIGV4dGVuZHMgZWNzLkVjMlRhc2tEZWZpbml0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIHR5cGUgb2YgY29tcGlsZSB3b3JrZXIgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBuZXVyb254SW5zdGFuY2VUeXBlPzogSU5ldXJvbnhJbnN0YW5jZVR5cGU7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRlbnNvciBwYXJhbGxlbCBzaXplLlxuICAgKiBAZGVmYXVsdCAtIDFcbiAgICovXG4gIHJlYWRvbmx5IHRlbnNvclBhcmFsbGVsU2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXVyb254VGFza0RlZmluaXRpb25Qcm9wc1xuICBleHRlbmRzIE5ldXJvbnhUYXNrRGVmaW5pdGlvblByb3BzQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgbW9kZWwgdG8gYmUgY29tcGlsZWQuXG4gICAqL1xuICByZWFkb25seSBjb21waWxlZE1vZGVsOiBOZXVyb254Q29tcGlsZWRNb2RlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueFRhc2tEZWZpbml0aW9uIGV4dGVuZHMgZWNzLklFYzJUYXNrRGVmaW5pdGlvbiB7XG4gIHJlYWRvbmx5IG5ldXJvbnhJbnN0YW5jZVR5cGU6IElOZXVyb254SW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB0ZW5zb3JQYXJhbGxlbFNpemU6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGFza3NQZXJJbnN0YW5jZTogbnVtYmVyO1xuICByZWFkb25seSBjb21waWxlZE1vZGVsOiBOZXVyb254Q29tcGlsZWRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBOZXVyb254VGFza0RlZmluaXRpb25cbiAgZXh0ZW5kcyBlY3MuRWMyVGFza0RlZmluaXRpb25cbiAgaW1wbGVtZW50cyBJTmV1cm9ueFRhc2tEZWZpbml0aW9uXG57XG4gIHJlYWRvbmx5IG5ldXJvbnhJbnN0YW5jZVR5cGU6IElOZXVyb254SW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB0ZW5zb3JQYXJhbGxlbFNpemU6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGFza3NQZXJJbnN0YW5jZTogbnVtYmVyO1xuICByZWFkb25seSBjb21waWxlZE1vZGVsOiBOZXVyb254Q29tcGlsZWRNb2RlbDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxpbnV4UGFyYW1ldGVyczogZWNzLkxpbnV4UGFyYW1ldGVycztcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5ldXJvbnhUYXNrRGVmaW5pdGlvblByb3BzKSB7XG4gICAgY29uc3QgbmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgICBwcm9wcy5uZXVyb254SW5zdGFuY2VUeXBlID8/IHByb3BzLmNvbXBpbGVkTW9kZWwuY29tcGlsZVRpbWVJbnN0YW5jZVR5cGU7XG4gICAgY29uc3QgdGVuc29yUGFyYWxsZWxTaXplID0gcHJvcHMudGVuc29yUGFyYWxsZWxTaXplID8/IDE7XG4gICAgY29uc3QgdGFza3NQZXJJbnN0YW5jZSA9XG4gICAgICBuZXVyb254SW5zdGFuY2VUeXBlLmFjY2VsZXJhdG9yQ2hpcHMubmV1cm9ueENvcmVzIC8gdGVuc29yUGFyYWxsZWxTaXplO1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBwbGFjZW1lbnRDb25zdHJhaW50czogW1xuICAgICAgICAuLi4ocHJvcHMucGxhY2VtZW50Q29uc3RyYWludHMgPz8gW10pLFxuICAgICAgICBlY3MuUGxhY2VtZW50Q29uc3RyYWludC5tZW1iZXJPZihcbiAgICAgICAgICBgcnVubmluZ1Rhc2tzQ291bnQ8JHt0YXNrc1Blckluc3RhbmNlfWAsXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pO1xuICAgIHRoaXMubGludXhQYXJhbWV0ZXJzID0gbmV3IGVjcy5MaW51eFBhcmFtZXRlcnModGhpcywgXCJMaW51eFBhcmFtZXRlcnNcIik7XG4gICAgdGhpcy5saW51eFBhcmFtZXRlcnMuYWRkRGV2aWNlcyhcbiAgICAgIC4uLkFycmF5LmZyb20oe1xuICAgICAgICBsZW5ndGg6IG5ldXJvbnhJbnN0YW5jZVR5cGU/LmFjY2VsZXJhdG9yQ2hpcHMuY2hpcHMgPz8gMSxcbiAgICAgIH0pLm1hcDxlY3MuRGV2aWNlPigoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIGhvc3RQYXRoOiBgL2Rldi9uZXVyb24ke2luZGV4fWAsXG4gICAgICAgIGNvbnRhaW5lclBhdGg6IGAvZGV2L25ldXJvbiR7aW5kZXh9YCxcbiAgICAgICAgcGVybWlzc2lvbnM6IFtlY3MuRGV2aWNlUGVybWlzc2lvbi5SRUFELCBlY3MuRGV2aWNlUGVybWlzc2lvbi5XUklURV0sXG4gICAgICB9KSksXG4gICAgKTtcbiAgICBpZiAodGhpcy5leGVjdXRpb25Sb2xlKSB7XG4gICAgICBwcm9wcy5jb21waWxlZE1vZGVsLmJ1Y2tldC5ncmFudFJlYWQodGhpcy5leGVjdXRpb25Sb2xlKTtcbiAgICB9XG4gICAgcHJvcHMuY29tcGlsZWRNb2RlbC5idWNrZXQuZ3JhbnRSZWFkKHRoaXMudGFza1JvbGUpO1xuICAgIHRoaXMuY29tcGlsZWRNb2RlbCA9IHByb3BzLmNvbXBpbGVkTW9kZWw7XG4gICAgdGhpcy5uZXVyb254SW5zdGFuY2VUeXBlID0gbmV1cm9ueEluc3RhbmNlVHlwZTtcbiAgICB0aGlzLnRlbnNvclBhcmFsbGVsU2l6ZSA9IHRlbnNvclBhcmFsbGVsU2l6ZTtcbiAgICB0aGlzLnRhc2tzUGVySW5zdGFuY2UgPSB0YXNrc1Blckluc3RhbmNlO1xuICB9XG5cbiAgYWRkQ29udGFpbmVyV2l0aERlZmF1bHQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gc3VwZXIuYWRkQ29udGFpbmVyKGlkLCB7XG4gICAgICBsb2dnaW5nOiBlY3MuTG9nRHJpdmVyLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IGlkLFxuICAgICAgfSksXG4gICAgICBsaW51eFBhcmFtZXRlcnM6IHRoaXMubGludXhQYXJhbWV0ZXJzLFxuICAgICAgbWVtb3J5UmVzZXJ2YXRpb25NaUI6IE1hdGguY2VpbChcbiAgICAgICAgKHRoaXMubmV1cm9ueEluc3RhbmNlVHlwZS5tZW1vcnkudG9NZWJpYnl0ZXMoKSAqIDAuOCkgL1xuICAgICAgICAgIHRoaXMudGFza3NQZXJJbnN0YW5jZSxcbiAgICAgICksXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgICBjb250YWluZXIuYWRkTW91bnRQb2ludHMoe1xuICAgICAgc291cmNlVm9sdW1lOiBcIm1vZGVsXCIsXG4gICAgICBjb250YWluZXJQYXRoOiBcIi9vcHQvbWwvbW9kZWxcIixcbiAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICB9KTtcbiAgICByZXR1cm4gY29udGFpbmVyO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWROZXVyb254U2VydmljZVByb3BzXG4gIGV4dGVuZHMgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRFYzJTZXJ2aWNlUHJvcHMge31cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZE5ldXJvbnhTZXJ2aWNlIGV4dGVuZHMgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRFYzJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZE5ldXJvbnhTZXJ2aWNlUHJvcHMsXG4gICkge1xuICAgIGNvbnN0IG5ldXJvbnhUYXNrRGVmaW5pdGlvbiA9IHByb3BzLnRhc2tEZWZpbml0aW9uO1xuICAgIGlmIChcbiAgICAgICFuZXVyb254VGFza0RlZmluaXRpb24gfHxcbiAgICAgICEobmV1cm9ueFRhc2tEZWZpbml0aW9uIGluc3RhbmNlb2YgTmV1cm9ueFRhc2tEZWZpbml0aW9uKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidGFza0RlZmluaXRpb24gbXVzdCBleHRlbmQgTmV1cm9ueFRhc2tEZWZpbml0aW9uXCIpO1xuICAgIH1cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6XG4gICAgICAgIHByb3BzLmhlYWx0aENoZWNrR3JhY2VQZXJpb2QgPz8gRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNsdXN0ZXIgPSB0aGlzLmdldERlZmF1bHRDbHVzdGVyKHRoaXMsIHByb3BzLnZwYyk7XG5cbiAgICAvLyBpbnN0YWxsIGFuZCBtb3VudCBtb3VudHBvaW50IGZvciBzM1xuICAgIGNvbnN0IHVzZXJEYXRhID0gVXNlckRhdGEuZm9yTGludXgoKTtcbiAgICB1c2VyRGF0YS5hZGRDb21tYW5kcyhgXG4jIS9iaW4vYmFzaCAtZVxuXG4jIEluc3RhbGwgTW91bnRwb2ludFxuTVBfUlBNPSQobWt0ZW1wIC0tc3VmZml4PS5ycG0pXG5jdXJsIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9tb3VudHBvaW50LXMzLXJlbGVhc2UvbGF0ZXN0L3g4Nl82NC9tb3VudC1zMy5ycG0gPiAkTVBfUlBNXG5cbiMgY2xvdWQtaW5pdCBpbnN0YWxscyBjb25mbGljdCB3aXRoIFNTTSBhZ2VudDogaHR0cHM6Ly9naXRodWIuY29tL2FtYXpvbmxpbnV4L2FtYXpvbi1saW51eC0yMDIzL2lzc3Vlcy8zOTdcbmF0dGVtcHQ9MFxubWF4X2F0dGVtcHRzPTVcbnVudGlsIGRuZiBpbnN0YWxsIC15ICRNUF9SUE07IGRvXG4gICAgYXR0ZW1wdD0kKChhdHRlbXB0ICsgMSkpXG4gICAgaWYgWyAkYXR0ZW1wdCAtZ2UgJG1heF9hdHRlbXB0cyBdOyB0aGVuXG4gICAgICAgIGVjaG8gXCJGYWlsZWQgdG8gaW5zdGFsbCBtb3VudC1zMyBhZnRlciAkbWF4X2F0dGVtcHRzIGF0dGVtcHRzLiBFeGl0aW5nLlwiXG4gICAgICAgIGV4aXQgMVxuICAgIGZpXG4gICAgZWNobyBcImRuZiBpbnN0YWxsIG1vdW50LXMzIGZhaWxlZCAoYXR0ZW1wdCAkYXR0ZW1wdC8kbWF4X2F0dGVtcHRzKSwgcmV0cnlpbmcgaW4gMyBzZWNvbmRzLi4uXCJcbiAgICBzbGVlcCAzXG5kb25lXG5cbnJtICRNUF9SUE1cblxuIyBTZXR1cCB0aGUgZnN0YWIgZmlsZSBhbmQgY3JlYXRlIHRoZSBtb3VudFxubWtkaXIgLS1wYXJlbnRzIC9tbnQvJHtuZXVyb254VGFza0RlZmluaXRpb24uY29tcGlsZWRNb2RlbC5idWNrZXQuYnVja2V0TmFtZX1cbm1vdW50LXMzICR7bmV1cm9ueFRhc2tEZWZpbml0aW9uLmNvbXBpbGVkTW9kZWwuYnVja2V0LmJ1Y2tldE5hbWV9IC9tbnQvJHtuZXVyb254VGFza0RlZmluaXRpb24uY29tcGlsZWRNb2RlbC5idWNrZXQuYnVja2V0TmFtZX0gLS1hbGxvdy1vdGhlciAtLWZpbGUtbW9kZT02NDQgLS1kaXItbW9kZT03NTVgKTtcblxuICAgIG5ldXJvbnhUYXNrRGVmaW5pdGlvbi5hZGRWb2x1bWUoe1xuICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgaG9zdDoge1xuICAgICAgICBzb3VyY2VQYXRoOiBgL21udC8ke25ldXJvbnhUYXNrRGVmaW5pdGlvbi5jb21waWxlZE1vZGVsLmJ1Y2tldC5idWNrZXROYW1lfWAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgdm9sdW1lU2l6ZSA9IE1hdGguY2VpbChcbiAgICAgIFB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZS5zaXplLnRvR2liaWJ5dGVzKCkgK1xuICAgICAgICBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2Uuc2l6ZS50b0dpYmlieXRlcygpLFxuICAgICk7XG4gICAgY29uc3QgYXV0b1NjYWxpbmdHcm91cCA9IG5ldyBBdXRvU2NhbGluZ0dyb3VwKHRoaXMsIFwiQXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgICB2cGM6IGNsdXN0ZXIudnBjLFxuICAgICAgaW5zdGFuY2VUeXBlOiBuZXVyb254VGFza0RlZmluaXRpb24ubmV1cm9ueEluc3RhbmNlVHlwZS5pbnN0YW5jZVR5cGUsXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBOZXVyb25PcHRpbWl6ZWRNYWNoaW5lSW1hZ2UoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiTmV1cm9uT3B0aW1pemVkTWFjaGluZUltYWdlXCIsXG4gICAgICApLFxuICAgICAgYmxvY2tEZXZpY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkZXZpY2VOYW1lOiBcIi9kZXYveHZkYVwiLFxuICAgICAgICAgIHZvbHVtZTogQmxvY2tEZXZpY2VWb2x1bWUuZWJzKHZvbHVtZVNpemUsIHtcbiAgICAgICAgICAgIHZvbHVtZVR5cGU6IEVic0RldmljZVZvbHVtZVR5cGUuR1AzLFxuICAgICAgICAgICAgZW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVzZXJEYXRhLFxuICAgICAgZGVzaXJlZENhcGFjaXR5OiBNYXRoLmNlaWwoXG4gICAgICAgIChwcm9wcy5kZXNpcmVkQ291bnQgPz8gMSkgLyBuZXVyb254VGFza0RlZmluaXRpb24udGFza3NQZXJJbnN0YW5jZSxcbiAgICAgICksXG4gICAgfSk7XG4gICAgYXV0b1NjYWxpbmdHcm91cC5jb25uZWN0aW9ucy5hbGxvd0Zyb20oXG4gICAgICB0aGlzLmxvYWRCYWxhbmNlcixcbiAgICAgIFBvcnQudGNwUmFuZ2UoMzI3NjgsIDYwOTk5KSxcbiAgICApO1xuICAgIG5ldXJvbnhUYXNrRGVmaW5pdGlvbi5jb21waWxlZE1vZGVsLmJ1Y2tldC5ncmFudFJlYWQoYXV0b1NjYWxpbmdHcm91cCk7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgZWNzLkFzZ0NhcGFjaXR5UHJvdmlkZXIodGhpcywgXCJBc2dDYXBhY2l0eVByb3ZpZGVyXCIsIHtcbiAgICAgIGF1dG9TY2FsaW5nR3JvdXAsXG4gICAgfSk7XG4gICAgY2x1c3Rlci5hZGRBc2dDYXBhY2l0eVByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgfVxufVxuIl19
|
|
@@ -47,6 +47,6 @@ class PytorchTrainingNeuronxImage extends NeuronxImage {
|
|
|
47
47
|
}
|
|
48
48
|
exports.PytorchTrainingNeuronxImage = PytorchTrainingNeuronxImage;
|
|
49
49
|
_a = JSII_RTTI_SYMBOL_1;
|
|
50
|
-
PytorchTrainingNeuronxImage[_a] = { fqn: "aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage", version: "0.0.
|
|
50
|
+
PytorchTrainingNeuronxImage[_a] = { fqn: "aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage", version: "0.0.15" };
|
|
51
51
|
PytorchTrainingNeuronxImage.imageName = "public.ecr.aws/neuron/pytorch-training-neuronx";
|
|
52
52
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFPbkMsTUFBZSxZQUFZO0lBNEZ6QixNQUFNLENBQUMsY0FBYyxDQUNuQixjQUFzQixFQUN0QixhQUFxQixFQUNyQixjQUFzQixFQUN0QixhQUFxQjtRQUVyQixPQUFPO1lBQ0wsVUFBVSxFQUFFLGNBQWM7WUFDMUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxHQUFHLGNBQWMsY0FBYyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxjQUFjLFVBQVUsYUFBYSxFQUFFO1NBQ3RILENBQUM7SUFDSixDQUFDOztBQXRHZSxpQkFBSSxHQUFHLGtCQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzFDLHdCQUF3QjtBQUNSLHVCQUFVLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FDdEQsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLENBQUM7QUFDRix3QkFBd0I7QUFDUix1QkFBVSxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQ3RELFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixDQUFDO0FBQ0Ysd0JBQXdCO0FBQ1IsdUJBQVUsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUN0RCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztBQUNGLHdCQUF3QjtBQUNSLHVCQUFVLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FDdEQsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLENBQUM7QUFDRix3QkFBd0I7QUFDUix1QkFBVSxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQ3RELFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixDQUFDO0FBQ0Ysd0JBQXdCO0FBQ1IsdUJBQVUsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUN0RCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztBQUNGLHdCQUF3QjtBQUNSLHVCQUFVLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FDdEQsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLENBQUM7QUFDRix3QkFBd0I7QUFDUix1QkFBVSxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQ3RELFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixDQUFDO0FBQ0Ysd0JBQXdCO0FBQ1IsdUJBQVUsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUN0RCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztBQUNGLHdCQUF3QjtBQUNSLHVCQUFVLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FDdEQsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxDQUNSLENBQUM7QUFDRix3QkFBd0I7QUFDUix1QkFBVSxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQ3RELFFBQVEsRUFDUixNQUFNLEVBQ04sT0FBTyxFQUNQLE9BQU8sQ0FDUixDQUFDO0FBQ0Ysd0JBQXdCO0FBQ1IsdUJBQVUsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUN0RCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztBQUNGLHdCQUF3QjtBQUNSLG1CQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7S0FDbEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNyQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWtCLENBQUM7QUFpQjVDLE1BQWEsMkJBQTRCLFNBQVEsWUFBWTs7QUFBN0Qsa0VBRUM7OztBQURpQixxQ0FBUyxHQUFHLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2l6ZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOZXVyb254SW1hZ2Uge1xuICByZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgaW1hZ2VUYWc6IHN0cmluZztcbiAgcmVhZG9ubHkgc2RrVmVyc2lvbjogc3RyaW5nO1xufVxuYWJzdHJhY3QgY2xhc3MgTmV1cm9ueEltYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHNpemUgPSBTaXplLmdpYmlieXRlcygzMCk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjNfMCA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjMuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi42LjBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjIuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjJfMCA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjIuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjEuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjFfMSA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjEuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjEuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjFfMCA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjEuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMiAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMiA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMlwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMSA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMCA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTkuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMTlfMSA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMTkuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTkuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMTlfMCA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMTkuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMiAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMiA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMlwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMSA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMCA9IE5ldXJvbnhJbWFnZS5mcm9tU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBMYXRlc3QgTmV1cm9uIFNESyAqL1xuICBzdGF0aWMgcmVhZG9ubHkgTEFURVNUID0gT2JqZWN0LmVudHJpZXMoTmV1cm9ueEltYWdlKVxuICAgIC5maWx0ZXIoKFtrXSkgPT4gay5zdGFydHNXaXRoKFwiU0RLX1wiKSlcbiAgICAuc29ydCgoW2sxXSwgW2syXSkgPT4gKGsxIDwgazIgPyAxIDogLTEpKVxuICAgIC5tYXAoKFtfLCB2XSkgPT4gdilbMF0gYXMgSU5ldXJvbnhJbWFnZTtcblxuICBzdGF0aWMgZnJvbVNka1ZlcnNpb24oXG4gICAgbmV1cm9ueFZlcnNpb246IHN0cmluZyxcbiAgICBweXRob25WZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0b3JjaFZlcnNpb246IHN0cmluZyxcbiAgICB1YnVudHVWZXJzaW9uOiBzdHJpbmcsXG4gICk6IElOZXVyb254SW1hZ2Uge1xuICAgIHJldHVybiB7XG4gICAgICBzZGtWZXJzaW9uOiBuZXVyb254VmVyc2lvbixcbiAgICAgIGltYWdlTmFtZTogdGhpcy5pbWFnZU5hbWUsXG4gICAgICBpbWFnZVRhZzogYCR7cHl0b3JjaFZlcnNpb259LW5ldXJvbngtcHkke3B5dGhvblZlcnNpb24ucmVwbGFjZShcIi5cIiwgXCJcIil9LXNkayR7bmV1cm9ueFZlcnNpb259LXVidW50dSR7dWJ1bnR1VmVyc2lvbn1gLFxuICAgIH07XG4gIH1cbiAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSBpbWFnZU5hbWUgPSBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLXRyYWluaW5nLW5ldXJvbnhcIjtcbn1cbiJdfQ==
|
|
@@ -84,7 +84,7 @@ class Parameters {
|
|
|
84
84
|
}
|
|
85
85
|
exports.Parameters = Parameters;
|
|
86
86
|
_a = JSII_RTTI_SYMBOL_1;
|
|
87
|
-
Parameters[_a] = { fqn: "aws-cdk-neuronx-patterns.Parameters", version: "0.0.
|
|
87
|
+
Parameters[_a] = { fqn: "aws-cdk-neuronx-patterns.Parameters", version: "0.0.15" };
|
|
88
88
|
/**
|
|
89
89
|
* Compile target model.
|
|
90
90
|
*/
|
|
@@ -149,5 +149,5 @@ class Model {
|
|
|
149
149
|
}
|
|
150
150
|
exports.Model = Model;
|
|
151
151
|
_b = JSII_RTTI_SYMBOL_1;
|
|
152
|
-
Model[_b] = { fqn: "aws-cdk-neuronx-patterns.Model", version: "0.0.
|
|
152
|
+
Model[_b] = { fqn: "aws-cdk-neuronx-patterns.Model", version: "0.0.15" };
|
|
153
153
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9uZXVyb254L21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTBDO0FBRzFDLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QixnRUFBaUIsQ0FBQTtJQUNqQiw2REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxZQUFZLDRCQUFaLFlBQVksUUFHdkI7QUFFRDs7R0FFRztBQUNILElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILHVCQUFTLENBQUE7QUFDWCxDQUFDLEVBTFcsVUFBVSwwQkFBVixVQUFVLFFBS3JCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFFBYVg7QUFiRCxXQUFZLFFBQVE7SUFDbEI7O09BRUc7SUFDSCw2RUFBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILHVEQUFnQixDQUFBO0lBQ2hCOztPQUVHO0lBQ0gscUZBQStCLENBQUE7QUFDakMsQ0FBQyxFQWJXLFFBQVEsd0JBQVIsUUFBUSxRQWFuQjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBQ3JCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQWtCO1FBQy9CLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFrQjtRQUMvQixPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0Q7SUFDRTs7T0FFRztJQUNjLFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFDbEMsQ0FBQztJQUNKOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFDRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsVUFBVTtRQUNSLE9BQU8sa0JBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O0FBdkNILGdDQXdDQzs7O0FBaUJEOztHQUVHO0FBQ0gsTUFBYSxLQUFLO0lBQ2hCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFlLEVBQUUsT0FBc0I7UUFDNUQsTUFBTSxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLHlGQUF5RixDQUMxRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksT0FBTyxFQUFFO1lBQ3ZELEdBQUcsT0FBTztZQUNWLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFlLEVBQUUsTUFBYyxFQUFFLE9BQXNCO1FBQ3ZFLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLHlGQUF5RixDQUMxRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxLQUFLLENBQ2QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDN0IsU0FBUyxFQUNULEVBQUUsR0FBRyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQzFCLE1BQU0sRUFDTixNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFDTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQWM7UUFDdkMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE1BQU07UUFDUixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELFlBQ1csT0FBZSxFQUNmLFNBQWlCLEVBQ2pCLE9BQXFCLEVBQ3JCLE1BQWdCLEVBQ2hCLE1BQWU7UUFKZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUN2QixDQUFDOztBQWxFTixzQkFtRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaXplLCBUb2tlbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcblxuZXhwb3J0IGVudW0gRGF0YVR5cGVCaXRzIHtcbiAgQkYxNl9PUl9GUDE2ID0gMTYsXG4gIEZQOF9PUl9JTlQ4ID0gOCxcbn1cblxuLyoqXG4gKiBRdWFudCBkYXRhIHR5cGUuXG4gKi9cbmV4cG9ydCBlbnVtIFF1YW50RHR5cGUge1xuICAvKipcbiAgICogaW50OCB3ZWlnaHQgc3RvcmFnZS5cbiAgICovXG4gIFM4ID0gXCJzOFwiLFxufVxuXG4vKipcbiAqIE9wdGltaXphdGlvbiBsZXZlbC5cbiAqL1xuZXhwb3J0IGVudW0gT3B0TGV2ZWwge1xuICAvKipcbiAgICogZW5hYmxlcyB0aGUgY29yZSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zIGluIHRoZSBjb21waWxlciwgd2hpbGUgYWxzbyBtaW5pbWl6aW5nIGNvbXBpbGUgdGltZS5cbiAgICovXG4gIE1JTklNSVpJTkdfQ09NUElMRV9USU1FID0gMSxcbiAgLyoqXG4gICAqIHByb3ZpZGVzIHRoZSBiZXN0IGJhbGFuY2UgYmV0d2VlbiBtb2RlbCBwZXJmb3JtYW5jZSBhbmQgY29tcGlsZSB0aW1lLlxuICAgKi9cbiAgQkVTVF9CQUxBTkNFID0gMixcbiAgLyoqXG4gICAqIG1heSBwcm92aWRlIGFkZGl0aW9uYWwgbW9kZWwgZXhlY3V0aW9uIHBlcmZvcm1hbmNlIGJ1dCBtYXkgaW5jdXIgbG9uZ2VyIGNvbXBpbGUgdGltZXMgYW5kIGhpZ2hlciBob3N0IG1lbW9yeSB1c2FnZSBkdXJpbmcgbW9kZWwgY29tcGlsYXRpb24uXG4gICAqL1xuICBNT0RFTF9FWEVDVVRJT05fUEVSRk9STUFOQ0UgPSAzLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGFtb3VudCBvZiBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVycyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBQYXJhbWV0ZXJzIHJlcHJlc2VudGluZyBhbiBhbW91bnQgbWlsbGlvbi5cbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgbnVtYmVyIG9mIHBhcmFtZXRlcnMgbWlsbGlvblhcbiAgICogQHJldHVybnMgcGFyYW1ldGVyc1xuICAgKi9cbiAgc3RhdGljIG1pbGxpb24ocGFyYW1ldGVyczogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJzKHBhcmFtZXRlcnMgKiAxMDAwMDAwKTtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIGEgUGFyYW1ldGVycyByZXByZXNlbnRpbmcgYW4gYW1vdW50IGJpbGxpb24uXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIG51bWJlciBvZiBwYXJhbWV0ZXJzIGJpbGxpb25YXG4gICAqIEByZXR1cm5zIHBhcmFtZXRlcnNcbiAgICovXG4gIHN0YXRpYyBiaWxsaW9uKHBhcmFtZXRlcnM6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVycyhwYXJhbWV0ZXJzICogMTAwMDAwMDAwMCk7XG4gIH1cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBudW1iZXIgb2YgcGFyZW10ZXJzLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1ldGVyczogbnVtYmVyLFxuICApIHt9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhpcyBudW1iZXIgb2YgcGFyYW1ldGVycyBhcyBtaWxsaW9uLlxuICAgKiBAcmV0dXJucyBUaGlzIG51bWJlciBvZiBwYXJhbWV0ZXJzIGFzIG1pbGxpb24uXG4gICAqL1xuICB0b01pbGxpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycyAvIDEwMDAwMDA7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIG51bWJlciBvZiBwYXJhbWV0ZXJzIGFzIGJpbGxpb24uXG4gICAqIEByZXR1cm5zIFRoaXMgbnVtYmVyIG9mIHBhcmFtZXRlcnMgYXMgYmlsbGlvbi5cbiAgICovXG4gIHRvQmlsbGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzIC8gMTAwMDAwMDAwMDtcbiAgfVxuICB3ZWlnaHRTaXplKCkge1xuICAgIHJldHVybiBTaXplLmdpYmlieXRlcyh0aGlzLnRvQmlsbGlvbigpICogMi41KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsQ29uZmlnIHtcbiAgcmVhZG9ubHkgbGF5ZXJzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGVtYmVkZGluZ0RpbWVuc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBhdHRlbnRpb25IZWFkczogbnVtYmVyO1xufVxuXG4vKipcbiAqIENvbXBpbGUgdGFyZ2V0IG1vZGVsIGJhc2ljIGluZnJvbWF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxPcHRpb25zIHtcbiAgcmVhZG9ubHkgcGFyYW1ldGVyczogUGFyYW1ldGVycztcbiAgcmVhZG9ubHkgY29uZmlnPzogTW9kZWxDb25maWc7XG4gIHJlYWRvbmx5IG1vZGVsTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21waWxlIHRhcmdldCBtb2RlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vZGVsIHtcbiAgLyoqXG4gICAqIG1vZGVsIGluZm9ybWF0aW9ucyBhdCBIdWdnaW5nRmFjZVxuICAgKiBAcGFyYW0gbW9kZWxJZCBtb2RlbCBpZCBvbiB0aGUgSHVnZ2luZ0ZhY2VcbiAgICogQHBhcmFtIG9wdGlvbnMgbW9kZWwgYmFzaWMgaW5mb3JtYXRpb25cbiAgICogQHJldHVybnMgbW9kZWwgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBmcm9tSHVnZ2luZ0ZhY2UobW9kZWxJZDogc3RyaW5nLCBvcHRpb25zPzogTW9kZWxPcHRpb25zKSB7XG4gICAgY29uc3QgcGFyYW1ldGVycyA9IG9wdGlvbnM/LnBhcmFtZXRlcnMgPz8gTW9kZWwubWF5YmVQYXJhbXMobW9kZWxJZCk7XG4gICAgaWYgKCFwYXJhbWV0ZXJzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGNhbm5vdCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBtb2RlbCBJRC4gU2V0IG9wdGlvbmFsIHBhcmFtZXRlcnMuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsKG1vZGVsSWQsIG9wdGlvbnM/Lm1vZGVsTmFtZSA/PyBtb2RlbElkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgcGFyYW1ldGVycyxcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogbW9kZWwgaW5mb3JtYXRpb25zIGF0IFMzIEJ1Y2tldFxuICAgKiBAcGFyYW0gYnVja2V0IE1vZGVsIHN0b3JlZCBTMyBCdWNrZXRcbiAgICogQHBhcmFtIHByZWZpeCBNb2RlbCBzdG9yZWQgb2JqZWN0cyBwcmVmaXhcbiAgICogQHBhcmFtIG9wdGlvbnMgbW9kZWwgYmFzaWMgaW5mb3JtYXRpb25cbiAgICogQHJldHVybnMgbW9kZWwgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBmcm9tQnVja2V0KGJ1Y2tldDogSUJ1Y2tldCwgcHJlZml4OiBzdHJpbmcsIG9wdGlvbnM/OiBNb2RlbE9wdGlvbnMpIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHByZWZpeCkgJiYgIW9wdGlvbnM/Lm1vZGVsTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTW9kZWxOYW1lIGlzIHJlcXVpcmVkIHdoZW4gcHJlZml4IGlzIHVucmVzb2x2ZWRcIik7XG4gICAgfVxuICAgIGNvbnN0IG1vZGVsTmFtZSA9IG9wdGlvbnM/Lm1vZGVsTmFtZSA/PyBwcmVmaXguc3BsaXQoXCIvXCIpLnNsaWNlKC0xKVswXTtcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0gb3B0aW9ucz8ucGFyYW1ldGVycyA/PyBNb2RlbC5tYXliZVBhcmFtcyhtb2RlbE5hbWUpO1xuICAgIGlmICghcGFyYW1ldGVycykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBjYW5ub3QgYmUgaW5mZXJyZWQgZnJvbSB0aGUgbW9kZWwgSUQuIFNldCBvcHRpb25hbCBwYXJhbWV0ZXJzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBNb2RlbChcbiAgICAgIGJ1Y2tldC5zM1VybEZvck9iamVjdChwcmVmaXgpLFxuICAgICAgbW9kZWxOYW1lLFxuICAgICAgeyAuLi5vcHRpb25zLCBwYXJhbWV0ZXJzIH0sXG4gICAgICBidWNrZXQsXG4gICAgICBwcmVmaXgsXG4gICAgKTtcbiAgfVxuICBwcml2YXRlIHN0YXRpYyBtYXliZVBhcmFtcyhzb3VyY2U6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiaWxsaW9uID0gc291cmNlLm1hdGNoKC8tKFxcZCspW2JCXS8pO1xuICAgICAgaWYgKGJpbGxpb24/LlsxXSkge1xuICAgICAgICByZXR1cm4gUGFyYW1ldGVycy5iaWxsaW9uKHBhcnNlSW50KGJpbGxpb25bMV0pKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbGxpb24gPSBzb3VyY2UubWF0Y2goLy0oXFxkKylbbU1dLyk7XG4gICAgICBpZiAobWlsbGlvbj8uWzFdKSB7XG4gICAgICAgIHJldHVybiBQYXJhbWV0ZXJzLm1pbGxpb24ocGFyc2VJbnQobWlsbGlvblsxXSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gTk9QXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBtb2RlbElkOiBzdHJpbmcsXG4gICAgcmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmcsXG4gICAgcmVhZG9ubHkgb3B0aW9uczogTW9kZWxPcHRpb25zLFxuICAgIHJlYWRvbmx5IGJ1Y2tldD86IElCdWNrZXQsXG4gICAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nLFxuICApIHt9XG59XG4iXX0=
|