Experimental
@aws-cdk/aws-apprunner-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
ImageConfiguration Struct
Describes the configuration that AWS App Runner uses to run an App Runner service using an image pulled from a source image repository.
Example
ts
import * as iam from 'aws-cdk-lib/aws-iam';
const service = new apprunner.Service(this, 'Service', {
source: apprunner.Source.fromEcrPublic({
imageConfiguration: { port: 8000 },
imageIdentifier: 'public.ecr.aws/aws-containers/hello-app-runner:latest',
}),
});
service.addToRolePolicy(new iam.PolicyStatement({
effect: iam.Effect.ALLOW,
actions: ['s3:GetObject'],
resources: ['*'],
}))
python
import aws_cdk.aws_iam as iam
service = apprunner.Service(self, "Service",
source=apprunner.Source.from_ecr_public(
image_configuration=apprunner.ImageConfiguration(port=8000),
image_identifier="public.ecr.aws/aws-containers/hello-app-runner:latest"
)
)
service.add_to_role_policy(iam.PolicyStatement(
effect=iam.Effect.ALLOW,
actions=["s3:GetObject"],
resources=["*"]
))
java
import software.amazon.awscdk.services.iam.*;
Service service = Service.Builder.create(this, "Service")
.source(Source.fromEcrPublic(EcrPublicProps.builder()
.imageConfiguration(ImageConfiguration.builder().port(8000).build())
.imageIdentifier("public.ecr.aws/aws-containers/hello-app-runner:latest")
.build()))
.build();
service.addToRolePolicy(PolicyStatement.Builder.create()
.effect(Effect.ALLOW)
.actions(List.of("s3:GetObject"))
.resources(List.of("*"))
.build());
csharp
// Install: dotnet add package Amazon.CDK.AWS.AppRunner.Alpha
using Amazon.CDK.AWS.IAM;
var service = new Service(this, "Service", new ServiceProps {
Source = Source.FromEcrPublic(new EcrPublicProps {
ImageConfiguration = new ImageConfiguration { Port = 8000 },
ImageIdentifier = "public.ecr.aws/aws-containers/hello-app-runner:latest"
})
});
service.AddToRolePolicy(new PolicyStatement(new PolicyStatementProps {
Effect = Effect.ALLOW,
Actions = new [] { "s3:GetObject" },
Resources = new [] { "*" }
}));
go
// Install: go get github.com/aws/aws-cdk-go/awscdkapprunneralpha/v2
import "github.com/aws/aws-cdk-go/awscdk"
service := apprunner.NewService(this, jsii.String("Service"), &ServiceProps{
Source: apprunner.Source_FromEcrPublic(&EcrPublicProps{
ImageConfiguration: &ImageConfiguration{
Port: jsii.Number(8000),
},
ImageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
}),
})
service.AddToRolePolicy(iam.NewPolicyStatement(&PolicyStatementProps{
Effect: iam.Effect_ALLOW,
Actions: []*string{
jsii.String("s3:GetObject"),
},
Resources: []*string{
jsii.String("*"),
},
}))
Properties
environmentoptional{ [key: string]: string }environmentoptionaltyping.Mapping[str, str]environmentoptionalMap<String, String>EnvironmentoptionalIDictionary<string, string>Environmentoptional*map[string]*stringdeprecated#use environmentVariables.
Default: no environment variables
environmentSecretsoptional{ [key: string]: Secret }environment_secretsoptionaltyping.Mapping[str, Secret]environmentSecretsoptionalMap<String, Secret>EnvironmentSecretsoptionalIDictionary<string, Secret>EnvironmentSecretsoptional*map[string]Secret#Environment secrets that are available to your running App Runner service.
Default: no environment secrets
environmentVariablesoptional{ [key: string]: string }environment_variablesoptionaltyping.Mapping[str, str]environmentVariablesoptionalMap<String, String>EnvironmentVariablesoptionalIDictionary<string, string>EnvironmentVariablesoptional*map[string]*string#Environment variables that are available to your running App Runner service.
Default: no environment variables
portoptionalnumberportoptionalint | floatportoptionalNumberPortoptionaldoublePortoptional*float64= 8080#The port that your application listens to in the container.
startCommandoptionalstringstart_commandoptionalstrstartCommandoptionalStringStartCommandoptionalstringStartCommandoptional*string#An optional command that App Runner runs to start the application in the source image.
Default: no start command
If specified, this command overrides the Docker image’s default start command.