CfnServiceLevelObjectiveProps

class aws_cdk.aws_applicationsignals.CfnServiceLevelObjectiveProps(*, name, description=None, goal=None, request_based_sli=None, sli=None, tags=None)

Bases: object

Properties for defining a CfnServiceLevelObjective.

Parameters:
  • name (str) – A name for this SLO.

  • description (Optional[str]) – An optional description for this SLO. Default: - “No description”

  • goal (Union[IResolvable, GoalProperty, Dict[str, Any], None]) – This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.

  • request_based_sli (Union[IResolvable, RequestBasedSliProperty, Dict[str, Any], None]) – A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.

  • sli (Union[IResolvable, SliProperty, Dict[str, Any], None]) – A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.

  • tags (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

See:

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

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_applicationsignals as applicationsignals

cfn_service_level_objective_props = applicationsignals.CfnServiceLevelObjectiveProps(
    name="name",

    # the properties below are optional
    description="description",
    goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
        attainment_goal=123,
        interval=applicationsignals.CfnServiceLevelObjective.IntervalProperty(
            calendar_interval=applicationsignals.CfnServiceLevelObjective.CalendarIntervalProperty(
                duration=123,
                duration_unit="durationUnit",
                start_time=123
            ),
            rolling_interval=applicationsignals.CfnServiceLevelObjective.RollingIntervalProperty(
                duration=123,
                duration_unit="durationUnit"
            )
        ),
        warning_threshold=123
    ),
    request_based_sli=applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
        request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
            key_attributes={
                "key_attributes_key": "keyAttributes"
            },
            metric_type="metricType",
            monitored_request_count_metric=applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty(
                bad_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
                    id="id",

                    # the properties below are optional
                    account_id="accountId",
                    expression="expression",
                    metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
                        metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
                            dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
                                name="name",
                                value="value"
                            )],
                            metric_name="metricName",
                            namespace="namespace"
                        ),
                        period=123,
                        stat="stat",

                        # the properties below are optional
                        unit="unit"
                    ),
                    return_data=False
                )],
                good_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
                    id="id",

                    # the properties below are optional
                    account_id="accountId",
                    expression="expression",
                    metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
                        metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
                            dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
                                name="name",
                                value="value"
                            )],
                            metric_name="metricName",
                            namespace="namespace"
                        ),
                        period=123,
                        stat="stat",

                        # the properties below are optional
                        unit="unit"
                    ),
                    return_data=False
                )]
            ),
            operation_name="operationName",
            total_request_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
                id="id",

                # the properties below are optional
                account_id="accountId",
                expression="expression",
                metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
                    metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
                        dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
                            name="name",
                            value="value"
                        )],
                        metric_name="metricName",
                        namespace="namespace"
                    ),
                    period=123,
                    stat="stat",

                    # the properties below are optional
                    unit="unit"
                ),
                return_data=False
            )]
        ),

        # the properties below are optional
        comparison_operator="comparisonOperator",
        metric_threshold=123
    ),
    sli=applicationsignals.CfnServiceLevelObjective.SliProperty(
        comparison_operator="comparisonOperator",
        metric_threshold=123,
        sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
            key_attributes={
                "key_attributes_key": "keyAttributes"
            },
            metric_data_queries=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
                id="id",

                # the properties below are optional
                account_id="accountId",
                expression="expression",
                metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
                    metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
                        dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
                            name="name",
                            value="value"
                        )],
                        metric_name="metricName",
                        namespace="namespace"
                    ),
                    period=123,
                    stat="stat",

                    # the properties below are optional
                    unit="unit"
                ),
                return_data=False
            )],
            metric_type="metricType",
            operation_name="operationName",
            period_seconds=123,
            statistic="statistic"
        )
    ),
    tags=[CfnTag(
        key="key",
        value="value"
    )]
)

Attributes

description

An optional description for this SLO.

Default:
  • “No description”

See:

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

goal

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

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

See:

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

name

A name for this SLO.

See:

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

request_based_sli

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

See:

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

sli

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

See:

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

tags

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

You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

See:

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