@aws-cdk/aws-imagebuilder-alpha 2.230.0-alpha.0 → 2.231.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 +6650 -4518
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +49 -1
- package/README.md +216 -11
- package/awslint.json +1 -0
- package/lib/amazon-managed-image.d.ts +242 -0
- package/lib/amazon-managed-image.js +522 -0
- package/lib/base-image.d.ts +13 -0
- package/lib/base-image.js +39 -4
- package/lib/component.js +8 -8
- package/lib/container-recipe.js +4 -4
- package/lib/distribution-configuration.js +2 -2
- package/lib/image-pipeline.js +2 -2
- package/lib/image-recipe.js +1 -1
- package/lib/image.d.ts +339 -0
- package/lib/image.js +357 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/infrastructure-configuration.js +1 -1
- package/lib/lifecycle-policy.d.ts +3 -3
- package/lib/lifecycle-policy.js +5 -5
- package/lib/os-version.js +1 -1
- package/lib/private/constants.d.ts +7 -0
- package/lib/private/constants.js +11 -0
- package/lib/private/image-and-pipeline-props-helper.d.ts +4 -3
- package/lib/private/image-and-pipeline-props-helper.js +1 -1
- package/lib/private/policy-helper.d.ts +2 -1
- package/lib/private/policy-helper.js +1 -1
- package/lib/recipe-base.js +1 -1
- package/lib/workflow.js +5 -5
- package/package.json +6 -6
- package/rosetta/default.ts-fixture +4 -0
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -260,6 +260,36 @@ function _aws_cdk_aws_imagebuilder_alpha_Repository(p) {
|
|
|
260
260
|
}
|
|
261
261
|
function _aws_cdk_aws_imagebuilder_alpha_DistributionConfiguration(p) {
|
|
262
262
|
}
|
|
263
|
+
function _aws_cdk_aws_imagebuilder_alpha_IImage(p) {
|
|
264
|
+
}
|
|
265
|
+
function _aws_cdk_aws_imagebuilder_alpha_ImageProps(p) {
|
|
266
|
+
if (p == null)
|
|
267
|
+
return;
|
|
268
|
+
visitedObjects.add(p);
|
|
269
|
+
try {
|
|
270
|
+
if (!visitedObjects.has(p.recipe))
|
|
271
|
+
_aws_cdk_aws_imagebuilder_alpha_IRecipeBase(p.recipe);
|
|
272
|
+
if (!visitedObjects.has(p.distributionConfiguration))
|
|
273
|
+
_aws_cdk_aws_imagebuilder_alpha_IDistributionConfiguration(p.distributionConfiguration);
|
|
274
|
+
if (!visitedObjects.has(p.infrastructureConfiguration))
|
|
275
|
+
_aws_cdk_aws_imagebuilder_alpha_IInfrastructureConfiguration(p.infrastructureConfiguration);
|
|
276
|
+
if (p.workflows != null)
|
|
277
|
+
for (const o of p.workflows)
|
|
278
|
+
if (!visitedObjects.has(o))
|
|
279
|
+
_aws_cdk_aws_imagebuilder_alpha_WorkflowConfiguration(o);
|
|
280
|
+
}
|
|
281
|
+
finally {
|
|
282
|
+
visitedObjects.delete(p);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
function _aws_cdk_aws_imagebuilder_alpha_ImageAttributes(p) {
|
|
286
|
+
}
|
|
287
|
+
function _aws_cdk_aws_imagebuilder_alpha_ImageArchitecture(p) {
|
|
288
|
+
}
|
|
289
|
+
function _aws_cdk_aws_imagebuilder_alpha_ImageType(p) {
|
|
290
|
+
}
|
|
291
|
+
function _aws_cdk_aws_imagebuilder_alpha_Image(p) {
|
|
292
|
+
}
|
|
263
293
|
function _aws_cdk_aws_imagebuilder_alpha_IImagePipeline(p) {
|
|
264
294
|
}
|
|
265
295
|
function _aws_cdk_aws_imagebuilder_alpha_ImagePipelineProps(p) {
|
|
@@ -552,6 +582,24 @@ function _aws_cdk_aws_imagebuilder_alpha_AwsManagedWorkflow(p) {
|
|
|
552
582
|
}
|
|
553
583
|
function _aws_cdk_aws_imagebuilder_alpha_Workflow(p) {
|
|
554
584
|
}
|
|
585
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageAttributes(p) {
|
|
586
|
+
}
|
|
587
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageOptions(p) {
|
|
588
|
+
if (p == null)
|
|
589
|
+
return;
|
|
590
|
+
visitedObjects.add(p);
|
|
591
|
+
try {
|
|
592
|
+
if (!visitedObjects.has(p.imageArchitecture))
|
|
593
|
+
_aws_cdk_aws_imagebuilder_alpha_ImageArchitecture(p.imageArchitecture);
|
|
594
|
+
if (!visitedObjects.has(p.imageType))
|
|
595
|
+
_aws_cdk_aws_imagebuilder_alpha_ImageType(p.imageType);
|
|
596
|
+
}
|
|
597
|
+
finally {
|
|
598
|
+
visitedObjects.delete(p);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
function _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImage(p) {
|
|
602
|
+
}
|
|
555
603
|
function _aws_cdk_aws_imagebuilder_alpha_BaseImage(p) {
|
|
556
604
|
}
|
|
557
605
|
function _aws_cdk_aws_imagebuilder_alpha_BaseContainerImage(p) {
|
|
@@ -618,4 +666,4 @@ class DeprecationError extends Error {
|
|
|
618
666
|
});
|
|
619
667
|
}
|
|
620
668
|
}
|
|
621
|
-
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_AwsManagedComponentAttributes, _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_ComponentData, _aws_cdk_aws_imagebuilder_alpha_S3ComponentData, _aws_cdk_aws_imagebuilder_alpha_AwsManagedComponent, _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_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_AwsManagedWorkflowAttributes, _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_AwsManagedWorkflow, _aws_cdk_aws_imagebuilder_alpha_Workflow, _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 };
|
|
669
|
+
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_AwsManagedComponentAttributes, _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_ComponentData, _aws_cdk_aws_imagebuilder_alpha_S3ComponentData, _aws_cdk_aws_imagebuilder_alpha_AwsManagedComponent, _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_AwsManagedWorkflowAttributes, _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_AwsManagedWorkflow, _aws_cdk_aws_imagebuilder_alpha_Workflow, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageAttributes, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImageOptions, _aws_cdk_aws_imagebuilder_alpha_AmazonManagedImage, _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/README.md
CHANGED
|
@@ -38,7 +38,10 @@ test phase during the test stage.
|
|
|
38
38
|
|
|
39
39
|
### Image Pipeline
|
|
40
40
|
|
|
41
|
-
An image pipeline provides the automation framework for building secure AMIs and container images. The pipeline
|
|
41
|
+
An image pipeline provides the automation framework for building secure AMIs and container images. The pipeline
|
|
42
|
+
orchestrates the entire image creation process by combining an image recipe or container recipe with infrastructure
|
|
43
|
+
configuration and distribution configuration. Pipelines can run on a schedule or be triggered manually, and they manage
|
|
44
|
+
the build, test, and distribution phases automatically.
|
|
42
45
|
|
|
43
46
|
#### Image Pipeline Basic Usage
|
|
44
47
|
|
|
@@ -139,7 +142,7 @@ const advancedSchedulePipeline = new imagebuilder.ImagePipeline(this, 'AdvancedS
|
|
|
139
142
|
|
|
140
143
|
#### Image Pipeline Configuration
|
|
141
144
|
|
|
142
|
-
##### Infrastructure and Distribution
|
|
145
|
+
##### Infrastructure and Distribution in Image Pipelines
|
|
143
146
|
|
|
144
147
|
Configure custom infrastructure and distribution settings:
|
|
145
148
|
|
|
@@ -177,7 +180,7 @@ const pipelineLogGroup = new logs.LogGroup(this, 'PipelineLogGroup', {
|
|
|
177
180
|
});
|
|
178
181
|
|
|
179
182
|
const imageLogGroup = new logs.LogGroup(this, 'ImageLogGroup', {
|
|
180
|
-
logGroupName: '/custom/imagebuilder/image/logs',
|
|
183
|
+
logGroupName: '/custom/imagebuilder/image/logs',
|
|
181
184
|
retention: logs.RetentionDays.ONE_WEEK
|
|
182
185
|
});
|
|
183
186
|
|
|
@@ -188,7 +191,7 @@ const loggedPipeline = new imagebuilder.ImagePipeline(this, 'LoggedPipeline', {
|
|
|
188
191
|
});
|
|
189
192
|
```
|
|
190
193
|
|
|
191
|
-
##### Workflow Integration
|
|
194
|
+
##### Workflow Integration in Image Pipelines
|
|
192
195
|
|
|
193
196
|
Use AWS-managed workflows for common pipeline phases:
|
|
194
197
|
|
|
@@ -215,7 +218,7 @@ const containerWorkflowPipeline = new imagebuilder.ImagePipeline(this, 'Containe
|
|
|
215
218
|
});
|
|
216
219
|
```
|
|
217
220
|
|
|
218
|
-
##### Advanced Features
|
|
221
|
+
##### Advanced Features in Image Pipelines
|
|
219
222
|
|
|
220
223
|
Configure image scanning for container pipelines:
|
|
221
224
|
|
|
@@ -286,6 +289,204 @@ existingPipelineByName.grantStartExecution(automationRole);
|
|
|
286
289
|
existingPipelineByArn.grantRead(lambdaRole);
|
|
287
290
|
```
|
|
288
291
|
|
|
292
|
+
### Image
|
|
293
|
+
|
|
294
|
+
An image is the output resource created by Image Builder, consisting of an AMI or container image plus metadata such as
|
|
295
|
+
version, platform, and creation details. Images are used as base images for future builds and can be shared across AWS
|
|
296
|
+
accounts. While images are the output from image pipeline executions, they can also be created in an ad-hoc manner
|
|
297
|
+
outside a pipeline, defined as a standalone resource.
|
|
298
|
+
|
|
299
|
+
#### Image Basic Usage
|
|
300
|
+
|
|
301
|
+
Create a simple AMI-based image from an image recipe:
|
|
302
|
+
|
|
303
|
+
```ts
|
|
304
|
+
const imageRecipe = new imagebuilder.ImageRecipe(this, 'MyImageRecipe', {
|
|
305
|
+
baseImage: imagebuilder.BaseImage.fromSsmParameterName(
|
|
306
|
+
'/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64'
|
|
307
|
+
)
|
|
308
|
+
});
|
|
309
|
+
|
|
310
|
+
const amiImage = new imagebuilder.Image(this, 'MyAmiImage', {
|
|
311
|
+
recipe: imageRecipe
|
|
312
|
+
});
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Create a simple container image from a container recipe:
|
|
316
|
+
|
|
317
|
+
```ts
|
|
318
|
+
const containerRecipe = new imagebuilder.ContainerRecipe(this, 'MyContainerRecipe', {
|
|
319
|
+
baseImage: imagebuilder.BaseContainerImage.fromDockerHub('amazonlinux', 'latest'),
|
|
320
|
+
targetRepository: imagebuilder.Repository.fromEcr(
|
|
321
|
+
ecr.Repository.fromRepositoryName(this, 'Repository', 'my-container-repo')
|
|
322
|
+
)
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
const containerImage = new imagebuilder.Image(this, 'MyContainerImage', {
|
|
326
|
+
recipe: containerRecipe
|
|
327
|
+
});
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
#### AWS-Managed Images
|
|
331
|
+
|
|
332
|
+
##### Pre-defined OS Images
|
|
333
|
+
|
|
334
|
+
Use AWS-managed images for common operating systems:
|
|
335
|
+
|
|
336
|
+
```ts
|
|
337
|
+
// Amazon Linux 2023 AMI for x86_64
|
|
338
|
+
const amazonLinux2023Ami = imagebuilder.AmazonManagedImage.amazonLinux2023(this, 'AmazonLinux2023', {
|
|
339
|
+
imageType: imagebuilder.ImageType.AMI,
|
|
340
|
+
imageArchitecture: imagebuilder.ImageArchitecture.X86_64
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
// Ubuntu 22.04 AMI for ARM64
|
|
344
|
+
const ubuntu2204Ami = imagebuilder.AmazonManagedImage.ubuntuServer2204(this, 'Ubuntu2204', {
|
|
345
|
+
imageType: imagebuilder.ImageType.AMI,
|
|
346
|
+
imageArchitecture: imagebuilder.ImageArchitecture.ARM64
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
// Windows Server 2022 Full AMI
|
|
350
|
+
const windows2022Ami = imagebuilder.AmazonManagedImage.windowsServer2022Full(this, 'Windows2022', {
|
|
351
|
+
imageType: imagebuilder.ImageType.AMI,
|
|
352
|
+
imageArchitecture: imagebuilder.ImageArchitecture.X86_64
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
// Use as base image in recipe
|
|
356
|
+
const managedImageRecipe = new imagebuilder.ImageRecipe(this, 'ManagedImageRecipe', {
|
|
357
|
+
baseImage: amazonLinux2023Ami.toBaseImage()
|
|
358
|
+
});
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
##### Custom AWS-Managed Images
|
|
362
|
+
|
|
363
|
+
Import AWS-managed images by name or attributes:
|
|
364
|
+
|
|
365
|
+
```ts
|
|
366
|
+
// Import by name
|
|
367
|
+
const managedImageByName = imagebuilder.AmazonManagedImage.fromAmazonManagedImageName(
|
|
368
|
+
this,
|
|
369
|
+
'ManagedImageByName',
|
|
370
|
+
'amazon-linux-2023-x86'
|
|
371
|
+
);
|
|
372
|
+
|
|
373
|
+
// Import by attributes with specific version
|
|
374
|
+
const managedImageByAttributes = imagebuilder.AmazonManagedImage.fromAmazonManagedImageAttributes(this, 'ManagedImageByAttributes', {
|
|
375
|
+
imageName: 'ubuntu-server-22-lts-x86',
|
|
376
|
+
imageVersion: '2024.11.25'
|
|
377
|
+
});
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
#### Image Configuration
|
|
381
|
+
|
|
382
|
+
##### Infrastructure and Distribution in Images
|
|
383
|
+
|
|
384
|
+
Configure custom infrastructure and distribution settings:
|
|
385
|
+
|
|
386
|
+
```ts
|
|
387
|
+
const infrastructureConfiguration = new imagebuilder.InfrastructureConfiguration(this, 'Infrastructure', {
|
|
388
|
+
infrastructureConfigurationName: 'production-infrastructure',
|
|
389
|
+
instanceTypes: [
|
|
390
|
+
ec2.InstanceType.of(ec2.InstanceClass.COMPUTE7_INTEL, ec2.InstanceSize.LARGE)
|
|
391
|
+
],
|
|
392
|
+
vpc: vpc,
|
|
393
|
+
subnetSelection: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
const distributionConfiguration = new imagebuilder.DistributionConfiguration(this, 'Distribution');
|
|
397
|
+
distributionConfiguration.addAmiDistributions({
|
|
398
|
+
amiName: 'production-ami-{{ imagebuilder:buildDate }}',
|
|
399
|
+
amiTargetAccountIds: ['123456789012', '098765432109']
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
const productionImage = new imagebuilder.Image(this, 'ProductionImage', {
|
|
403
|
+
recipe: exampleImageRecipe,
|
|
404
|
+
infrastructureConfiguration: infrastructureConfiguration,
|
|
405
|
+
distributionConfiguration: distributionConfiguration
|
|
406
|
+
});
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
##### Logging Configuration
|
|
410
|
+
|
|
411
|
+
Configure custom CloudWatch log groups for image builds:
|
|
412
|
+
|
|
413
|
+
```ts
|
|
414
|
+
const logGroup = new logs.LogGroup(this, 'ImageLogGroup', {
|
|
415
|
+
logGroupName: '/custom/imagebuilder/image/logs',
|
|
416
|
+
retention: logs.RetentionDays.ONE_MONTH
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
const loggedImage = new imagebuilder.Image(this, 'LoggedImage', {
|
|
420
|
+
recipe: exampleImageRecipe,
|
|
421
|
+
logGroup: logGroup
|
|
422
|
+
});
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
##### Workflow Integration in Images
|
|
426
|
+
|
|
427
|
+
Use workflows for custom build, test, and distribution processes:
|
|
428
|
+
|
|
429
|
+
```ts
|
|
430
|
+
const imageWithWorkflows = new imagebuilder.Image(this, 'ImageWithWorkflows', {
|
|
431
|
+
recipe: exampleImageRecipe,
|
|
432
|
+
workflows: [
|
|
433
|
+
{ workflow: imagebuilder.AwsManagedWorkflow.buildImage(this, 'BuildWorkflow') },
|
|
434
|
+
{ workflow: imagebuilder.AwsManagedWorkflow.testImage(this, 'TestWorkflow') }
|
|
435
|
+
]
|
|
436
|
+
});
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
##### Advanced Features in Images
|
|
440
|
+
|
|
441
|
+
Configure image scanning, metadata collection, and testing:
|
|
442
|
+
|
|
443
|
+
```ts
|
|
444
|
+
const scanningRepository = new ecr.Repository(this, 'ScanningRepository');
|
|
445
|
+
|
|
446
|
+
const advancedContainerImage = new imagebuilder.Image(this, 'AdvancedContainerImage', {
|
|
447
|
+
recipe: exampleContainerRecipe,
|
|
448
|
+
imageScanningEnabled: true,
|
|
449
|
+
imageScanningEcrRepository: scanningRepository,
|
|
450
|
+
imageScanningEcrTags: ['security-scan', 'latest'],
|
|
451
|
+
enhancedImageMetadataEnabled: true,
|
|
452
|
+
imageTestsEnabled: false // Skip testing for faster builds
|
|
453
|
+
});
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
#### Importing Images
|
|
457
|
+
|
|
458
|
+
Reference existing images created outside CDK:
|
|
459
|
+
|
|
460
|
+
```ts
|
|
461
|
+
// Import by name
|
|
462
|
+
const existingImageByName = imagebuilder.Image.fromImageName(
|
|
463
|
+
this,
|
|
464
|
+
'ExistingImageByName',
|
|
465
|
+
'my-existing-image'
|
|
466
|
+
);
|
|
467
|
+
|
|
468
|
+
// Import by ARN
|
|
469
|
+
const existingImageByArn = imagebuilder.Image.fromImageArn(
|
|
470
|
+
this,
|
|
471
|
+
'ExistingImageByArn',
|
|
472
|
+
'arn:aws:imagebuilder:us-east-1:123456789012:image/imported-image/1.0.0'
|
|
473
|
+
);
|
|
474
|
+
|
|
475
|
+
// Import by attributes
|
|
476
|
+
const existingImageByAttributes = imagebuilder.Image.fromImageAttributes(this, 'ExistingImageByAttributes', {
|
|
477
|
+
imageName: 'shared-base-image',
|
|
478
|
+
imageVersion: '2024.11.25'
|
|
479
|
+
});
|
|
480
|
+
|
|
481
|
+
// Grant permissions to imported images
|
|
482
|
+
const role = new iam.Role(this, 'ImageAccessRole', {
|
|
483
|
+
assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com')
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
existingImageByName.grantRead(role);
|
|
487
|
+
existingImageByArn.grant(role, 'imagebuilder:GetImage', 'imagebuilder:ListImagePackages');
|
|
488
|
+
```
|
|
489
|
+
|
|
289
490
|
### Image Recipe
|
|
290
491
|
|
|
291
492
|
#### Image Recipe Basic Usage
|
|
@@ -396,7 +597,7 @@ const imageRecipe = new imagebuilder.ImageRecipe(this, 'ComponentImageRecipe', {
|
|
|
396
597
|
Use pre-built AWS components:
|
|
397
598
|
|
|
398
599
|
```ts
|
|
399
|
-
const imageRecipe = new imagebuilder.ImageRecipe(this, '
|
|
600
|
+
const imageRecipe = new imagebuilder.ImageRecipe(this, 'AmazonManagedImageRecipe', {
|
|
400
601
|
baseImage: imagebuilder.BaseImage.fromSsmParameterName(
|
|
401
602
|
'/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64'
|
|
402
603
|
),
|
|
@@ -1103,7 +1304,8 @@ containerDistributionConfiguration.addContainerDistributions({
|
|
|
1103
1304
|
|
|
1104
1305
|
### Workflow
|
|
1105
1306
|
|
|
1106
|
-
Workflows define the sequence of steps that Image Builder performs during image creation. There are three workflow
|
|
1307
|
+
Workflows define the sequence of steps that Image Builder performs during image creation. There are three workflow
|
|
1308
|
+
types: BUILD (image building), TEST (testing images), and DISTRIBUTION (distributing container images).
|
|
1107
1309
|
|
|
1108
1310
|
#### Basic Workflow Usage
|
|
1109
1311
|
|
|
@@ -1264,7 +1466,8 @@ const workflowFromS3 = new imagebuilder.Workflow(this, 'S3Workflow', {
|
|
|
1264
1466
|
|
|
1265
1467
|
#### Encrypt workflow data with a KMS key
|
|
1266
1468
|
|
|
1267
|
-
You can encrypt workflow data with a KMS key, so that only principals with access to decrypt with the key are able to
|
|
1469
|
+
You can encrypt workflow data with a KMS key, so that only principals with access to decrypt with the key are able to
|
|
1470
|
+
access the workflow data.
|
|
1268
1471
|
|
|
1269
1472
|
```ts
|
|
1270
1473
|
const workflow = new imagebuilder.Workflow(this, 'EncryptedWorkflow', {
|
|
@@ -1327,7 +1530,9 @@ const distributeContainerWorkflow = imagebuilder.AwsManagedWorkflow.distributeCo
|
|
|
1327
1530
|
|
|
1328
1531
|
### Lifecycle Policy
|
|
1329
1532
|
|
|
1330
|
-
Lifecycle policies help you manage the retention and cleanup of Image Builder resources automatically. These policies
|
|
1533
|
+
Lifecycle policies help you manage the retention and cleanup of Image Builder resources automatically. These policies
|
|
1534
|
+
define rules for deprecating or deleting old image versions, managing AMI snapshots, and controlling resource costs by
|
|
1535
|
+
removing unused images based on age, count, or other criteria.
|
|
1331
1536
|
|
|
1332
1537
|
#### Lifecycle Policy Basic Usage
|
|
1333
1538
|
|
|
@@ -1642,7 +1847,7 @@ const disabledPolicy = new imagebuilder.LifecyclePolicy(this, 'DisabledPolicy',
|
|
|
1642
1847
|
|
|
1643
1848
|
##### Importing Lifecycle Policies
|
|
1644
1849
|
|
|
1645
|
-
Reference lifecycle policies created outside
|
|
1850
|
+
Reference lifecycle policies created outside CDK:
|
|
1646
1851
|
|
|
1647
1852
|
```ts
|
|
1648
1853
|
// Import by name
|
|
@@ -1660,5 +1865,5 @@ const importedByArn = imagebuilder.LifecyclePolicy.fromLifecyclePolicyArn(
|
|
|
1660
1865
|
);
|
|
1661
1866
|
|
|
1662
1867
|
importedByName.grantRead(lambdaRole);
|
|
1663
|
-
importedByArn.grant(lambdaRole, 'imagebuilder:
|
|
1868
|
+
importedByArn.grant(lambdaRole, 'imagebuilder:UpdateLifecyclePolicy');
|
|
1664
1869
|
```
|
package/awslint.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"exclude": [
|
|
3
3
|
"props-no-arn-refs:@aws-cdk/aws-imagebuilder-alpha.InfrastructureConfigurationProps.ec2InstanceHostResourceGroupArn",
|
|
4
|
+
"props-physical-name:@aws-cdk/aws-imagebuilder-alpha.ImageProps",
|
|
4
5
|
"no-unused-type:@aws-cdk/aws-imagebuilder-alpha.ContainerType",
|
|
5
6
|
"no-unused-type:@aws-cdk/aws-imagebuilder-alpha.WorkflowAction",
|
|
6
7
|
"no-unused-type:@aws-cdk/aws-imagebuilder-alpha.WorkflowOnFailure",
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { Construct } from 'constructs';
|
|
2
|
+
import { IImage, ImageArchitecture, ImageType } from './image';
|
|
3
|
+
/**
|
|
4
|
+
* Attributes for importing an Amazon-managed image by name (and optionally a version)
|
|
5
|
+
*/
|
|
6
|
+
export interface AmazonManagedImageAttributes {
|
|
7
|
+
/**
|
|
8
|
+
* The name of the Amazon-managed image. The provided name must be normalized by converting all alphabetical
|
|
9
|
+
* characters to lowercase, and replacing all spaces and underscores with hyphens.
|
|
10
|
+
*/
|
|
11
|
+
readonly imageName: string;
|
|
12
|
+
/**
|
|
13
|
+
* The version of the Amazon-managed image
|
|
14
|
+
*
|
|
15
|
+
* @default x.x.x
|
|
16
|
+
*/
|
|
17
|
+
readonly imageVersion?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Options for selecting a predefined Amazon-managed image
|
|
21
|
+
*/
|
|
22
|
+
export interface AmazonManagedImageOptions {
|
|
23
|
+
/**
|
|
24
|
+
* The architecture of the Amazon-managed image
|
|
25
|
+
*/
|
|
26
|
+
readonly imageArchitecture: ImageArchitecture;
|
|
27
|
+
/**
|
|
28
|
+
* The type of the Amazon-managed image
|
|
29
|
+
*/
|
|
30
|
+
readonly imageType: ImageType;
|
|
31
|
+
/**
|
|
32
|
+
* The version of the Amazon-managed image
|
|
33
|
+
*
|
|
34
|
+
* @default x.x.x
|
|
35
|
+
*/
|
|
36
|
+
readonly imageVersion?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Helper class for working with Amazon-managed images
|
|
40
|
+
*/
|
|
41
|
+
export declare class AmazonManagedImage {
|
|
42
|
+
/**
|
|
43
|
+
* Imports the Amazon Linux 2 Amazon-managed image
|
|
44
|
+
*
|
|
45
|
+
* @param scope The construct scope
|
|
46
|
+
* @param id Identifier of the construct
|
|
47
|
+
* @param opts The Amazon-managed image attributes
|
|
48
|
+
*
|
|
49
|
+
* @see https://docs.aws.amazon.com/linux/al2/ug/index.html
|
|
50
|
+
* @see https://gallery.ecr.aws/amazonlinux/amazonlinux
|
|
51
|
+
*/
|
|
52
|
+
static amazonLinux2(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
53
|
+
/**
|
|
54
|
+
* Imports the Amazon Linux 2023 Amazon-managed image
|
|
55
|
+
*
|
|
56
|
+
* @param scope The construct scope
|
|
57
|
+
* @param id Identifier of the construct
|
|
58
|
+
* @param opts The Amazon-managed image attributes
|
|
59
|
+
*
|
|
60
|
+
* @see https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html
|
|
61
|
+
* @see https://gallery.ecr.aws/amazonlinux/amazonlinux
|
|
62
|
+
*/
|
|
63
|
+
static amazonLinux2023(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
64
|
+
/**
|
|
65
|
+
* Imports the Red Hat Enterprise Linux 10 Amazon-managed image
|
|
66
|
+
*
|
|
67
|
+
* @param scope The construct scope
|
|
68
|
+
* @param id Identifier of the construct
|
|
69
|
+
* @param opts The Amazon-managed image attributes
|
|
70
|
+
*
|
|
71
|
+
* @see https://aws.amazon.com/partners/redhat/faqs
|
|
72
|
+
*/
|
|
73
|
+
static redHatEnterpriseLinux10(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
74
|
+
/**
|
|
75
|
+
* Imports the SUSE Linux Enterprise Server 15 Amazon-managed image
|
|
76
|
+
*
|
|
77
|
+
* @param scope The construct scope
|
|
78
|
+
* @param id Identifier of the construct
|
|
79
|
+
* @param opts The Amazon-managed image attributes
|
|
80
|
+
*
|
|
81
|
+
* @see https://aws.amazon.com/linux/commercial-linux/faqs/
|
|
82
|
+
*/
|
|
83
|
+
static suseLinuxEnterpriseServer15(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
84
|
+
/**
|
|
85
|
+
* Imports the Ubuntu 22.04 Amazon-managed image
|
|
86
|
+
*
|
|
87
|
+
* @param scope The construct scope
|
|
88
|
+
* @param id Identifier of the construct
|
|
89
|
+
* @param opts The Amazon-managed image attributes
|
|
90
|
+
*
|
|
91
|
+
* @see https://documentation.ubuntu.com/aws
|
|
92
|
+
* @see https://hub.docker.com/_/ubuntu
|
|
93
|
+
*/
|
|
94
|
+
static ubuntuServer2204(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
95
|
+
/**
|
|
96
|
+
* Imports the Ubuntu 24.04 Amazon-managed image
|
|
97
|
+
*
|
|
98
|
+
* @param scope The construct scope
|
|
99
|
+
* @param id Identifier of the construct
|
|
100
|
+
* @param opts The Amazon-managed image attributes
|
|
101
|
+
*
|
|
102
|
+
* @see https://documentation.ubuntu.com/aws
|
|
103
|
+
* @see https://hub.docker.com/_/ubuntu
|
|
104
|
+
*/
|
|
105
|
+
static ubuntuServer2404(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
106
|
+
/**
|
|
107
|
+
* Imports the Windows Server 2016 Core Amazon-managed image
|
|
108
|
+
*
|
|
109
|
+
* @param scope The construct scope
|
|
110
|
+
* @param id Identifier of the construct
|
|
111
|
+
* @param opts The Amazon-managed image attributes
|
|
112
|
+
*
|
|
113
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
114
|
+
* @see https://hub.docker.com/r/microsoft/windows-servercore
|
|
115
|
+
*/
|
|
116
|
+
static windowsServer2016Core(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
117
|
+
/**
|
|
118
|
+
* Imports the Windows Server 2016 Full Amazon-managed image
|
|
119
|
+
*
|
|
120
|
+
* @param scope The construct scope
|
|
121
|
+
* @param id Identifier of the construct
|
|
122
|
+
* @param opts The Amazon-managed image attributes
|
|
123
|
+
*
|
|
124
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
125
|
+
*/
|
|
126
|
+
static windowsServer2016Full(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
127
|
+
/**
|
|
128
|
+
* Imports the Windows Server 2019 Core Amazon-managed image
|
|
129
|
+
*
|
|
130
|
+
* @param scope The construct scope
|
|
131
|
+
* @param id Identifier of the construct
|
|
132
|
+
* @param opts The Amazon-managed image attributes
|
|
133
|
+
*
|
|
134
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
135
|
+
* @see https://hub.docker.com/r/microsoft/windows-servercore
|
|
136
|
+
*/
|
|
137
|
+
static windowsServer2019Core(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
138
|
+
/**
|
|
139
|
+
* Imports the Windows Server 2019 Full Amazon-managed image
|
|
140
|
+
*
|
|
141
|
+
* @param scope The construct scope
|
|
142
|
+
* @param id Identifier of the construct
|
|
143
|
+
* @param opts The Amazon-managed image attributes
|
|
144
|
+
*
|
|
145
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
146
|
+
*/
|
|
147
|
+
static windowsServer2019Full(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
148
|
+
/**
|
|
149
|
+
* Imports the Windows Server 2022 Core Amazon-managed image
|
|
150
|
+
*
|
|
151
|
+
* @param scope The construct scope
|
|
152
|
+
* @param id Identifier of the construct
|
|
153
|
+
* @param opts The Amazon-managed image attributes
|
|
154
|
+
*
|
|
155
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
156
|
+
*/
|
|
157
|
+
static windowsServer2022Core(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
158
|
+
/**
|
|
159
|
+
* Imports the Windows Server 2022 Full Amazon-managed image
|
|
160
|
+
*
|
|
161
|
+
* @param scope The construct scope
|
|
162
|
+
* @param id Identifier of the construct
|
|
163
|
+
* @param opts The Amazon-managed image attributes
|
|
164
|
+
*
|
|
165
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
166
|
+
*/
|
|
167
|
+
static windowsServer2022Full(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
168
|
+
/**
|
|
169
|
+
* Imports the Windows Server 2025 Core Amazon-managed image
|
|
170
|
+
*
|
|
171
|
+
* @param scope The construct scope
|
|
172
|
+
* @param id Identifier of the construct
|
|
173
|
+
* @param opts The Amazon-managed image attributes
|
|
174
|
+
*
|
|
175
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
176
|
+
*/
|
|
177
|
+
static windowsServer2025Core(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
178
|
+
/**
|
|
179
|
+
* Imports the Windows Server 2025 Full Amazon-managed image
|
|
180
|
+
*
|
|
181
|
+
* @param scope The construct scope
|
|
182
|
+
* @param id Identifier of the construct
|
|
183
|
+
* @param opts The Amazon-managed image attributes
|
|
184
|
+
*
|
|
185
|
+
* @see https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/index.html
|
|
186
|
+
*/
|
|
187
|
+
static windowsServer2025Full(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
188
|
+
/**
|
|
189
|
+
* Imports the macOS 14 Amazon-managed image
|
|
190
|
+
*
|
|
191
|
+
* @param scope The construct scope
|
|
192
|
+
* @param id Identifier of the construct
|
|
193
|
+
* @param opts The Amazon-managed image attributes
|
|
194
|
+
*
|
|
195
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html
|
|
196
|
+
*/
|
|
197
|
+
static macOS14(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
198
|
+
/**
|
|
199
|
+
* Imports the macOS 15 Amazon-managed image
|
|
200
|
+
*
|
|
201
|
+
* @param scope The construct scope
|
|
202
|
+
* @param id Identifier of the construct
|
|
203
|
+
* @param opts The Amazon-managed image attributes
|
|
204
|
+
*
|
|
205
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html
|
|
206
|
+
*/
|
|
207
|
+
static macOS15(scope: Construct, id: string, opts: AmazonManagedImageOptions): IImage;
|
|
208
|
+
/**
|
|
209
|
+
* Imports an Amazon-managed image from its attributes
|
|
210
|
+
*
|
|
211
|
+
* @param scope The construct scope
|
|
212
|
+
* @param id Identifier of the construct
|
|
213
|
+
* @param attrs - The Amazon-managed image attributes
|
|
214
|
+
*/
|
|
215
|
+
static fromAmazonManagedImageAttributes(scope: Construct, id: string, attrs: AmazonManagedImageAttributes): IImage;
|
|
216
|
+
/**
|
|
217
|
+
* Imports an Amazon-managed image from its name
|
|
218
|
+
*
|
|
219
|
+
* @param scope The construct scope
|
|
220
|
+
* @param id Identifier of the construct
|
|
221
|
+
* @param amazonManagedImageName - The name of the Amazon-managed image
|
|
222
|
+
*/
|
|
223
|
+
static fromAmazonManagedImageName(scope: Construct, id: string, amazonManagedImageName: string): IImage;
|
|
224
|
+
private static readonly AMAZON_LINUX_2_CONFIG;
|
|
225
|
+
private static readonly AMAZON_LINUX_2023_CONFIG;
|
|
226
|
+
private static readonly RED_HAT_ENTERPRISE_LINUX_10_CONFIG;
|
|
227
|
+
private static readonly SUSE_LINUX_ENTERPRISE_SERVER_15_CONFIG;
|
|
228
|
+
private static readonly UBUNTU_SERVER_22_04_CONFIG;
|
|
229
|
+
private static readonly UBUNTU_SERVER_24_04_CONFIG;
|
|
230
|
+
private static readonly WINDOWS_SERVER_2016_CORE_CONFIG;
|
|
231
|
+
private static readonly WINDOWS_SERVER_2016_FULL_CONFIG;
|
|
232
|
+
private static readonly WINDOWS_SERVER_2019_CORE_CONFIG;
|
|
233
|
+
private static readonly WINDOWS_SERVER_2019_FULL_CONFIG;
|
|
234
|
+
private static readonly WINDOWS_SERVER_2022_CORE_CONFIG;
|
|
235
|
+
private static readonly WINDOWS_SERVER_2022_FULL_CONFIG;
|
|
236
|
+
private static readonly WINDOWS_SERVER_2025_CORE_CONFIG;
|
|
237
|
+
private static readonly WINDOWS_SERVER_2025_FULL_CONFIG;
|
|
238
|
+
private static readonly MACOS_14_CONFIG;
|
|
239
|
+
private static readonly MACOS_15_CONFIG;
|
|
240
|
+
private static validatePredefinedManagedImageOptions;
|
|
241
|
+
private static predefinedManagedImage;
|
|
242
|
+
}
|