Show / Hide Table of Contents

Class CfnServiceLevelObjectiveProps

Properties for defining a CfnServiceLevelObjective.

Inheritance
object
CfnServiceLevelObjectiveProps
Implements
ICfnServiceLevelObjectiveProps
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.ApplicationSignals
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnServiceLevelObjectiveProps : ICfnServiceLevelObjectiveProps
Syntax (vb)
Public Class CfnServiceLevelObjectiveProps Implements ICfnServiceLevelObjectiveProps
Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html

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 CfnServiceLevelObjective.

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html

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

object

Remarks

The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-burnrateconfigurations

Type union: either IResolvable or (either IResolvable or CfnServiceLevelObjective.IBurnRateConfigurationProperty)[]

Description

An optional description for this SLO.

public string? Description { get; set; }
Property Value

string

Remarks

Default: - "No description"

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-description

ExclusionWindows

The time window to be excluded from the SLO performance metrics.

public object? ExclusionWindows { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-exclusionwindows

Type union: either IResolvable or (either IResolvable or CfnServiceLevelObjective.IExclusionWindowProperty)[]

Goal

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

public object? Goal { get; set; }
Property Value

object

Remarks

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-goal

Type union: either IResolvable or CfnServiceLevelObjective.IGoalProperty

Name

A name for this SLO.

public string Name { get; set; }
Property Value

string

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-name

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

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli

Type union: either IResolvable or CfnServiceLevelObjective.IRequestBasedSliProperty

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

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-sli

Type union: either IResolvable or CfnServiceLevelObjective.ISliProperty

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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-tags

Implements

ICfnServiceLevelObjectiveProps
Back to top Generated by DocFX