# GoalProperty

This structure contains the attributes that determine the goal of an SLO.

This includes the time period for evaluation and the attainment threshold.

- Source: Generated code
- Type last changed: v2.147.0 · 20 Jun 2024

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_applicationsignals as applicationsignals } from 'aws-cdk-lib';
const goalProperty: applicationsignals.CfnServiceLevelObjective.GoalProperty = {
  attainmentGoal: 123,
  interval: {
    calendarInterval: {
      duration: 123,
      durationUnit: 'durationUnit',
      startTime: 123,
    },
    rollingInterval: {
      duration: 123,
      durationUnit: 'durationUnit',
    },
  },
  warningThreshold: 123,
};
```

## Properties

- `attainmentGoal`: number — The threshold that determines if the goal is being met.

  If this is a period-based SLO, the attainment goal is the percentage of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.

  If this is a request-based SLO, the attainment goal is the percentage of requests that must be successful to meet the attainment goal.

  If you omit this parameter, 99 is used to represent 99% as the attainment goal.

- `interval`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnServiceLevelObjective.IntervalProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.IntervalProperty.html) — The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.

  If you omit this parameter, a rolling interval of 7 days is used.

- `warningThreshold`: number — The percentage of remaining budget over total budget that you want to get warnings for.

  If you omit this parameter, the default of 50.0 is used.
