Class CfnServiceLevelObjectiveProps
Properties for defining a CfnServiceLevelObjective.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.ApplicationSignals
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnServiceLevelObjectiveProps : ICfnServiceLevelObjectiveProps
Syntax (vb)
Public Class CfnServiceLevelObjectiveProps Implements ICfnServiceLevelObjectiveProps
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ApplicationSignals;
var cfnServiceLevelObjectiveProps = new CfnServiceLevelObjectiveProps {
Name = "name",
// the properties below are optional
BurnRateConfigurations = new [] { new BurnRateConfigurationProperty {
LookBackWindowMinutes = 123
} },
Description = "description",
ExclusionWindows = new [] { new ExclusionWindowProperty {
Window = new WindowProperty {
Duration = 123,
DurationUnit = "durationUnit"
},
// the properties below are optional
Reason = "reason",
RecurrenceRule = new RecurrenceRuleProperty {
Expression = "expression"
},
StartTime = "startTime"
} },
Goal = new GoalProperty {
AttainmentGoal = 123,
Interval = new IntervalProperty {
CalendarInterval = new CalendarIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit",
StartTime = 123
},
RollingInterval = new RollingIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit"
}
},
WarningThreshold = 123
},
RequestBasedSli = new RequestBasedSliProperty {
RequestBasedSliMetric = new RequestBasedSliMetricProperty {
CompositeSliConfig = new CompositeSliConfigProperty {
SelectionConfig = new SelectionConfigProperty {
Type = "type",
// the properties below are optional
Pattern = "pattern"
},
// the properties below are optional
CompositeSliComponents = new [] { new CompositeSliComponentProperty {
OperationName = "operationName"
} }
},
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricName = "metricName",
MetricSource = new MetricSourceProperty {
MetricSourceKeyAttributes = new Dictionary<string, string> {
{ "metricSourceKeyAttributesKey", "metricSourceKeyAttributes" }
},
// the properties below are optional
MetricSourceAttributes = new Dictionary<string, string> {
{ "metricSourceAttributesKey", "metricSourceAttributes" }
}
},
MetricType = "metricType",
MonitoredRequestCountMetric = new MonitoredRequestCountMetricProperty {
BadCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
GoodCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
OperationName = "operationName",
TotalRequestCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
// the properties below are optional
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123
},
Sli = new SliProperty {
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123,
SliMetric = new SliMetricProperty {
CompositeSliConfig = new CompositeSliConfigProperty {
SelectionConfig = new SelectionConfigProperty {
Type = "type",
// the properties below are optional
Pattern = "pattern"
},
// the properties below are optional
CompositeSliComponents = new [] { new CompositeSliComponentProperty {
OperationName = "operationName"
} }
},
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricDataQueries = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
MetricName = "metricName",
MetricSource = new MetricSourceProperty {
MetricSourceKeyAttributes = new Dictionary<string, string> {
{ "metricSourceKeyAttributesKey", "metricSourceKeyAttributes" }
},
// the properties below are optional
MetricSourceAttributes = new Dictionary<string, string> {
{ "metricSourceAttributesKey", "metricSourceAttributes" }
}
},
MetricType = "metricType",
OperationName = "operationName",
PeriodSeconds = 123,
Statistic = "statistic"
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
};
Synopsis
Constructors
| CfnServiceLevelObjectiveProps() | Properties for defining a |
Properties
| BurnRateConfigurations | Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. |
| Description | An optional description for this SLO. |
| ExclusionWindows | The time window to be excluded from the SLO performance metrics. |
| Goal | This structure contains the attributes that determine the goal of an SLO. |
| Name | A name for this SLO. |
| RequestBasedSli | A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. |
| Sli | A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. |
| Tags | A list of key-value pairs to associate with the SLO. |
Constructors
CfnServiceLevelObjectiveProps()
Properties for defining a CfnServiceLevelObjective.
public CfnServiceLevelObjectiveProps()
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ApplicationSignals;
var cfnServiceLevelObjectiveProps = new CfnServiceLevelObjectiveProps {
Name = "name",
// the properties below are optional
BurnRateConfigurations = new [] { new BurnRateConfigurationProperty {
LookBackWindowMinutes = 123
} },
Description = "description",
ExclusionWindows = new [] { new ExclusionWindowProperty {
Window = new WindowProperty {
Duration = 123,
DurationUnit = "durationUnit"
},
// the properties below are optional
Reason = "reason",
RecurrenceRule = new RecurrenceRuleProperty {
Expression = "expression"
},
StartTime = "startTime"
} },
Goal = new GoalProperty {
AttainmentGoal = 123,
Interval = new IntervalProperty {
CalendarInterval = new CalendarIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit",
StartTime = 123
},
RollingInterval = new RollingIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit"
}
},
WarningThreshold = 123
},
RequestBasedSli = new RequestBasedSliProperty {
RequestBasedSliMetric = new RequestBasedSliMetricProperty {
CompositeSliConfig = new CompositeSliConfigProperty {
SelectionConfig = new SelectionConfigProperty {
Type = "type",
// the properties below are optional
Pattern = "pattern"
},
// the properties below are optional
CompositeSliComponents = new [] { new CompositeSliComponentProperty {
OperationName = "operationName"
} }
},
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricName = "metricName",
MetricSource = new MetricSourceProperty {
MetricSourceKeyAttributes = new Dictionary<string, string> {
{ "metricSourceKeyAttributesKey", "metricSourceKeyAttributes" }
},
// the properties below are optional
MetricSourceAttributes = new Dictionary<string, string> {
{ "metricSourceAttributesKey", "metricSourceAttributes" }
}
},
MetricType = "metricType",
MonitoredRequestCountMetric = new MonitoredRequestCountMetricProperty {
BadCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
GoodCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
OperationName = "operationName",
TotalRequestCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
// the properties below are optional
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123
},
Sli = new SliProperty {
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123,
SliMetric = new SliMetricProperty {
CompositeSliConfig = new CompositeSliConfigProperty {
SelectionConfig = new SelectionConfigProperty {
Type = "type",
// the properties below are optional
Pattern = "pattern"
},
// the properties below are optional
CompositeSliComponents = new [] { new CompositeSliComponentProperty {
OperationName = "operationName"
} }
},
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricDataQueries = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
MetricName = "metricName",
MetricSource = new MetricSourceProperty {
MetricSourceKeyAttributes = new Dictionary<string, string> {
{ "metricSourceKeyAttributesKey", "metricSourceKeyAttributes" }
},
// the properties below are optional
MetricSourceAttributes = new Dictionary<string, string> {
{ "metricSourceAttributesKey", "metricSourceAttributes" }
}
},
MetricType = "metricType",
OperationName = "operationName",
PeriodSeconds = 123,
Statistic = "statistic"
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
};
Properties
BurnRateConfigurations
Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.
public object? BurnRateConfigurations { get; set; }
Property Value
Remarks
The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
Type union: either IResolvable or (either IResolvable or CfnServiceLevelObjective.IBurnRateConfigurationProperty)[]
Description
An optional description for this SLO.
public string? Description { get; set; }
Property Value
Remarks
ExclusionWindows
The time window to be excluded from the SLO performance metrics.
public object? ExclusionWindows { get; set; }
Property Value
Remarks
Goal
This structure contains the attributes that determine the goal of an SLO.
public object? Goal { get; set; }
Property Value
Remarks
This includes the time period for evaluation and the attainment threshold.
Type union: either IResolvable or CfnServiceLevelObjective.IGoalProperty
Name
A name for this SLO.
public string Name { get; set; }
Property Value
Remarks
RequestBasedSli
A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
public object? RequestBasedSli { get; set; }
Property Value
Remarks
Sli
A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
public object? Sli { get; set; }
Property Value
Remarks
Tags
A list of key-value pairs to associate with the SLO.
public ICfnTag[]? Tags { get; set; }
Property Value
ICfnTag[]
Remarks
You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.