Container Recipe Args
Manages an Image Builder Container Recipe.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.imagebuilder.ContainerRecipe("example", {
name: "example",
version: "1.0.0",
containerType: "DOCKER",
parentImage: "arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x",
targetRepository: {
repositoryName: exampleAwsEcrRepository.name,
service: "ECR",
},
components: [{
componentArn: exampleAwsImagebuilderComponent.arn,
parameters: [
{
name: "Parameter1",
value: "Value1",
},
{
name: "Parameter2",
value: "Value2",
},
],
}],
dockerfileTemplateData: `FROM {{{ imagebuilder:parentImage }}}
{{{ imagebuilder:environments }}}
{{{ imagebuilder:components }}}
`,
});
import pulumi
import pulumi_aws as aws
example = aws.imagebuilder.ContainerRecipe("example",
name="example",
version="1.0.0",
container_type="DOCKER",
parent_image="arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x",
target_repository={
"repository_name": example_aws_ecr_repository["name"],
"service": "ECR",
},
components=[{
"component_arn": example_aws_imagebuilder_component["arn"],
"parameters": [
{
"name": "Parameter1",
"value": "Value1",
},
{
"name": "Parameter2",
"value": "Value2",
},
],
}],
dockerfile_template_data="""FROM {{{ imagebuilder:parentImage }}}
{{{ imagebuilder:environments }}}
{{{ imagebuilder:components }}}
""")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ImageBuilder.ContainerRecipe("example", new()
{
Name = "example",
Version = "1.0.0",
ContainerType = "DOCKER",
ParentImage = "arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x",
TargetRepository = new Aws.ImageBuilder.Inputs.ContainerRecipeTargetRepositoryArgs
{
RepositoryName = exampleAwsEcrRepository.Name,
Service = "ECR",
},
Components = new[]
{
new Aws.ImageBuilder.Inputs.ContainerRecipeComponentArgs
{
ComponentArn = exampleAwsImagebuilderComponent.Arn,
Parameters = new[]
{
new Aws.ImageBuilder.Inputs.ContainerRecipeComponentParameterArgs
{
Name = "Parameter1",
Value = "Value1",
},
new Aws.ImageBuilder.Inputs.ContainerRecipeComponentParameterArgs
{
Name = "Parameter2",
Value = "Value2",
},
},
},
},
DockerfileTemplateData = @"FROM {{{ imagebuilder:parentImage }}}
{{{ imagebuilder:environments }}}
{{{ imagebuilder:components }}}
",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := imagebuilder.NewContainerRecipe(ctx, "example", &imagebuilder.ContainerRecipeArgs{
Name: pulumi.String("example"),
Version: pulumi.String("1.0.0"),
ContainerType: pulumi.String("DOCKER"),
ParentImage: pulumi.String("arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x"),
TargetRepository: &imagebuilder.ContainerRecipeTargetRepositoryArgs{
RepositoryName: pulumi.Any(exampleAwsEcrRepository.Name),
Service: pulumi.String("ECR"),
},
Components: imagebuilder.ContainerRecipeComponentArray{
&imagebuilder.ContainerRecipeComponentArgs{
ComponentArn: pulumi.Any(exampleAwsImagebuilderComponent.Arn),
Parameters: imagebuilder.ContainerRecipeComponentParameterArray{
&imagebuilder.ContainerRecipeComponentParameterArgs{
Name: pulumi.String("Parameter1"),
Value: pulumi.String("Value1"),
},
&imagebuilder.ContainerRecipeComponentParameterArgs{
Name: pulumi.String("Parameter2"),
Value: pulumi.String("Value2"),
},
},
},
},
DockerfileTemplateData: pulumi.String("FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.imagebuilder.ContainerRecipe;
import com.pulumi.aws.imagebuilder.ContainerRecipeArgs;
import com.pulumi.aws.imagebuilder.inputs.ContainerRecipeTargetRepositoryArgs;
import com.pulumi.aws.imagebuilder.inputs.ContainerRecipeComponentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ContainerRecipe("example", ContainerRecipeArgs.builder()
.name("example")
.version("1.0.0")
.containerType("DOCKER")
.parentImage("arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x")
.targetRepository(ContainerRecipeTargetRepositoryArgs.builder()
.repositoryName(exampleAwsEcrRepository.name())
.service("ECR")
.build())
.components(ContainerRecipeComponentArgs.builder()
.componentArn(exampleAwsImagebuilderComponent.arn())
.parameters(
ContainerRecipeComponentParameterArgs.builder()
.name("Parameter1")
.value("Value1")
.build(),
ContainerRecipeComponentParameterArgs.builder()
.name("Parameter2")
.value("Value2")
.build())
.build())
.dockerfileTemplateData("""
FROM {{{ imagebuilder:parentImage }}}
{{{ imagebuilder:environments }}}
{{{ imagebuilder:components }}}
""")
.build());
}
}
resources:
example:
type: aws:imagebuilder:ContainerRecipe
properties:
name: example
version: 1.0.0
containerType: DOCKER
parentImage: arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x
targetRepository:
repositoryName: ${exampleAwsEcrRepository.name}
service: ECR
components:
- componentArn: ${exampleAwsImagebuilderComponent.arn}
parameters:
- name: Parameter1
value: Value1
- name: Parameter2
value: Value2
dockerfileTemplateData: |
FROM {{{ imagebuilder:parentImage }}}
{{{ imagebuilder:environments }}}
{{{ imagebuilder:components }}}
Import
Using pulumi import
, import aws_imagebuilder_container_recipe
resources using the Amazon Resource Name (ARN). For example:
$ pulumi import aws:imagebuilder/containerRecipe:ContainerRecipe example arn:aws:imagebuilder:us-east-1:123456789012:container-recipe/example/1.0.0
Constructors
Properties
Ordered configuration block(s) with components for the container recipe. Detailed below.
The type of the container to create. Valid values: DOCKER
.
The description of the container recipe.
The Dockerfile template used to build the image as an inline data blob.
The Amazon S3 URI for the Dockerfile that will be used to build the container image.
Configuration block used to configure an instance for building and testing container images. Detailed below.
The base image for the container recipe.
Specifies the operating system platform when you use a custom base image.
The destination repository for the container image. Detailed below.
The working directory to be used during build and test workflows.