# CreateRuleProperty

*[Custom snapshot and AMI policies only]* Specifies when the policy should create snapshots or AMIs.

> - You must specify either *CronExpression* , or *Interval* , *IntervalUnit* , and *Times* .
> - If you need to specify an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) for the schedule, then you must specify a creation frequency of at least 28 days.

- Source: Generated code
- Type last changed: v2.109.0 · 16 Nov 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_dlm as dlm } from 'aws-cdk-lib';
const createRuleProperty: dlm.CfnLifecyclePolicy.CreateRuleProperty = {
  cronExpression: 'cronExpression',
  interval: 123,
  intervalUnit: 'intervalUnit',
  location: 'location',
  scripts: [{
    executeOperationOnScriptFailure: false,
    executionHandler: 'executionHandler',
    executionHandlerService: 'executionHandlerService',
    executionTimeout: 123,
    maximumRetryCount: 123,
    stages: ['stages'],
  }],
  times: ['times'],
};
```

## Properties

- `cronExpression`: string — The schedule, as a Cron expression.

  The schedule interval must be between 1 hour and 1 year. For more information, see the [Cron and rate expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) in the *Amazon EventBridge User Guide* .

- `interval`: number — The interval between snapshots.

  The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.

- `intervalUnit`: string — The interval unit.

- `location`: string — *[Custom snapshot policies only]* Specifies the destination for snapshots created by the policy.

  The allowed destinations depend on the location of the targeted resources.

  - If the policy targets resources in a Region, then you must create snapshots in the same Region as the source resource.
  - If the policy targets resources in a Local Zone, you can create snapshots in the same Local Zone or in its parent Region.
  - If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost or in its parent Region.

  Specify one of the following values:

  - To create snapshots in the same Region as the source resource, specify `CLOUD` .
  - To create snapshots in the same Local Zone as the source resource, specify `LOCAL_ZONE` .
  - To create snapshots on the same Outpost as the source resource, specify `OUTPOST_LOCAL` .

  Default: `CLOUD`

- `scripts`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnLifecyclePolicy.ScriptProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_dlm.CfnLifecyclePolicy.ScriptProperty.html)[] — *[Custom snapshot policies that target instances only]* Specifies pre and/or post scripts for a snapshot lifecycle policy that targets instances.

  This is useful for creating application-consistent snapshots, or for performing specific administrative tasks before or after Amazon Data Lifecycle Manager initiates snapshot creation.

  For more information, see [Automating application-consistent snapshots with pre and post scripts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html) .

- `times`: string[] — The time, in UTC, to start the operation. The supported format is hh:mm.

  The operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.
