@aws-cdk/aws-imagebuilder-alpha 2.232.2-alpha.0 → 2.234.0-alpha.0
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 +1158 -1026
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +33 -29
- package/LICENSE +1 -1
- package/NOTICE +1 -1
- package/README.md +20 -20
- package/lib/amazon-managed-component.d.ts +112 -0
- package/lib/amazon-managed-component.js +228 -0
- package/lib/amazon-managed-image.js +1 -1
- package/lib/amazon-managed-workflow.d.ts +70 -0
- package/lib/amazon-managed-workflow.js +115 -0
- package/lib/base-image.js +3 -3
- package/lib/component.d.ts +27 -112
- package/lib/component.js +26 -289
- package/lib/container-recipe.js +4 -4
- package/lib/distribution-configuration.js +2 -2
- package/lib/image-pipeline.js +1 -1
- package/lib/image-recipe.js +1 -1
- package/lib/image.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/infrastructure-configuration.js +1 -1
- package/lib/lifecycle-policy.js +1 -1
- package/lib/os-version.js +1 -1
- package/lib/recipe-base.js +1 -1
- package/lib/workflow.d.ts +0 -61
- package/lib/workflow.js +6 -100
- package/package.json +6 -6
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -20,18 +20,6 @@ function _aws_cdk_aws_imagebuilder_alpha_ComponentProps(p) {
|
|
|
20
20
|
}
|
|
21
21
|
function _aws_cdk_aws_imagebuilder_alpha_ComponentAttributes(p) {
|
|
22
22
|
}
|
|
23
|
-
function _aws_cdk_aws_imagebuilder_alpha_AwsManagedComponentAttributes(p) {
|
|
24
|
-
if (p == null)
|
|
25
|
-
return;
|
|
26
|
-
visitedObjects.add(p);
|
|
27
|
-
try {
|
|
28
|
-
if (!visitedObjects.has(p.platform))
|
|
29
|
-
_aws_cdk_aws_imagebuilder_alpha_Platform(p.platform);
|
|
30
|
-
}
|
|
31
|
-
finally {
|
|
32
|
-
visitedObjects.delete(p);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
23
|
function _aws_cdk_aws_imagebuilder_alpha_AwsMarketplaceComponentAttributes(p) {
|
|
36
24
|
}
|
|
37
25
|
function _aws_cdk_aws_imagebuilder_alpha_ComponentDocument(p) {
|
|
@@ -136,12 +124,12 @@ function _aws_cdk_aws_imagebuilder_alpha_ComponentStepInputs(p) {
|
|
|
136
124
|
}
|
|
137
125
|
function _aws_cdk_aws_imagebuilder_alpha_ComponentStepIfCondition(p) {
|
|
138
126
|
}
|
|
127
|
+
function _aws_cdk_aws_imagebuilder_alpha_ComponentDataConfig(p) {
|
|
128
|
+
}
|
|
139
129
|
function _aws_cdk_aws_imagebuilder_alpha_ComponentData(p) {
|
|
140
130
|
}
|
|
141
131
|
function _aws_cdk_aws_imagebuilder_alpha_S3ComponentData(p) {
|
|
142
132
|
}
|
|
143
|
-
function _aws_cdk_aws_imagebuilder_alpha_AwsManagedComponent(p) {
|
|
144
|
-
}
|
|
145
133
|
function _aws_cdk_aws_imagebuilder_alpha_AwsMarketplaceComponent(p) {
|
|
146
134
|
}
|
|
147
135
|
function _aws_cdk_aws_imagebuilder_alpha_Component(p) {
|
|
@@ -530,18 +518,6 @@ function _aws_cdk_aws_imagebuilder_alpha_WorkflowAttributes(p) {
|
|
|
530
518
|
visitedObjects.delete(p);
|
|
531
519
|
}
|
|
532
520
|
}
|
|
533
|
-
function _aws_cdk_aws_imagebuilder_alpha_AwsManagedWorkflowAttributes(p) {
|
|
534
|
-
if (p == null)
|
|
535
|
-
return;
|
|
536
|
-
visitedObjects.add(p);
|
|
537
|
-
try {
|
|
538
|
-
if (!visitedObjects.has(p.workflowType))
|
|
539
|
-
_aws_cdk_aws_imagebuilder_alpha_WorkflowType(p.workflowType);
|
|
540
|
-
}
|
|
541
|
-
finally {
|
|
542
|
-
visitedObjects.delete(p);
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
521
|
function _aws_cdk_aws_imagebuilder_alpha_WorkflowAction(p) {
|
|
546
522
|
}
|
|
547
523
|
function _aws_cdk_aws_imagebuilder_alpha_WorkflowOnFailure(p) {
|
|
@@ -578,10 +554,24 @@ function _aws_cdk_aws_imagebuilder_alpha_WorkflowConfiguration(p) {
|
|
|
578
554
|
visitedObjects.delete(p);
|
|
579
555
|
}
|
|
580
556
|
}
|
|
581
|
-
function _aws_cdk_aws_imagebuilder_alpha_AwsManagedWorkflow(p) {
|
|
582
|
-
}
|
|
583
557
|
function _aws_cdk_aws_imagebuilder_alpha_Workflow(p) {
|
|
584
558
|
}
|
|
559
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentAttributes(p) {
|
|
560
|
+
}
|
|
561
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(p) {
|
|
562
|
+
if (p == null)
|
|
563
|
+
return;
|
|
564
|
+
visitedObjects.add(p);
|
|
565
|
+
try {
|
|
566
|
+
if (!visitedObjects.has(p.platform))
|
|
567
|
+
_aws_cdk_aws_imagebuilder_alpha_Platform(p.platform);
|
|
568
|
+
}
|
|
569
|
+
finally {
|
|
570
|
+
visitedObjects.delete(p);
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponent(p) {
|
|
574
|
+
}
|
|
585
575
|
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageAttributes(p) {
|
|
586
576
|
}
|
|
587
577
|
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageOptions(p) {
|
|
@@ -600,6 +590,20 @@ function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageOptions(p) {
|
|
|
600
590
|
}
|
|
601
591
|
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImage(p) {
|
|
602
592
|
}
|
|
593
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedWorkflowAttributes(p) {
|
|
594
|
+
if (p == null)
|
|
595
|
+
return;
|
|
596
|
+
visitedObjects.add(p);
|
|
597
|
+
try {
|
|
598
|
+
if (!visitedObjects.has(p.workflowType))
|
|
599
|
+
_aws_cdk_aws_imagebuilder_alpha_WorkflowType(p.workflowType);
|
|
600
|
+
}
|
|
601
|
+
finally {
|
|
602
|
+
visitedObjects.delete(p);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedWorkflow(p) {
|
|
606
|
+
}
|
|
603
607
|
function _aws_cdk_aws_imagebuilder_alpha_BaseImage(p) {
|
|
604
608
|
}
|
|
605
609
|
function _aws_cdk_aws_imagebuilder_alpha_BaseContainerImage(p) {
|
|
@@ -666,4 +670,4 @@ class DeprecationError extends Error {
|
|
|
666
670
|
});
|
|
667
671
|
}
|
|
668
672
|
}
|
|
669
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_imagebuilder_alpha_IComponent, _aws_cdk_aws_imagebuilder_alpha_ComponentProps, _aws_cdk_aws_imagebuilder_alpha_ComponentAttributes,
|
|
673
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_imagebuilder_alpha_IComponent, _aws_cdk_aws_imagebuilder_alpha_ComponentProps, _aws_cdk_aws_imagebuilder_alpha_ComponentAttributes, _aws_cdk_aws_imagebuilder_alpha_AwsMarketplaceComponentAttributes, _aws_cdk_aws_imagebuilder_alpha_ComponentDocument, _aws_cdk_aws_imagebuilder_alpha_ComponentDocumentPhase, _aws_cdk_aws_imagebuilder_alpha_ComponentDocumentStep, _aws_cdk_aws_imagebuilder_alpha_ComponentDocumentLoop, _aws_cdk_aws_imagebuilder_alpha_ComponentDocumentForLoop, _aws_cdk_aws_imagebuilder_alpha_ComponentConstantValue, _aws_cdk_aws_imagebuilder_alpha_ComponentDocumentParameterDefinition, _aws_cdk_aws_imagebuilder_alpha_ComponentAction, _aws_cdk_aws_imagebuilder_alpha_ComponentOnFailure, _aws_cdk_aws_imagebuilder_alpha_ComponentParameterType, _aws_cdk_aws_imagebuilder_alpha_ComponentPhaseName, _aws_cdk_aws_imagebuilder_alpha_ComponentSchemaVersion, _aws_cdk_aws_imagebuilder_alpha_ComponentStepInputs, _aws_cdk_aws_imagebuilder_alpha_ComponentStepIfCondition, _aws_cdk_aws_imagebuilder_alpha_ComponentDataConfig, _aws_cdk_aws_imagebuilder_alpha_ComponentData, _aws_cdk_aws_imagebuilder_alpha_S3ComponentData, _aws_cdk_aws_imagebuilder_alpha_AwsMarketplaceComponent, _aws_cdk_aws_imagebuilder_alpha_Component, _aws_cdk_aws_imagebuilder_alpha_IContainerRecipe, _aws_cdk_aws_imagebuilder_alpha_ContainerRecipeProps, _aws_cdk_aws_imagebuilder_alpha_ContainerType, _aws_cdk_aws_imagebuilder_alpha_DockerfileTemplateConfig, _aws_cdk_aws_imagebuilder_alpha_DockerfileData, _aws_cdk_aws_imagebuilder_alpha_S3DockerfileData, _aws_cdk_aws_imagebuilder_alpha_ContainerRecipeAttributes, _aws_cdk_aws_imagebuilder_alpha_ContainerRecipeBase, _aws_cdk_aws_imagebuilder_alpha_ContainerRecipe, _aws_cdk_aws_imagebuilder_alpha_IDistributionConfiguration, _aws_cdk_aws_imagebuilder_alpha_AmiLaunchPermission, _aws_cdk_aws_imagebuilder_alpha_SSMParameterConfigurations, _aws_cdk_aws_imagebuilder_alpha_LaunchTemplateConfiguration, _aws_cdk_aws_imagebuilder_alpha_FastLaunchConfiguration, _aws_cdk_aws_imagebuilder_alpha_AmiDistribution, _aws_cdk_aws_imagebuilder_alpha_ContainerDistribution, _aws_cdk_aws_imagebuilder_alpha_DistributionConfigurationProps, _aws_cdk_aws_imagebuilder_alpha_RepositoryService, _aws_cdk_aws_imagebuilder_alpha_Repository, _aws_cdk_aws_imagebuilder_alpha_DistributionConfiguration, _aws_cdk_aws_imagebuilder_alpha_IImage, _aws_cdk_aws_imagebuilder_alpha_ImageProps, _aws_cdk_aws_imagebuilder_alpha_ImageAttributes, _aws_cdk_aws_imagebuilder_alpha_ImageArchitecture, _aws_cdk_aws_imagebuilder_alpha_ImageType, _aws_cdk_aws_imagebuilder_alpha_Image, _aws_cdk_aws_imagebuilder_alpha_IImagePipeline, _aws_cdk_aws_imagebuilder_alpha_ImagePipelineProps, _aws_cdk_aws_imagebuilder_alpha_ImagePipelineSchedule, _aws_cdk_aws_imagebuilder_alpha_ScheduleStartCondition, _aws_cdk_aws_imagebuilder_alpha_ImagePipelineStatus, _aws_cdk_aws_imagebuilder_alpha_ImagePipeline, _aws_cdk_aws_imagebuilder_alpha_IImageRecipe, _aws_cdk_aws_imagebuilder_alpha_ImageRecipeProps, _aws_cdk_aws_imagebuilder_alpha_ImageRecipeAttributes, _aws_cdk_aws_imagebuilder_alpha_ImageRecipe, _aws_cdk_aws_imagebuilder_alpha_IInfrastructureConfiguration, _aws_cdk_aws_imagebuilder_alpha_HttpTokens, _aws_cdk_aws_imagebuilder_alpha_Tenancy, _aws_cdk_aws_imagebuilder_alpha_InfrastructureConfigurationLogging, _aws_cdk_aws_imagebuilder_alpha_InfrastructureConfigurationProps, _aws_cdk_aws_imagebuilder_alpha_InfrastructureConfiguration, _aws_cdk_aws_imagebuilder_alpha_ILifecyclePolicy, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyActionType, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyStatus, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyResourceType, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyAction, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyFilter, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyCountFilter, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyAgeFilter, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyImageExclusionRules, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyAmiExclusionRules, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyExclusionRules, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyDetail, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyResourceSelection, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicyProps, _aws_cdk_aws_imagebuilder_alpha_LifecyclePolicy, _aws_cdk_aws_imagebuilder_alpha_IWorkflow, _aws_cdk_aws_imagebuilder_alpha_WorkflowProps, _aws_cdk_aws_imagebuilder_alpha_WorkflowAttributes, _aws_cdk_aws_imagebuilder_alpha_WorkflowAction, _aws_cdk_aws_imagebuilder_alpha_WorkflowOnFailure, _aws_cdk_aws_imagebuilder_alpha_WorkflowParameterType, _aws_cdk_aws_imagebuilder_alpha_WorkflowSchemaVersion, _aws_cdk_aws_imagebuilder_alpha_WorkflowType, _aws_cdk_aws_imagebuilder_alpha_WorkflowDataConfig, _aws_cdk_aws_imagebuilder_alpha_WorkflowData, _aws_cdk_aws_imagebuilder_alpha_S3WorkflowData, _aws_cdk_aws_imagebuilder_alpha_WorkflowParameterValue, _aws_cdk_aws_imagebuilder_alpha_WorkflowConfiguration, _aws_cdk_aws_imagebuilder_alpha_Workflow, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentAttributes, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponent, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageAttributes, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageOptions, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImage, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedWorkflowAttributes, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedWorkflow, _aws_cdk_aws_imagebuilder_alpha_BaseImage, _aws_cdk_aws_imagebuilder_alpha_BaseContainerImage, _aws_cdk_aws_imagebuilder_alpha_ContainerInstanceImage, _aws_cdk_aws_imagebuilder_alpha_Platform, _aws_cdk_aws_imagebuilder_alpha_OSVersion, _aws_cdk_aws_imagebuilder_alpha_ComponentParameterValue, _aws_cdk_aws_imagebuilder_alpha_ComponentConfiguration, _aws_cdk_aws_imagebuilder_alpha_IRecipeBase };
|
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright 2018-
|
|
189
|
+
Copyright 2018-2026 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/NOTICE
CHANGED
package/README.md
CHANGED
|
@@ -199,8 +199,8 @@ Use AWS-managed workflows for common pipeline phases:
|
|
|
199
199
|
const workflowPipeline = new imagebuilder.ImagePipeline(this, 'WorkflowPipeline', {
|
|
200
200
|
recipe: exampleImageRecipe,
|
|
201
201
|
workflows: [
|
|
202
|
-
{ workflow: imagebuilder.
|
|
203
|
-
{ workflow: imagebuilder.
|
|
202
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.buildImage(this, 'BuildWorkflow') },
|
|
203
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.testImage(this, 'TestWorkflow') }
|
|
204
204
|
]
|
|
205
205
|
});
|
|
206
206
|
```
|
|
@@ -211,9 +211,9 @@ For container pipelines, use container-specific workflows:
|
|
|
211
211
|
const containerWorkflowPipeline = new imagebuilder.ImagePipeline(this, 'ContainerWorkflowPipeline', {
|
|
212
212
|
recipe: exampleContainerRecipe,
|
|
213
213
|
workflows: [
|
|
214
|
-
{ workflow: imagebuilder.
|
|
215
|
-
{ workflow: imagebuilder.
|
|
216
|
-
{ workflow: imagebuilder.
|
|
214
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.buildContainer(this, 'BuildContainer') },
|
|
215
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.testContainer(this, 'TestContainer') },
|
|
216
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.distributeContainer(this, 'DistributeContainer') }
|
|
217
217
|
]
|
|
218
218
|
});
|
|
219
219
|
```
|
|
@@ -430,8 +430,8 @@ Use workflows for custom build, test, and distribution processes:
|
|
|
430
430
|
const imageWithWorkflows = new imagebuilder.Image(this, 'ImageWithWorkflows', {
|
|
431
431
|
recipe: exampleImageRecipe,
|
|
432
432
|
workflows: [
|
|
433
|
-
{ workflow: imagebuilder.
|
|
434
|
-
{ workflow: imagebuilder.
|
|
433
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.buildImage(this, 'BuildWorkflow') },
|
|
434
|
+
{ workflow: imagebuilder.AmazonManagedWorkflow.testImage(this, 'TestWorkflow') }
|
|
435
435
|
]
|
|
436
436
|
});
|
|
437
437
|
```
|
|
@@ -603,12 +603,12 @@ const imageRecipe = new imagebuilder.ImageRecipe(this, 'AmazonManagedImageRecipe
|
|
|
603
603
|
),
|
|
604
604
|
components: [
|
|
605
605
|
{
|
|
606
|
-
component: imagebuilder.
|
|
606
|
+
component: imagebuilder.AmazonManagedComponent.updateOs(this, 'UpdateOS', {
|
|
607
607
|
platform: imagebuilder.Platform.LINUX
|
|
608
608
|
})
|
|
609
609
|
},
|
|
610
610
|
{
|
|
611
|
-
component: imagebuilder.
|
|
611
|
+
component: imagebuilder.AmazonManagedComponent.awsCliV2(this, 'AwsCli', {
|
|
612
612
|
platform: imagebuilder.Platform.LINUX
|
|
613
613
|
})
|
|
614
614
|
}
|
|
@@ -790,19 +790,19 @@ const containerRecipe = new imagebuilder.ContainerRecipe(this, 'ComponentContain
|
|
|
790
790
|
Use pre-built AWS components:
|
|
791
791
|
|
|
792
792
|
```ts
|
|
793
|
-
const containerRecipe = new imagebuilder.ContainerRecipe(this, '
|
|
793
|
+
const containerRecipe = new imagebuilder.ContainerRecipe(this, 'AmazonManagedContainerRecipe', {
|
|
794
794
|
baseImage: imagebuilder.BaseContainerImage.fromDockerHub('amazonlinux', 'latest'),
|
|
795
795
|
targetRepository: imagebuilder.Repository.fromEcr(
|
|
796
796
|
ecr.Repository.fromRepositoryName(this, 'Repository', 'my-container-repo')
|
|
797
797
|
),
|
|
798
798
|
components: [
|
|
799
799
|
{
|
|
800
|
-
component: imagebuilder.
|
|
800
|
+
component: imagebuilder.AmazonManagedComponent.updateOs(this, 'UpdateOS', {
|
|
801
801
|
platform: imagebuilder.Platform.LINUX
|
|
802
802
|
})
|
|
803
803
|
},
|
|
804
804
|
{
|
|
805
|
-
component: imagebuilder.
|
|
805
|
+
component: imagebuilder.AmazonManagedComponent.awsCliV2(this, 'AwsCli', {
|
|
806
806
|
platform: imagebuilder.Platform.LINUX
|
|
807
807
|
})
|
|
808
808
|
}
|
|
@@ -1070,17 +1070,17 @@ AWS provides a collection of managed components for common tasks:
|
|
|
1070
1070
|
|
|
1071
1071
|
```ts
|
|
1072
1072
|
// Install AWS CLI v2
|
|
1073
|
-
const awsCliComponent = imagebuilder.
|
|
1073
|
+
const awsCliComponent = imagebuilder.AmazonManagedComponent.awsCliV2(this, 'AwsCli', {
|
|
1074
1074
|
platform: imagebuilder.Platform.LINUX
|
|
1075
1075
|
});
|
|
1076
1076
|
|
|
1077
1077
|
// Update the operating system
|
|
1078
|
-
const updateComponent = imagebuilder.
|
|
1078
|
+
const updateComponent = imagebuilder.AmazonManagedComponent.updateOs(this, 'UpdateOS', {
|
|
1079
1079
|
platform: imagebuilder.Platform.LINUX
|
|
1080
1080
|
});
|
|
1081
1081
|
|
|
1082
1082
|
// Reference any AWS-managed component by name
|
|
1083
|
-
const customAwsComponent = imagebuilder.
|
|
1083
|
+
const customAwsComponent = imagebuilder.AmazonManagedComponent.fromAmazonManagedComponentName(
|
|
1084
1084
|
this,
|
|
1085
1085
|
'CloudWatchAgent',
|
|
1086
1086
|
'amazon-cloudwatch-agent-linux'
|
|
@@ -1517,15 +1517,15 @@ AWS provides a collection of workflows for common scenarios:
|
|
|
1517
1517
|
|
|
1518
1518
|
```ts
|
|
1519
1519
|
// Build workflows
|
|
1520
|
-
const buildImageWorkflow = imagebuilder.
|
|
1521
|
-
const buildContainerWorkflow = imagebuilder.
|
|
1520
|
+
const buildImageWorkflow = imagebuilder.AmazonManagedWorkflow.buildImage(this, 'BuildImage');
|
|
1521
|
+
const buildContainerWorkflow = imagebuilder.AmazonManagedWorkflow.buildContainer(this, 'BuildContainer');
|
|
1522
1522
|
|
|
1523
1523
|
// Test workflows
|
|
1524
|
-
const testImageWorkflow = imagebuilder.
|
|
1525
|
-
const testContainerWorkflow = imagebuilder.
|
|
1524
|
+
const testImageWorkflow = imagebuilder.AmazonManagedWorkflow.testImage(this, 'TestImage');
|
|
1525
|
+
const testContainerWorkflow = imagebuilder.AmazonManagedWorkflow.testContainer(this, 'TestContainer');
|
|
1526
1526
|
|
|
1527
1527
|
// Distribution workflows
|
|
1528
|
-
const distributeContainerWorkflow = imagebuilder.
|
|
1528
|
+
const distributeContainerWorkflow = imagebuilder.AmazonManagedWorkflow.distributeContainer(this, 'DistributeContainer');
|
|
1529
1529
|
```
|
|
1530
1530
|
|
|
1531
1531
|
### Lifecycle Policy
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Construct } from 'constructs';
|
|
2
|
+
import { IComponent } from './component';
|
|
3
|
+
import { Platform } from './os-version';
|
|
4
|
+
/**
|
|
5
|
+
* Properties for an EC2 Image Builder Amazon-managed component
|
|
6
|
+
*/
|
|
7
|
+
export interface AmazonManagedComponentAttributes {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the Amazon-managed component
|
|
10
|
+
*/
|
|
11
|
+
readonly componentName: string;
|
|
12
|
+
/**
|
|
13
|
+
* The version of the Amazon-managed component
|
|
14
|
+
*
|
|
15
|
+
* @default - the latest version of the component, x.x.x
|
|
16
|
+
*/
|
|
17
|
+
readonly componentVersion?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Options for selecting a predefined Amazon-managed image
|
|
21
|
+
*/
|
|
22
|
+
export interface AmazonManagedComponentOptions {
|
|
23
|
+
/**
|
|
24
|
+
* The platform of the Amazon-managed component
|
|
25
|
+
*/
|
|
26
|
+
readonly platform: Platform;
|
|
27
|
+
/**
|
|
28
|
+
* The version of the Amazon-managed component
|
|
29
|
+
*
|
|
30
|
+
* @default - the latest version of the component, x.x.x
|
|
31
|
+
*/
|
|
32
|
+
readonly componentVersion?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Helper class for working with Amazon-managed components
|
|
36
|
+
*/
|
|
37
|
+
export declare abstract class AmazonManagedComponent {
|
|
38
|
+
/**
|
|
39
|
+
* Imports the AWS CLI v2 Amazon-managed component
|
|
40
|
+
*
|
|
41
|
+
* @param scope The construct scope
|
|
42
|
+
* @param id Identifier of the construct
|
|
43
|
+
* @param opts The Amazon-managed component options
|
|
44
|
+
*/
|
|
45
|
+
static awsCliV2(scope: Construct, id: string, opts: AmazonManagedComponentOptions): IComponent;
|
|
46
|
+
/**
|
|
47
|
+
* Imports the hello world Amazon-managed component
|
|
48
|
+
*
|
|
49
|
+
* @param scope The construct scope
|
|
50
|
+
* @param id Identifier of the construct
|
|
51
|
+
* @param opts The Amazon-managed component options
|
|
52
|
+
*/
|
|
53
|
+
static helloWorld(scope: Construct, id: string, opts: AmazonManagedComponentOptions): IComponent;
|
|
54
|
+
/**
|
|
55
|
+
* Imports the Python 3 Amazon-managed component
|
|
56
|
+
*
|
|
57
|
+
* @param scope The construct scope
|
|
58
|
+
* @param id Identifier of the construct
|
|
59
|
+
* @param opts The Amazon-managed component options
|
|
60
|
+
*/
|
|
61
|
+
static python3(scope: Construct, id: string, opts: AmazonManagedComponentOptions): IComponent;
|
|
62
|
+
/**
|
|
63
|
+
* Imports the reboot Amazon-managed component
|
|
64
|
+
*
|
|
65
|
+
* @param scope The construct scope
|
|
66
|
+
* @param id Identifier of the construct
|
|
67
|
+
* @param opts The Amazon-managed component options
|
|
68
|
+
*/
|
|
69
|
+
static reboot(scope: Construct, id: string, opts: AmazonManagedComponentOptions): IComponent;
|
|
70
|
+
/**
|
|
71
|
+
* Imports the STIG hardening Amazon-managed component
|
|
72
|
+
*
|
|
73
|
+
* @param scope The construct scope
|
|
74
|
+
* @param id Identifier of the construct
|
|
75
|
+
* @param opts The Amazon-managed component options
|
|
76
|
+
*
|
|
77
|
+
* @see https://docs.aws.amazon.com/imagebuilder/latest/userguide/ib-stig.html
|
|
78
|
+
*/
|
|
79
|
+
static stigBuild(scope: Construct, id: string, opts: AmazonManagedComponentOptions): IComponent;
|
|
80
|
+
/**
|
|
81
|
+
* Imports the OS update Amazon-managed component
|
|
82
|
+
*
|
|
83
|
+
* @param scope The construct scope
|
|
84
|
+
* @param id Identifier of the construct
|
|
85
|
+
* @param opts The Amazon-managed component attributes
|
|
86
|
+
*/
|
|
87
|
+
static updateOs(scope: Construct, id: string, opts: AmazonManagedComponentOptions): IComponent;
|
|
88
|
+
/**
|
|
89
|
+
* Imports an Amazon-managed component from its attributes
|
|
90
|
+
*
|
|
91
|
+
* @param scope The construct scope
|
|
92
|
+
* @param id Identifier of the construct
|
|
93
|
+
* @param attrs The Amazon-managed component attributes
|
|
94
|
+
*/
|
|
95
|
+
static fromAmazonManagedComponentAttributes(scope: Construct, id: string, attrs: AmazonManagedComponentAttributes): IComponent;
|
|
96
|
+
/**
|
|
97
|
+
* Imports an Amazon-managed component from its name
|
|
98
|
+
*
|
|
99
|
+
* @param scope The construct scope
|
|
100
|
+
* @param id Identifier of the construct
|
|
101
|
+
* @param amazonManagedComponentName - The name of the Amazon-managed component
|
|
102
|
+
*/
|
|
103
|
+
static fromAmazonManagedComponentName(scope: Construct, id: string, amazonManagedComponentName: string): IComponent;
|
|
104
|
+
private static readonly AWS_CLI_V2_CONFIG;
|
|
105
|
+
private static readonly HELLO_WORLD_CONFIG;
|
|
106
|
+
private static readonly PYTHON_3_CONFIG;
|
|
107
|
+
private static readonly REBOOT_CONFIG;
|
|
108
|
+
private static readonly STIG_BUILD_CONFIG;
|
|
109
|
+
private static readonly UPDATE_OS_CONFIG;
|
|
110
|
+
private static validatePredefinedManagedComponentOptions;
|
|
111
|
+
private static predefinedManagedComponent;
|
|
112
|
+
}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AmazonManagedComponent = void 0;
|
|
4
|
+
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cdk = require("aws-cdk-lib");
|
|
7
|
+
const component_1 = require("./component");
|
|
8
|
+
const os_version_1 = require("./os-version");
|
|
9
|
+
const constants_1 = require("./private/constants");
|
|
10
|
+
/**
|
|
11
|
+
* Helper class for working with Amazon-managed components
|
|
12
|
+
*/
|
|
13
|
+
class AmazonManagedComponent {
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedComponent", version: "2.234.0-alpha.0" };
|
|
15
|
+
/**
|
|
16
|
+
* Imports the AWS CLI v2 Amazon-managed component
|
|
17
|
+
*
|
|
18
|
+
* @param scope The construct scope
|
|
19
|
+
* @param id Identifier of the construct
|
|
20
|
+
* @param opts The Amazon-managed component options
|
|
21
|
+
*/
|
|
22
|
+
static awsCliV2(scope, id, opts) {
|
|
23
|
+
try {
|
|
24
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(opts);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
28
|
+
Error.captureStackTrace(error, this.awsCliV2);
|
|
29
|
+
}
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
return this.predefinedManagedComponent(scope, id, opts, this.AWS_CLI_V2_CONFIG);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Imports the hello world Amazon-managed component
|
|
36
|
+
*
|
|
37
|
+
* @param scope The construct scope
|
|
38
|
+
* @param id Identifier of the construct
|
|
39
|
+
* @param opts The Amazon-managed component options
|
|
40
|
+
*/
|
|
41
|
+
static helloWorld(scope, id, opts) {
|
|
42
|
+
try {
|
|
43
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(opts);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
47
|
+
Error.captureStackTrace(error, this.helloWorld);
|
|
48
|
+
}
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
return this.predefinedManagedComponent(scope, id, opts, this.HELLO_WORLD_CONFIG);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Imports the Python 3 Amazon-managed component
|
|
55
|
+
*
|
|
56
|
+
* @param scope The construct scope
|
|
57
|
+
* @param id Identifier of the construct
|
|
58
|
+
* @param opts The Amazon-managed component options
|
|
59
|
+
*/
|
|
60
|
+
static python3(scope, id, opts) {
|
|
61
|
+
try {
|
|
62
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(opts);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
66
|
+
Error.captureStackTrace(error, this.python3);
|
|
67
|
+
}
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
return this.predefinedManagedComponent(scope, id, opts, this.PYTHON_3_CONFIG);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Imports the reboot Amazon-managed component
|
|
74
|
+
*
|
|
75
|
+
* @param scope The construct scope
|
|
76
|
+
* @param id Identifier of the construct
|
|
77
|
+
* @param opts The Amazon-managed component options
|
|
78
|
+
*/
|
|
79
|
+
static reboot(scope, id, opts) {
|
|
80
|
+
try {
|
|
81
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(opts);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
85
|
+
Error.captureStackTrace(error, this.reboot);
|
|
86
|
+
}
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
return this.predefinedManagedComponent(scope, id, opts, this.REBOOT_CONFIG);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Imports the STIG hardening Amazon-managed component
|
|
93
|
+
*
|
|
94
|
+
* @param scope The construct scope
|
|
95
|
+
* @param id Identifier of the construct
|
|
96
|
+
* @param opts The Amazon-managed component options
|
|
97
|
+
*
|
|
98
|
+
* @see https://docs.aws.amazon.com/imagebuilder/latest/userguide/ib-stig.html
|
|
99
|
+
*/
|
|
100
|
+
static stigBuild(scope, id, opts) {
|
|
101
|
+
try {
|
|
102
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(opts);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
106
|
+
Error.captureStackTrace(error, this.stigBuild);
|
|
107
|
+
}
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
return this.predefinedManagedComponent(scope, id, opts, this.STIG_BUILD_CONFIG);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Imports the OS update Amazon-managed component
|
|
114
|
+
*
|
|
115
|
+
* @param scope The construct scope
|
|
116
|
+
* @param id Identifier of the construct
|
|
117
|
+
* @param opts The Amazon-managed component attributes
|
|
118
|
+
*/
|
|
119
|
+
static updateOs(scope, id, opts) {
|
|
120
|
+
try {
|
|
121
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentOptions(opts);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
125
|
+
Error.captureStackTrace(error, this.updateOs);
|
|
126
|
+
}
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
return this.predefinedManagedComponent(scope, id, opts, this.UPDATE_OS_CONFIG);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Imports an Amazon-managed component from its attributes
|
|
133
|
+
*
|
|
134
|
+
* @param scope The construct scope
|
|
135
|
+
* @param id Identifier of the construct
|
|
136
|
+
* @param attrs The Amazon-managed component attributes
|
|
137
|
+
*/
|
|
138
|
+
static fromAmazonManagedComponentAttributes(scope, id, attrs) {
|
|
139
|
+
try {
|
|
140
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_AmazonManagedComponentAttributes(attrs);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
144
|
+
Error.captureStackTrace(error, this.fromAmazonManagedComponentAttributes);
|
|
145
|
+
}
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
return component_1.Component.fromComponentArn(scope, id, cdk.Stack.of(scope).formatArn({
|
|
149
|
+
service: 'imagebuilder',
|
|
150
|
+
account: 'aws',
|
|
151
|
+
resource: 'component',
|
|
152
|
+
resourceName: `${attrs.componentName}/${attrs.componentVersion ?? constants_1.LATEST_VERSION}`,
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Imports an Amazon-managed component from its name
|
|
157
|
+
*
|
|
158
|
+
* @param scope The construct scope
|
|
159
|
+
* @param id Identifier of the construct
|
|
160
|
+
* @param amazonManagedComponentName - The name of the Amazon-managed component
|
|
161
|
+
*/
|
|
162
|
+
static fromAmazonManagedComponentName(scope, id, amazonManagedComponentName) {
|
|
163
|
+
return this.fromAmazonManagedComponentAttributes(scope, id, { componentName: amazonManagedComponentName });
|
|
164
|
+
}
|
|
165
|
+
static AWS_CLI_V2_CONFIG = {
|
|
166
|
+
component: 'awsCliV2',
|
|
167
|
+
supportedPlatforms: {
|
|
168
|
+
[os_version_1.Platform.LINUX]: 'aws-cli-version-2-linux',
|
|
169
|
+
[os_version_1.Platform.WINDOWS]: 'aws-cli-version-2-windows',
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
static HELLO_WORLD_CONFIG = {
|
|
173
|
+
component: 'helloWorld',
|
|
174
|
+
supportedPlatforms: {
|
|
175
|
+
[os_version_1.Platform.LINUX]: 'hello-world-linux',
|
|
176
|
+
[os_version_1.Platform.WINDOWS]: 'hello-world-windows',
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
static PYTHON_3_CONFIG = {
|
|
180
|
+
component: 'python3',
|
|
181
|
+
supportedPlatforms: {
|
|
182
|
+
[os_version_1.Platform.LINUX]: 'python-3-linux',
|
|
183
|
+
[os_version_1.Platform.WINDOWS]: 'python-3-windows',
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
static REBOOT_CONFIG = {
|
|
187
|
+
component: 'reboot',
|
|
188
|
+
supportedPlatforms: {
|
|
189
|
+
[os_version_1.Platform.LINUX]: 'reboot-linux',
|
|
190
|
+
[os_version_1.Platform.WINDOWS]: 'reboot-windows',
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
static STIG_BUILD_CONFIG = {
|
|
194
|
+
component: 'stigBuild',
|
|
195
|
+
supportedPlatforms: {
|
|
196
|
+
[os_version_1.Platform.LINUX]: 'stig-build-linux',
|
|
197
|
+
[os_version_1.Platform.WINDOWS]: 'stig-build-windows',
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
static UPDATE_OS_CONFIG = {
|
|
201
|
+
component: 'updateOS',
|
|
202
|
+
supportedPlatforms: {
|
|
203
|
+
[os_version_1.Platform.LINUX]: 'update-linux',
|
|
204
|
+
[os_version_1.Platform.WINDOWS]: 'update-windows',
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
static validatePredefinedManagedComponentOptions(scope, opts, component) {
|
|
208
|
+
if (opts.platform === undefined) {
|
|
209
|
+
throw new cdk.ValidationError(`a platform is required for ${component}`, scope);
|
|
210
|
+
}
|
|
211
|
+
if (cdk.Token.isUnresolved(opts.platform)) {
|
|
212
|
+
throw new cdk.ValidationError(`platform cannot be a token for ${component}`, scope);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
static predefinedManagedComponent(scope, id, opts, config) {
|
|
216
|
+
this.validatePredefinedManagedComponentOptions(scope, opts, config.component);
|
|
217
|
+
const componentName = config.supportedPlatforms[opts.platform];
|
|
218
|
+
if (!componentName) {
|
|
219
|
+
throw new cdk.ValidationError(`${opts.platform} is not a supported platform for ${config.component}`, scope);
|
|
220
|
+
}
|
|
221
|
+
return this.fromAmazonManagedComponentAttributes(scope, id, {
|
|
222
|
+
componentName,
|
|
223
|
+
componentVersion: opts.componentVersion,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
exports.AmazonManagedComponent = AmazonManagedComponent;
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLW1hbmFnZWQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW1hem9uLW1hbmFnZWQtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBRW5DLDJDQUFvRDtBQUNwRCw2Q0FBd0M7QUFDeEMsbURBQXFEO0FBeUNyRDs7R0FFRztBQUNILE1BQXNCLHNCQUFzQjs7SUFDMUM7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUFtQzs7Ozs7Ozs7OztRQUN0RixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNqRjtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBbUM7Ozs7Ozs7Ozs7UUFDeEYsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDbEY7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQW1DOzs7Ozs7Ozs7O1FBQ3JGLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUMvRTtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBbUM7Ozs7Ozs7Ozs7UUFDcEYsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tB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QztLQUNKOztBQTNMSCx3REE0TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJy4vb3MtdmVyc2lvbic7XG5pbXBvcnQgeyBMQVRFU1RfVkVSU0lPTiB9IGZyb20gJy4vcHJpdmF0ZS9jb25zdGFudHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFuIEVDMiBJbWFnZSBCdWlsZGVyIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRDb21wb25lbnRBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgY29tcG9uZW50LCB4LngueFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50VmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzZWxlY3RpbmcgYSBwcmVkZWZpbmVkIEFtYXpvbi1tYW5hZ2VkIGltYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHBsYXRmb3JtIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBQbGF0Zm9ybTtcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgY29tcG9uZW50LCB4LngueFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50VmVyc2lvbj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcge1xuICByZWFkb25seSBjb21wb25lbnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc3VwcG9ydGVkUGxhdGZvcm1zOiB7IFtwbGF0Zm9ybSBpbiBQbGF0Zm9ybV0/OiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIHdvcmtpbmcgd2l0aCBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbWF6b25NYW5hZ2VkQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIEFXUyBDTEkgdjIgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGF3c0NsaVYyKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRPcHRpb25zKTogSUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnQoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLkFXU19DTElfVjJfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBoZWxsbyB3b3JsZCBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaGVsbG9Xb3JsZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5IRUxMT19XT1JMRF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIFB5dGhvbiAzIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBweXRob24zKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRPcHRpb25zKTogSUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnQoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLlBZVEhPTl8zX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgcmVib290IEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWJvb3Qoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuUkVCT09UX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgU1RJRyBoYXJkZW5pbmcgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBvcHRpb25zXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ltYWdlYnVpbGRlci9sYXRlc3QvdXNlcmd1aWRlL2liLXN0aWcuaHRtbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdGlnQnVpbGQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuU1RJR19CVUlMRF9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIE9TIHVwZGF0ZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IGF0dHJpYnV0ZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXBkYXRlT3Moc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuVVBEQVRFX09TX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBhbiBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgZnJvbSBpdHMgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBhdHRycyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IGF0dHJpYnV0ZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFtYXpvbk1hbmFnZWRDb21wb25lbnRBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogQW1hem9uTWFuYWdlZENvbXBvbmVudEF0dHJpYnV0ZXMsXG4gICk6IElDb21wb25lbnQge1xuICAgIHJldHVybiBDb21wb25lbnQuZnJvbUNvbXBvbmVudEFybihcbiAgICAgIHNjb3BlLFxuICAgICAgaWQsXG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgICAgcmVzb3VyY2U6ICdjb21wb25lbnQnLFxuICAgICAgICByZXNvdXJjZU5hbWU6IGAke2F0dHJzLmNvbXBvbmVudE5hbWV9LyR7YXR0cnMuY29tcG9uZW50VmVyc2lvbiA/PyBMQVRFU1RfVkVSU0lPTn1gLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuICAvKipcbiAgICogSW1wb3J0cyBhbiBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgZnJvbSBpdHMgbmFtZVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBhbWF6b25NYW5hZ2VkQ29tcG9uZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFtYXpvbk1hbmFnZWRDb21wb25lbnROYW1lKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhbWF6b25NYW5hZ2VkQ29tcG9uZW50TmFtZTogc3RyaW5nLFxuICApOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQW1hem9uTWFuYWdlZENvbXBvbmVudEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IGNvbXBvbmVudE5hbWU6IGFtYXpvbk1hbmFnZWRDb21wb25lbnROYW1lIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQVdTX0NMSV9WMl9DT05GSUc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50OiAnYXdzQ2xpVjInLFxuICAgIHN1cHBvcnRlZFBsYXRmb3Jtczoge1xuICAgICAgW1BsYXRmb3JtLkxJTlVYXTogJ2F3cy1jbGktdmVyc2lvbi0yLWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ2F3cy1jbGktdmVyc2lvbi0yLXdpbmRvd3MnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgSEVMTE9fV09STERfQ09ORklHOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudDogJ2hlbGxvV29ybGQnLFxuICAgIHN1cHBvcnRlZFBsYXRmb3Jtczoge1xuICAgICAgW1BsYXRmb3JtLkxJTlVYXTogJ2hlbGxvLXdvcmxkLWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ2hlbGxvLXdvcmxkLXdpbmRvd3MnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUFlUSE9OXzNfQ09ORklHOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudDogJ3B5dGhvbjMnLFxuICAgIHN1cHBvcnRlZFBsYXRmb3Jtczoge1xuICAgICAgW1BsYXRmb3JtLkxJTlVYXTogJ3B5dGhvbi0zLWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ3B5dGhvbi0zLXdpbmRvd3MnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUkVCT09UX0NPTkZJRzogQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICBjb21wb25lbnQ6ICdyZWJvb3QnLFxuICAgIHN1cHBvcnRlZFBsYXRmb3Jtczoge1xuICAgICAgW1BsYXRmb3JtLkxJTlVYXTogJ3JlYm9vdC1saW51eCcsXG4gICAgICBbUGxhdGZvcm0uV0lORE9XU106ICdyZWJvb3Qtd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTVElHX0JVSUxEX0NPTkZJRzogQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICBjb21wb25lbnQ6ICdzdGlnQnVpbGQnLFxuICAgIHN1cHBvcnRlZFBsYXRmb3Jtczoge1xuICAgICAgW1BsYXRmb3JtLkxJTlVYXTogJ3N0aWctYnVpbGQtbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAnc3RpZy1idWlsZC13aW5kb3dzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFVQREFURV9PU19DT05GSUc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50OiAndXBkYXRlT1MnLFxuICAgIHN1cHBvcnRlZFBsYXRmb3Jtczoge1xuICAgICAgW1BsYXRmb3JtLkxJTlVYXTogJ3VwZGF0ZS1saW51eCcsXG4gICAgICBbUGxhdGZvcm0uV0lORE9XU106ICd1cGRhdGUtd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZVByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG9wdHM6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRPcHRpb25zLFxuICAgIGNvbXBvbmVudDogc3RyaW5nLFxuICApIHtcbiAgICBpZiAob3B0cy5wbGF0Zm9ybSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihgYSBwbGF0Zm9ybSBpcyByZXF1aXJlZCBmb3IgJHtjb21wb25lbnR9YCwgc2NvcGUpO1xuICAgIH1cblxuICAgIGlmIChjZGsuVG9rZW4uaXNVbnJlc29sdmVkKG9wdHMucGxhdGZvcm0pKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihgcGxhdGZvcm0gY2Fubm90IGJlIGEgdG9rZW4gZm9yICR7Y29tcG9uZW50fWAsIHNjb3BlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBwcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMsXG4gICAgY29uZmlnOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnLFxuICApOiBJQ29tcG9uZW50IHtcbiAgICB0aGlzLnZhbGlkYXRlUHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnRPcHRpb25zKHNjb3BlLCBvcHRzLCBjb25maWcuY29tcG9uZW50KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSBjb25maWcuc3VwcG9ydGVkUGxhdGZvcm1zW29wdHMucGxhdGZvcm1dO1xuXG4gICAgaWYgKCFjb21wb25lbnROYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihgJHtvcHRzLnBsYXRmb3JtfSBpcyBub3QgYSBzdXBwb3J0ZWQgcGxhdGZvcm0gZm9yICR7Y29uZmlnLmNvbXBvbmVudH1gLCBzY29wZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZnJvbUFtYXpvbk1hbmFnZWRDb21wb25lbnRBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgY29tcG9uZW50TmFtZSxcbiAgICAgIGNvbXBvbmVudFZlcnNpb246IG9wdHMuY29tcG9uZW50VmVyc2lvbixcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -10,7 +10,7 @@ const constants_1 = require("./private/constants");
|
|
|
10
10
|
* Helper class for working with Amazon-managed images
|
|
11
11
|
*/
|
|
12
12
|
class AmazonManagedImage {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedImage", version: "2.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedImage", version: "2.234.0-alpha.0" };
|
|
14
14
|
/**
|
|
15
15
|
* Imports the Amazon Linux 2 Amazon-managed image
|
|
16
16
|
*
|