service_level_objectives
Creates, updates, deletes or gets a service_level_objective
resource or lists service_level_objectives
in a region
Overview
Name | service_level_objectives |
Type | Resource |
Description | Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective |
Id | aws.applicationsignals.service_level_objectives |
Fields
Name | Datatype | Description |
---|---|---|
arn | string | The ARN of this SLO. |
name | string | The name of this SLO. |
description | string | An optional description for this SLO. Default is 'No description' |
created_time | integer | Epoch time in seconds of the time that this SLO was created |
last_updated_time | integer | Epoch time in seconds of the time that this SLO was most recently updated |
sli | object | This structure contains information about the performance metric that an SLO monitors. |
request_based_sli | object | This structure contains information about the performance metric that a request-based SLO monitors. |
evaluation_type | string | Displays whether this is a period-based SLO or a request-based SLO. |
goal | object | A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold. |
tags | array | The list of tag keys and values associated with the resource you specified |
burn_rate_configurations | array | Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. |
region | string | AWS region. |
For more information, see AWS::ApplicationSignals::ServiceLevelObjective
.
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | Name, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all service_level_objectives
in a region.
SELECT
region,
arn,
name,
description,
created_time,
last_updated_time,
sli,
request_based_sli,
evaluation_type,
goal,
tags,
burn_rate_configurations
FROM aws.applicationsignals.service_level_objectives
WHERE region = 'us-east-1';
Gets all properties from an individual service_level_objective
.
SELECT
region,
arn,
name,
description,
created_time,
last_updated_time,
sli,
request_based_sli,
evaluation_type,
goal,
tags,
burn_rate_configurations
FROM aws.applicationsignals.service_level_objectives
WHERE region = 'us-east-1' AND data__Identifier = '<Arn>';
INSERT
example
Use the following StackQL query and manifest file to create a new service_level_objective
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.applicationsignals.service_level_objectives (
Name,
region
)
SELECT
'{{ Name }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.applicationsignals.service_level_objectives (
Name,
Description,
Sli,
RequestBasedSli,
Goal,
Tags,
BurnRateConfigurations,
region
)
SELECT
'{{ Name }}',
'{{ Description }}',
'{{ Sli }}',
'{{ RequestBasedSli }}',
'{{ Goal }}',
'{{ Tags }}',
'{{ BurnRateConfigurations }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: service_level_objective
props:
- name: Name
value: '{{ Name }}'
- name: Description
value: '{{ Description }}'
- name: Sli
value:
SliMetric:
KeyAttributes: null
OperationName: '{{ OperationName }}'
MetricType: '{{ MetricType }}'
Statistic: '{{ Statistic }}'
PeriodSeconds: '{{ PeriodSeconds }}'
MetricDataQueries:
- MetricStat:
Period: '{{ Period }}'
Metric:
MetricName: '{{ MetricName }}'
Dimensions:
- Value: '{{ Value }}'
Name: '{{ Name }}'
Namespace: '{{ Namespace }}'
Stat: '{{ Stat }}'
Unit: '{{ Unit }}'
Id: '{{ Id }}'
ReturnData: '{{ ReturnData }}'
Expression: '{{ Expression }}'
AccountId: '{{ AccountId }}'
MetricThreshold: null
ComparisonOperator: '{{ ComparisonOperator }}'
- name: RequestBasedSli
value:
RequestBasedSliMetric:
KeyAttributes: null
OperationName: '{{ OperationName }}'
MetricType: '{{ MetricType }}'
TotalRequestCountMetric: null
MonitoredRequestCountMetric:
GoodCountMetric: null
BadCountMetric: null
MetricThreshold: null
ComparisonOperator: '{{ ComparisonOperator }}'
- name: Goal
value:
Interval:
RollingInterval:
DurationUnit: '{{ DurationUnit }}'
Duration: '{{ Duration }}'
CalendarInterval:
StartTime: '{{ StartTime }}'
DurationUnit: null
Duration: null
AttainmentGoal: null
WarningThreshold: null
- name: Tags
value:
- Key: '{{ Key }}'
Value: '{{ Value }}'
- name: BurnRateConfigurations
value:
- LookBackWindowMinutes: '{{ LookBackWindowMinutes }}'
DELETE
example
/*+ delete */
DELETE FROM aws.applicationsignals.service_level_objectives
WHERE data__Identifier = '<Arn>'
AND region = 'us-east-1';
Permissions
To operate on the service_level_objectives
resource, the following permissions are required:
Create
application-signals:CreateServiceLevelObjective,
cloudwatch:GetMetricData,
application-signals:TagResource,
application-signals:GetServiceLevelObjective,
application-signals:ListTagsForResource,
iam:GetRole,
iam:CreateServiceLinkedRole
Read
application-signals:GetServiceLevelObjective,
application-signals:ListTagsForResource
Update
application-signals:UpdateServiceLevelObjective,
cloudwatch:GetMetricData,
application-signals:TagResource,
application-signals:UntagResource,
application-signals:GetServiceLevelObjective,
application-signals:ListTagsForResource
Delete
application-signals:DeleteServiceLevelObjective,
application-signals:UntagResource,
application-signals:GetServiceLevelObjective
List
application-signals:ListServiceLevelObjectives,
application-signals:ListTagsForResource