Show / Hide Table of Contents

Class CfnServiceLevelObjective

Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

Inheritance
object
CfnElement
CfnRefElement
CfnResource
CfnServiceLevelObjective
Implements
IInspectable
IServiceLevelObjectiveRef
IConstruct
IDependable
IEnvironmentAware
ITaggableV2
Inherited Members
CfnResource.IsCfnResource(object)
CfnResource.AddDeletionOverride(string)
CfnResource.AddDependency(CfnResource)
CfnResource.AddDependsOn(CfnResource)
CfnResource.AddMetadata(string, object)
CfnResource.AddOverride(string, object)
CfnResource.AddPropertyDeletionOverride(string)
CfnResource.AddPropertyOverride(string, object)
CfnResource.ApplyRemovalPolicy(RemovalPolicy?, IRemovalPolicyOptions)
CfnResource.GetAtt(string, ResolutionTypeHint?)
CfnResource.GetMetadata(string)
CfnResource.ObtainDependencies()
CfnResource.ObtainResourceDependencies()
CfnResource.RemoveDependency(CfnResource)
CfnResource.ReplaceDependency(CfnResource, CfnResource)
CfnResource.ShouldSynthesize()
CfnResource.ToString()
CfnResource.ValidateProperties(object)
CfnResource.CfnOptions
CfnResource.CfnResourceType
CfnResource.Env
CfnResource.UpdatedProperites
CfnResource.UpdatedProperties
CfnRefElement.Ref
CfnElement.IsCfnElement(object)
CfnElement.OverrideLogicalId(string)
CfnElement.CreationStack
CfnElement.LogicalId
CfnElement.Stack
Namespace: Amazon.CDK.AWS.ApplicationSignals
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnServiceLevelObjective : CfnResource, IInspectable, IServiceLevelObjectiveRef, IConstruct, IDependable, IEnvironmentAware, ITaggableV2
Syntax (vb)
Public Class CfnServiceLevelObjective Inherits CfnResource Implements IInspectable, IServiceLevelObjectiveRef, IConstruct, IDependable, IEnvironmentAware, ITaggableV2
Remarks

Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

    For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

      After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

        For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

          When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

            You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

            You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
            

            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.

            For more information about SLOs, see Service level objectives (SLOs) .

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

            CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

            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 cfnServiceLevelObjective = new CfnServiceLevelObjective(this, "MyCfnServiceLevelObjective", 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 {
                                     DependencyConfig = new DependencyConfigProperty {
                                         DependencyKeyAttributes = new Dictionary<string, string> {
                                             { "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
                                         },
                                         DependencyOperationName = "dependencyOperationName"
                                     },
                                     KeyAttributes = new Dictionary<string, string> {
                                         { "keyAttributesKey", "keyAttributes" }
                                     },
                                     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 {
                                     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
                                     } },
                                     MetricType = "metricType",
                                     OperationName = "operationName",
                                     PeriodSeconds = 123,
                                     Statistic = "statistic"
                                 }
                             },
                             Tags = new [] { new CfnTag {
                                 Key = "key",
                                 Value = "value"
                             } }
                         });

            Synopsis

            Constructors

            CfnServiceLevelObjective(Construct, string, ICfnServiceLevelObjectiveProps)

            Create a new AWS::ApplicationSignals::ServiceLevelObjective.

            Properties

            AttrArn

            The ARN of this SLO.

            AttrCreatedTime

            The date and time that this SLO was created.

            AttrEvaluationType

            Displays whether this is a period-based SLO or a request-based SLO.

            AttrLastUpdatedTime

            The time that this SLO was most recently updated.

            BurnRateConfigurations

            Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.

            CFN_RESOURCE_TYPE_NAME

            The CloudFormation resource type name for this resource class.

            CdkTagManager

            Tag Manager which manages the tags for this resource.

            CfnProperties

            Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

            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.

            ServiceLevelObjectiveRef

            A reference to a ServiceLevelObjective resource.

            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.

            Methods

            ArnForServiceLevelObjective(IServiceLevelObjectiveRef)

            Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

            Inspect(TreeInspector)

            Examines the CloudFormation resource and discloses attributes.

            IsCfnServiceLevelObjective(object)

            Checks whether the given object is a CfnServiceLevelObjective.

            RenderProperties(IDictionary<string, object>)

            Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

            Constructors

            CfnServiceLevelObjective(Construct, string, ICfnServiceLevelObjectiveProps)

            Create a new AWS::ApplicationSignals::ServiceLevelObjective.

            public CfnServiceLevelObjective(Construct scope, string id, ICfnServiceLevelObjectiveProps props)
            Parameters
            scope Construct

            Scope in which this resource is defined.

            id string

            Construct identifier for this resource (unique in its scope).

            props ICfnServiceLevelObjectiveProps

            Resource properties.

            Remarks

            Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

            Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

            The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

            When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

              For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                  For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                    When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                      You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                      You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                      

                      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.

                      For more information about SLOs, see Service level objectives (SLOs) .

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

                      CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                      ExampleMetadata: fixture=_generated

                      Properties

                      AttrArn

                      The ARN of this SLO.

                      public virtual string AttrArn { get; }
                      Property Value

                      string

                      Remarks

                      CloudformationAttribute: Arn

                      AttrCreatedTime

                      The date and time that this SLO was created.

                      public virtual double AttrCreatedTime { get; }
                      Property Value

                      double

                      Remarks

                      CloudformationAttribute: CreatedTime

                      AttrEvaluationType

                      Displays whether this is a period-based SLO or a request-based SLO.

                      public virtual string AttrEvaluationType { get; }
                      Property Value

                      string

                      Remarks

                      CloudformationAttribute: EvaluationType

                      AttrLastUpdatedTime

                      The time that this SLO was most recently updated.

                      public virtual double AttrLastUpdatedTime { get; }
                      Property Value

                      double

                      Remarks

                      CloudformationAttribute: LastUpdatedTime

                      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 virtual object? BurnRateConfigurations { get; set; }
                      Property Value

                      object

                      Remarks

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

                      CFN_RESOURCE_TYPE_NAME

                      The CloudFormation resource type name for this resource class.

                      public static string CFN_RESOURCE_TYPE_NAME { get; }
                      Property Value

                      string

                      Remarks

                      Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                      Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                      The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                      When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                        For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                          After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                            For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                              When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                

                                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.

                                For more information about SLOs, see Service level objectives (SLOs) .

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

                                CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                ExampleMetadata: fixture=_generated

                                CdkTagManager

                                Tag Manager which manages the tags for this resource.

                                public virtual TagManager CdkTagManager { get; }
                                Property Value

                                TagManager

                                Remarks

                                Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                  For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                    After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                      For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                        When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                          You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                          You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                          

                                          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.

                                          For more information about SLOs, see Service level objectives (SLOs) .

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

                                          CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                          ExampleMetadata: fixture=_generated

                                          CfnProperties

                                          Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

                                          protected override IDictionary<string, object> CfnProperties { get; }
                                          Property Value

                                          IDictionary<string, object>

                                          Overrides
                                          CfnResource.CfnProperties
                                          Remarks

                                          Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                          Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                          The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                          When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                            For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                              After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                  When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                    You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                    You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                    

                                                    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.

                                                    For more information about SLOs, see Service level objectives (SLOs) .

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

                                                    CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                    ExampleMetadata: fixture=_generated

                                                    Description

                                                    An optional description for this SLO.

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

                                                    string

                                                    Remarks

                                                    Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                    Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                    The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                    When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                      For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                        After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                          For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                            When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                              You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                              You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                              

                                                              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.

                                                              For more information about SLOs, see Service level objectives (SLOs) .

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

                                                              CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                              ExampleMetadata: fixture=_generated

                                                              ExclusionWindows

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

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

                                                              object

                                                              Remarks

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

                                                              Goal

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

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

                                                              object

                                                              Remarks

                                                              Type union: either IResolvable or CfnServiceLevelObjective.IGoalProperty

                                                              Name

                                                              A name for this SLO.

                                                              public virtual string Name { get; set; }
                                                              Property Value

                                                              string

                                                              Remarks

                                                              Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                              Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                              The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                              When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                  After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                    For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                      When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                        You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                        You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                        

                                                                        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.

                                                                        For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                        CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                        ExampleMetadata: fixture=_generated

                                                                        RequestBasedSli

                                                                        A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.

                                                                        public virtual object? RequestBasedSli { get; set; }
                                                                        Property Value

                                                                        object

                                                                        Remarks

                                                                        Type union: either IResolvable or CfnServiceLevelObjective.IRequestBasedSliProperty

                                                                        ServiceLevelObjectiveRef

                                                                        A reference to a ServiceLevelObjective resource.

                                                                        public virtual IServiceLevelObjectiveReference ServiceLevelObjectiveRef { get; }
                                                                        Property Value

                                                                        IServiceLevelObjectiveReference

                                                                        Remarks

                                                                        Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                                        Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                                        The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                                        When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                          For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                            After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                              For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                                When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                                  You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                                  You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                                  

                                                                                  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.

                                                                                  For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                                  CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                                  ExampleMetadata: fixture=_generated

                                                                                  Sli

                                                                                  A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.

                                                                                  public virtual object? Sli { get; set; }
                                                                                  Property Value

                                                                                  object

                                                                                  Remarks

                                                                                  Type union: either IResolvable or CfnServiceLevelObjective.ISliProperty

                                                                                  Tags

                                                                                  A list of key-value pairs to associate with the SLO.

                                                                                  public virtual ICfnTag[]? Tags { get; set; }
                                                                                  Property Value

                                                                                  ICfnTag[]

                                                                                  Remarks

                                                                                  Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                                                  Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                                                  The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                                                  When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                                    For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                                      After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                                        For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                                          When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                                            You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                                            You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                                            

                                                                                            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.

                                                                                            For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                                            CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                                            ExampleMetadata: fixture=_generated

                                                                                            Methods

                                                                                            ArnForServiceLevelObjective(IServiceLevelObjectiveRef)

                                                                                            Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

                                                                                            public static string ArnForServiceLevelObjective(IServiceLevelObjectiveRef resource)
                                                                                            Parameters
                                                                                            resource IServiceLevelObjectiveRef
                                                                                            Returns

                                                                                            string

                                                                                            Remarks

                                                                                            Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                                                            Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                                                            The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                                                            When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                                              For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                                                After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                                                  For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                                                    When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                                                      You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                                                      You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                                                      

                                                                                                      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.

                                                                                                      For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                                                      CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                                                      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 cfnServiceLevelObjective = new CfnServiceLevelObjective(this, "MyCfnServiceLevelObjective", 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 {
                                                                                                                               DependencyConfig = new DependencyConfigProperty {
                                                                                                                                   DependencyKeyAttributes = new Dictionary<string, string> {
                                                                                                                                       { "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
                                                                                                                                   },
                                                                                                                                   DependencyOperationName = "dependencyOperationName"
                                                                                                                               },
                                                                                                                               KeyAttributes = new Dictionary<string, string> {
                                                                                                                                   { "keyAttributesKey", "keyAttributes" }
                                                                                                                               },
                                                                                                                               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 {
                                                                                                                               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
                                                                                                                               } },
                                                                                                                               MetricType = "metricType",
                                                                                                                               OperationName = "operationName",
                                                                                                                               PeriodSeconds = 123,
                                                                                                                               Statistic = "statistic"
                                                                                                                           }
                                                                                                                       },
                                                                                                                       Tags = new [] { new CfnTag {
                                                                                                                           Key = "key",
                                                                                                                           Value = "value"
                                                                                                                       } }
                                                                                                                   });

                                                                                                      Inspect(TreeInspector)

                                                                                                      Examines the CloudFormation resource and discloses attributes.

                                                                                                      public virtual void Inspect(TreeInspector inspector)
                                                                                                      Parameters
                                                                                                      inspector TreeInspector

                                                                                                      tree inspector to collect and process attributes.

                                                                                                      Remarks

                                                                                                      Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                                                                      Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                                                                      The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                                                                      When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                                                        For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                                                          After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                                                            For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                                                              When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                                                                You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                                                                You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                                                                

                                                                                                                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.

                                                                                                                For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                                                                CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                                                                ExampleMetadata: fixture=_generated

                                                                                                                IsCfnServiceLevelObjective(object)

                                                                                                                Checks whether the given object is a CfnServiceLevelObjective.

                                                                                                                public static bool IsCfnServiceLevelObjective(object x)
                                                                                                                Parameters
                                                                                                                x object
                                                                                                                Returns

                                                                                                                bool

                                                                                                                Remarks

                                                                                                                Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                                                                                Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                                                                                The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                                                                                When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                                                                  For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                                                                    After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                                                                      For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                                                                        When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                                                                          You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                                                                          You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                                                                          

                                                                                                                          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.

                                                                                                                          For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                                                                          CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                                                                          ExampleMetadata: fixture=_generated

                                                                                                                          RenderProperties(IDictionary<string, object>)

                                                                                                                          Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.

                                                                                                                          protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
                                                                                                                          Parameters
                                                                                                                          props IDictionary<string, object>
                                                                                                                          Returns

                                                                                                                          IDictionary<string, object>

                                                                                                                          Overrides
                                                                                                                          CfnResource.RenderProperties(IDictionary<string, object>)
                                                                                                                          Remarks

                                                                                                                          Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

                                                                                                                          Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

                                                                                                                          The target performance quality that is defined for an SLO is the attainment goal . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.

                                                                                                                          When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO . Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

                                                                                                                            For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.

                                                                                                                              After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

                                                                                                                                For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

                                                                                                                                  When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

                                                                                                                                    You can easily set SLO targets for your applications, and their dependencies, that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

                                                                                                                                    You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
                                                                                                                                    

                                                                                                                                    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.

                                                                                                                                    For more information about SLOs, see Service level objectives (SLOs) .

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

                                                                                                                                    CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective

                                                                                                                                    ExampleMetadata: fixture=_generated

                                                                                                                                    Implements

                                                                                                                                    IInspectable
                                                                                                                                    IServiceLevelObjectiveRef
                                                                                                                                    Constructs.IConstruct
                                                                                                                                    Constructs.IDependable
                                                                                                                                    IEnvironmentAware
                                                                                                                                    ITaggableV2
                                                                                                                                    Back to top Generated by DocFX