> **Experimental**
>
> `@aws-cdk/aws-apprunner-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# ImageConfiguration

Describes the configuration that AWS App Runner uses to run an App Runner service using an image pulled from a source image repository.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/service.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0-alpha.0/packages/@aws-cdk/aws-apprunner-alpha/lib/service.ts#L547)

## 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: ['*'],
}))
```

## Properties

- `environment`: { [key: string]: string } — use environmentVariables.

  **Default:** no environment variables

- `environmentSecrets`: { [key: string]: [Secret](/cdk/api/v2/docs/@aws-cdk_aws-apprunner-alpha.Secret.html) } — Environment secrets that are available to your running App Runner service.

  **Default:** no environment secrets

- `environmentVariables`: { [key: string]: string } — Environment variables that are available to your running App Runner service.

  **Default:** no environment variables

- `port`: number = 8080 — The port that your application listens to in the container.

- `startCommand`: 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.
