UpdateServiceLevelObjective - Application Signals

UpdateServiceLevelObjective

Updates an existing service level objective (SLO). If you omit parameters, the previous values of those parameters are retained.

You cannot change from a period-based SLO to a request-based SLO, or change from a request-based SLO to a period-based SLO.

Request Syntax

PATCH /slo/Id HTTP/1.1 Content-type: application/json { "BurnRateConfigurations": [ { "LookBackWindowMinutes": number } ], "Description": "string", "Goal": { "AttainmentGoal": number, "Interval": { ... }, "WarningThreshold": number }, "RequestBasedSliConfig": { "ComparisonOperator": "string", "MetricThreshold": number, "RequestBasedSliMetricConfig": { "KeyAttributes": { "string" : "string" }, "MetricType": "string", "MonitoredRequestCountMetric": { ... }, "OperationName": "string", "TotalRequestCountMetric": [ { "AccountId": "string", "Expression": "string", "Id": "string", "Label": "string", "MetricStat": { "Metric": { "Dimensions": [ { "Name": "string", "Value": "string" } ], "MetricName": "string", "Namespace": "string" }, "Period": number, "Stat": "string", "Unit": "string" }, "Period": number, "ReturnData": boolean } ] } }, "SliConfig": { "ComparisonOperator": "string", "MetricThreshold": number, "SliMetricConfig": { "KeyAttributes": { "string" : "string" }, "MetricDataQueries": [ { "AccountId": "string", "Expression": "string", "Id": "string", "Label": "string", "MetricStat": { "Metric": { "Dimensions": [ { "Name": "string", "Value": "string" } ], "MetricName": "string", "Namespace": "string" }, "Period": number, "Stat": "string", "Unit": "string" }, "Period": number, "ReturnData": boolean } ], "MetricType": "string", "OperationName": "string", "PeriodSeconds": number, "Statistic": "string" } } }

URI Request Parameters

The request uses the following URI parameters.

Id

The Amazon Resource Name (ARN) or name of the service level objective that you want to update.

Pattern: [0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]$|^arn:aws:application-signals:[^:]*:[^:]*:slo/[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]

Required: Yes

Request Body

The request accepts the following data in JSON format.

BurnRateConfigurations

Use this array to create burn rates for this SLO. Each burn rate is a metric that indicates how fast the service is consuming the error budget, relative to the attainment goal of the SLO.

Type: Array of BurnRateConfiguration objects

Array Members: Minimum number of 0 items. Maximum number of 10 items.

Required: No

Description

An optional description for the SLO.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Required: No

Goal

A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.

Type: Goal object

Required: No

RequestBasedSliConfig

If this SLO is a request-based SLO, this structure defines the information about what performance metric this SLO will monitor.

You can't specify both SliConfig and RequestBasedSliConfig in the same operation.

Type: RequestBasedServiceLevelIndicatorConfig object

Required: No

SliConfig

If this SLO is a period-based SLO, this structure defines the information about what performance metric this SLO will monitor.

Type: ServiceLevelIndicatorConfig object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "Slo": { "Arn": "string", "BurnRateConfigurations": [ { "LookBackWindowMinutes": number } ], "CreatedTime": number, "Description": "string", "EvaluationType": "string", "Goal": { "AttainmentGoal": number, "Interval": { ... }, "WarningThreshold": number }, "LastUpdatedTime": number, "Name": "string", "RequestBasedSli": { "ComparisonOperator": "string", "MetricThreshold": number, "RequestBasedSliMetric": { "KeyAttributes": { "string" : "string" }, "MetricType": "string", "MonitoredRequestCountMetric": { ... }, "OperationName": "string", "TotalRequestCountMetric": [ { "AccountId": "string", "Expression": "string", "Id": "string", "Label": "string", "MetricStat": { "Metric": { "Dimensions": [ { "Name": "string", "Value": "string" } ], "MetricName": "string", "Namespace": "string" }, "Period": number, "Stat": "string", "Unit": "string" }, "Period": number, "ReturnData": boolean } ] } }, "Sli": { "ComparisonOperator": "string", "MetricThreshold": number, "SliMetric": { "KeyAttributes": { "string" : "string" }, "MetricDataQueries": [ { "AccountId": "string", "Expression": "string", "Id": "string", "Label": "string", "MetricStat": { "Metric": { "Dimensions": [ { "Name": "string", "Value": "string" } ], "MetricName": "string", "Namespace": "string" }, "Period": number, "Stat": "string", "Unit": "string" }, "Period": number, "ReturnData": boolean } ], "MetricType": "string", "OperationName": "string" } } } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

Slo

A structure that contains information about the SLO that you just updated.

Type: ServiceLevelObjective object

Errors

For information about the errors that are common to all actions, see Common Errors.

ResourceNotFoundException

Resource not found.

HTTP Status Code: 404

ThrottlingException

The request was throttled because of quota limits.

HTTP Status Code: 429

ValidationException

The resource is not valid.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: