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

Properties for a Domain.

Extends: DomainProps
Extends: DomainOptions
Used as props by: Domain

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/domain.ts`](https://github.com/aws/aws-cdk/blob/v2.276.0-alpha.0/packages/@aws-cdk/aws-amplify-alpha/lib/domain.ts#L56)

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as amplify_alpha from '@aws-cdk/aws-amplify-alpha';
import { aws_certificatemanager as certificatemanager } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';

declare const app: amplify_alpha.App;
declare const branch: amplify_alpha.Branch;
declare const certificate: certificatemanager.Certificate;
declare const role: iam.Role;
const domainProps: amplify_alpha.DomainProps = {
  app: app,

  // the properties below are optional
  autoSubdomainCreationPatterns: ['autoSubdomainCreationPatterns'],
  autoSubDomainIamRole: role,
  customCertificate: certificate,
  domainName: 'domainName',
  enableAutoSubdomain: false,
  subDomains: [{
    branch: branch,

    // the properties below are optional
    prefix: 'prefix',
  }],
};
```

## Properties

- `app`: [IApp](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.IApp.html) (required) — The application to which the domain must be connected.

- `autoSubdomainCreationPatterns`: string[] — Branches which should automatically create subdomains.

  **Default:** all repository branches ['*', 'pr*']

- `autoSubDomainIamRole`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — The IAM role with access to Route53 when using enableAutoSubdomain.

  **Default:** the IAM role from App.grantPrincipal

- `customCertificate`: [ICertificate](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.ICertificate.html) — The type of SSL/TLS certificate to use for your custom domain.

  **Default:** Amplify uses the default certificate that it provisions and manages for you

- `domainName`: string — The name of the domain.

  **Default:** the construct's id

- `enableAutoSubdomain`: boolean = false — Automatically create subdomains for connected branches.

- `subDomains`: [SubDomain](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.SubDomain.html)[] — Subdomains.

  **Default:** use `addSubDomain()` to add subdomains
