aws-cdk-lib 2.157.0__py3-none-any.whl → 2.159.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +52 -20
- aws_cdk/_jsii/__init__.py +17 -2
- aws_cdk/_jsii/{aws-cdk-lib@2.157.0.jsii.tgz → aws-cdk-lib@2.159.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +16 -1
- aws_cdk/assertions/__init__.py +16 -1
- aws_cdk/aws_accessanalyzer/__init__.py +16 -1
- aws_cdk/aws_acmpca/__init__.py +16 -1
- aws_cdk/aws_amazonmq/__init__.py +16 -1
- aws_cdk/aws_amplify/__init__.py +38 -9
- aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
- aws_cdk/aws_apigateway/__init__.py +16 -1
- aws_cdk/aws_apigatewayv2/__init__.py +46 -1
- aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
- aws_cdk/aws_appconfig/__init__.py +19 -4
- aws_cdk/aws_appflow/__init__.py +16 -1
- aws_cdk/aws_appintegrations/__init__.py +16 -1
- aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
- aws_cdk/aws_applicationinsights/__init__.py +560 -5
- aws_cdk/aws_applicationsignals/__init__.py +186 -143
- aws_cdk/aws_appmesh/__init__.py +16 -1
- aws_cdk/aws_apprunner/__init__.py +16 -1
- aws_cdk/aws_appstream/__init__.py +16 -1
- aws_cdk/aws_appsync/__init__.py +16 -1
- aws_cdk/aws_apptest/__init__.py +16 -1
- aws_cdk/aws_aps/__init__.py +16 -1
- aws_cdk/aws_arczonalshift/__init__.py +16 -1
- aws_cdk/aws_athena/__init__.py +31 -16
- aws_cdk/aws_auditmanager/__init__.py +21 -6
- aws_cdk/aws_autoscaling/__init__.py +16 -1
- aws_cdk/aws_autoscaling_common/__init__.py +16 -1
- aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
- aws_cdk/aws_autoscalingplans/__init__.py +16 -1
- aws_cdk/aws_b2bi/__init__.py +16 -1
- aws_cdk/aws_backup/__init__.py +16 -1
- aws_cdk/aws_backupgateway/__init__.py +16 -1
- aws_cdk/aws_batch/__init__.py +16 -1
- aws_cdk/aws_bcmdataexports/__init__.py +16 -1
- aws_cdk/aws_bedrock/__init__.py +23 -8
- aws_cdk/aws_billingconductor/__init__.py +16 -1
- aws_cdk/aws_budgets/__init__.py +16 -1
- aws_cdk/aws_cassandra/__init__.py +16 -1
- aws_cdk/aws_ce/__init__.py +16 -1
- aws_cdk/aws_certificatemanager/__init__.py +16 -1
- aws_cdk/aws_chatbot/__init__.py +16 -1
- aws_cdk/aws_cleanrooms/__init__.py +16 -1
- aws_cdk/aws_cleanroomsml/__init__.py +16 -1
- aws_cdk/aws_cloud9/__init__.py +16 -1
- aws_cdk/aws_cloudformation/__init__.py +16 -1
- aws_cdk/aws_cloudfront/__init__.py +16 -1
- aws_cdk/aws_cloudfront/experimental/__init__.py +16 -1
- aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
- aws_cdk/aws_cloudtrail/__init__.py +16 -1
- aws_cdk/aws_cloudwatch/__init__.py +16 -1
- aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
- aws_cdk/aws_codeartifact/__init__.py +16 -1
- aws_cdk/aws_codebuild/__init__.py +55 -19
- aws_cdk/aws_codecommit/__init__.py +16 -1
- aws_cdk/aws_codeconnections/__init__.py +17 -2
- aws_cdk/aws_codedeploy/__init__.py +16 -1
- aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
- aws_cdk/aws_codegurureviewer/__init__.py +16 -1
- aws_cdk/aws_codepipeline/__init__.py +16 -1
- aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
- aws_cdk/aws_codestar/__init__.py +16 -1
- aws_cdk/aws_codestarconnections/__init__.py +16 -1
- aws_cdk/aws_codestarnotifications/__init__.py +16 -1
- aws_cdk/aws_cognito/__init__.py +406 -204
- aws_cdk/aws_comprehend/__init__.py +16 -1
- aws_cdk/aws_config/__init__.py +16 -1
- aws_cdk/aws_connect/__init__.py +1695 -153
- aws_cdk/aws_connectcampaigns/__init__.py +16 -1
- aws_cdk/aws_controltower/__init__.py +16 -1
- aws_cdk/aws_cur/__init__.py +16 -1
- aws_cdk/aws_customerprofiles/__init__.py +16 -1
- aws_cdk/aws_databrew/__init__.py +16 -1
- aws_cdk/aws_datapipeline/__init__.py +16 -1
- aws_cdk/aws_datasync/__init__.py +16 -1
- aws_cdk/aws_datazone/__init__.py +681 -41
- aws_cdk/aws_dax/__init__.py +16 -1
- aws_cdk/aws_deadline/__init__.py +16 -1
- aws_cdk/aws_detective/__init__.py +16 -1
- aws_cdk/aws_devicefarm/__init__.py +16 -1
- aws_cdk/aws_devopsguru/__init__.py +16 -1
- aws_cdk/aws_directoryservice/__init__.py +16 -1
- aws_cdk/aws_dlm/__init__.py +16 -1
- aws_cdk/aws_dms/__init__.py +16 -1
- aws_cdk/aws_docdb/__init__.py +22 -2
- aws_cdk/aws_docdbelastic/__init__.py +16 -1
- aws_cdk/aws_dynamodb/__init__.py +21 -6
- aws_cdk/aws_ec2/__init__.py +137 -37
- aws_cdk/aws_ecr/__init__.py +30 -7
- aws_cdk/aws_ecr_assets/__init__.py +16 -1
- aws_cdk/aws_ecs/__init__.py +36 -21
- aws_cdk/aws_ecs_patterns/__init__.py +16 -1
- aws_cdk/aws_efs/__init__.py +16 -1
- aws_cdk/aws_eks/__init__.py +16 -1
- aws_cdk/aws_elasticache/__init__.py +16 -1
- aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +183 -21
- aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
- aws_cdk/aws_elasticsearch/__init__.py +16 -1
- aws_cdk/aws_emr/__init__.py +24 -9
- aws_cdk/aws_emrcontainers/__init__.py +16 -1
- aws_cdk/aws_emrserverless/__init__.py +16 -1
- aws_cdk/aws_entityresolution/__init__.py +16 -1
- aws_cdk/aws_events/__init__.py +35 -18
- aws_cdk/aws_events_targets/__init__.py +181 -86
- aws_cdk/aws_eventschemas/__init__.py +16 -1
- aws_cdk/aws_evidently/__init__.py +16 -1
- aws_cdk/aws_finspace/__init__.py +16 -1
- aws_cdk/aws_fis/__init__.py +16 -1
- aws_cdk/aws_fms/__init__.py +75 -1
- aws_cdk/aws_forecast/__init__.py +16 -1
- aws_cdk/aws_frauddetector/__init__.py +16 -1
- aws_cdk/aws_fsx/__init__.py +19 -4
- aws_cdk/aws_gamelift/__init__.py +56 -53
- aws_cdk/aws_globalaccelerator/__init__.py +38 -30
- aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
- aws_cdk/aws_glue/__init__.py +16 -1
- aws_cdk/aws_grafana/__init__.py +16 -1
- aws_cdk/aws_greengrass/__init__.py +16 -1
- aws_cdk/aws_greengrassv2/__init__.py +16 -1
- aws_cdk/aws_groundstation/__init__.py +16 -1
- aws_cdk/aws_guardduty/__init__.py +16 -1
- aws_cdk/aws_healthimaging/__init__.py +16 -1
- aws_cdk/aws_healthlake/__init__.py +16 -1
- aws_cdk/aws_iam/__init__.py +38 -21
- aws_cdk/aws_identitystore/__init__.py +16 -1
- aws_cdk/aws_imagebuilder/__init__.py +16 -1
- aws_cdk/aws_inspector/__init__.py +16 -1
- aws_cdk/aws_inspectorv2/__init__.py +16 -1
- aws_cdk/aws_internetmonitor/__init__.py +16 -1
- aws_cdk/aws_iot/__init__.py +16 -1
- aws_cdk/aws_iot1click/__init__.py +16 -1
- aws_cdk/aws_iotanalytics/__init__.py +16 -1
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
- aws_cdk/aws_iotevents/__init__.py +16 -1
- aws_cdk/aws_iotfleethub/__init__.py +16 -1
- aws_cdk/aws_iotfleetwise/__init__.py +435 -1
- aws_cdk/aws_iotsitewise/__init__.py +106 -2
- aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
- aws_cdk/aws_iottwinmaker/__init__.py +16 -1
- aws_cdk/aws_iotwireless/__init__.py +221 -1
- aws_cdk/aws_ivs/__init__.py +16 -1
- aws_cdk/aws_ivschat/__init__.py +16 -1
- aws_cdk/aws_kafkaconnect/__init__.py +16 -1
- aws_cdk/aws_kendra/__init__.py +16 -1
- aws_cdk/aws_kendraranking/__init__.py +16 -1
- aws_cdk/aws_kinesis/__init__.py +16 -1
- aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
- aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
- aws_cdk/aws_kinesisvideo/__init__.py +16 -1
- aws_cdk/aws_kms/__init__.py +16 -1
- aws_cdk/aws_lakeformation/__init__.py +16 -1
- aws_cdk/aws_lambda/__init__.py +145 -17
- aws_cdk/aws_lambda_destinations/__init__.py +16 -1
- aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +16 -1
- aws_cdk/aws_launchwizard/__init__.py +16 -1
- aws_cdk/aws_lex/__init__.py +31 -2
- aws_cdk/aws_licensemanager/__init__.py +16 -1
- aws_cdk/aws_lightsail/__init__.py +16 -1
- aws_cdk/aws_location/__init__.py +16 -1
- aws_cdk/aws_logs/__init__.py +17 -2
- aws_cdk/aws_logs_destinations/__init__.py +16 -1
- aws_cdk/aws_lookoutequipment/__init__.py +16 -1
- aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
- aws_cdk/aws_lookoutvision/__init__.py +16 -1
- aws_cdk/aws_m2/__init__.py +16 -1
- aws_cdk/aws_macie/__init__.py +16 -1
- aws_cdk/aws_managedblockchain/__init__.py +16 -1
- aws_cdk/aws_mediaconnect/__init__.py +127 -1
- aws_cdk/aws_mediaconvert/__init__.py +16 -1
- aws_cdk/aws_medialive/__init__.py +8004 -3263
- aws_cdk/aws_mediapackage/__init__.py +16 -1
- aws_cdk/aws_mediapackagev2/__init__.py +16 -1
- aws_cdk/aws_mediastore/__init__.py +16 -1
- aws_cdk/aws_mediatailor/__init__.py +16 -1
- aws_cdk/aws_memorydb/__init__.py +16 -1
- aws_cdk/aws_msk/__init__.py +303 -480
- aws_cdk/aws_mwaa/__init__.py +16 -1
- aws_cdk/aws_neptune/__init__.py +16 -1
- aws_cdk/aws_neptunegraph/__init__.py +16 -1
- aws_cdk/aws_networkfirewall/__init__.py +16 -1
- aws_cdk/aws_networkmanager/__init__.py +16 -1
- aws_cdk/aws_nimblestudio/__init__.py +16 -1
- aws_cdk/aws_oam/__init__.py +16 -1
- aws_cdk/aws_omics/__init__.py +16 -1
- aws_cdk/aws_opensearchserverless/__init__.py +16 -1
- aws_cdk/aws_opensearchservice/__init__.py +22 -1
- aws_cdk/aws_opsworks/__init__.py +16 -1
- aws_cdk/aws_opsworkscm/__init__.py +16 -1
- aws_cdk/aws_organizations/__init__.py +16 -1
- aws_cdk/aws_osis/__init__.py +16 -1
- aws_cdk/aws_panorama/__init__.py +16 -1
- aws_cdk/aws_paymentcryptography/__init__.py +16 -1
- aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
- aws_cdk/aws_pcaconnectorscep/__init__.py +85 -31
- aws_cdk/aws_personalize/__init__.py +16 -1
- aws_cdk/aws_pinpoint/__init__.py +16 -1
- aws_cdk/aws_pinpointemail/__init__.py +16 -1
- aws_cdk/aws_pipes/__init__.py +65 -1
- aws_cdk/aws_proton/__init__.py +16 -1
- aws_cdk/aws_qbusiness/__init__.py +27 -15
- aws_cdk/aws_qldb/__init__.py +16 -1
- aws_cdk/aws_quicksight/__init__.py +654 -100
- aws_cdk/aws_ram/__init__.py +16 -1
- aws_cdk/aws_rds/__init__.py +78 -32
- aws_cdk/aws_redshift/__init__.py +16 -1
- aws_cdk/aws_redshiftserverless/__init__.py +16 -1
- aws_cdk/aws_refactorspaces/__init__.py +16 -1
- aws_cdk/aws_rekognition/__init__.py +16 -1
- aws_cdk/aws_resiliencehub/__init__.py +16 -1
- aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
- aws_cdk/aws_resourcegroups/__init__.py +16 -1
- aws_cdk/aws_robomaker/__init__.py +16 -1
- aws_cdk/aws_rolesanywhere/__init__.py +16 -1
- aws_cdk/aws_route53/__init__.py +16 -1
- aws_cdk/aws_route53_patterns/__init__.py +16 -1
- aws_cdk/aws_route53_targets/__init__.py +16 -1
- aws_cdk/aws_route53profiles/__init__.py +16 -1
- aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
- aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
- aws_cdk/aws_route53resolver/__init__.py +16 -1
- aws_cdk/aws_rum/__init__.py +16 -1
- aws_cdk/aws_s3/__init__.py +231 -34
- aws_cdk/aws_s3_assets/__init__.py +16 -1
- aws_cdk/aws_s3_deployment/__init__.py +16 -1
- aws_cdk/aws_s3_notifications/__init__.py +16 -1
- aws_cdk/aws_s3express/__init__.py +16 -1
- aws_cdk/aws_s3objectlambda/__init__.py +18 -3
- aws_cdk/aws_s3outposts/__init__.py +16 -1
- aws_cdk/aws_sagemaker/__init__.py +888 -59
- aws_cdk/aws_sam/__init__.py +16 -1
- aws_cdk/aws_scheduler/__init__.py +16 -1
- aws_cdk/aws_sdb/__init__.py +16 -1
- aws_cdk/aws_secretsmanager/__init__.py +38 -9
- aws_cdk/aws_securityhub/__init__.py +277 -20
- aws_cdk/aws_securitylake/__init__.py +343 -8
- aws_cdk/aws_servicecatalog/__init__.py +16 -1
- aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
- aws_cdk/aws_servicediscovery/__init__.py +21 -6
- aws_cdk/aws_ses/__init__.py +16 -1
- aws_cdk/aws_ses_actions/__init__.py +16 -1
- aws_cdk/aws_shield/__init__.py +16 -1
- aws_cdk/aws_signer/__init__.py +16 -1
- aws_cdk/aws_simspaceweaver/__init__.py +16 -1
- aws_cdk/aws_sns/__init__.py +16 -9
- aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
- aws_cdk/aws_sqs/__init__.py +16 -1
- aws_cdk/aws_ssm/__init__.py +36 -13
- aws_cdk/aws_ssmcontacts/__init__.py +16 -1
- aws_cdk/aws_ssmincidents/__init__.py +16 -1
- aws_cdk/aws_ssmquicksetup/__init__.py +16 -1
- aws_cdk/aws_sso/__init__.py +16 -1
- aws_cdk/aws_stepfunctions/__init__.py +16 -1
- aws_cdk/aws_stepfunctions_tasks/__init__.py +52 -1
- aws_cdk/aws_supportapp/__init__.py +16 -1
- aws_cdk/aws_synthetics/__init__.py +16 -1
- aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
- aws_cdk/aws_timestream/__init__.py +16 -1
- aws_cdk/aws_transfer/__init__.py +16 -1
- aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
- aws_cdk/aws_voiceid/__init__.py +16 -1
- aws_cdk/aws_vpclattice/__init__.py +16 -1
- aws_cdk/aws_waf/__init__.py +16 -1
- aws_cdk/aws_wafregional/__init__.py +16 -1
- aws_cdk/aws_wafv2/__init__.py +16 -1
- aws_cdk/aws_wisdom/__init__.py +16 -1
- aws_cdk/aws_workspaces/__init__.py +16 -1
- aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
- aws_cdk/aws_workspacesweb/__init__.py +16 -1
- aws_cdk/aws_xray/__init__.py +16 -1
- aws_cdk/cloud_assembly_schema/__init__.py +16 -1
- aws_cdk/cloudformation_include/__init__.py +16 -1
- aws_cdk/custom_resources/__init__.py +16 -1
- aws_cdk/cx_api/__init__.py +35 -1
- aws_cdk/lambda_layer_awscli/__init__.py +16 -1
- aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
- aws_cdk/pipelines/__init__.py +16 -1
- aws_cdk/region_info/__init__.py +16 -1
- aws_cdk/triggers/__init__.py +16 -1
- {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/METADATA +5 -5
- {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/NOTICE +27 -8
- aws_cdk_lib-2.159.0.dist-info/RECORD +294 -0
- aws_cdk_lib-2.157.0.dist-info/RECORD +0 -294
- {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/top_level.txt +0 -0
|
@@ -48,7 +48,22 @@ import jsii
|
|
|
48
48
|
import publication
|
|
49
49
|
import typing_extensions
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
import typeguard
|
|
52
|
+
from importlib.metadata import version as _metadata_package_version
|
|
53
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
54
|
+
|
|
55
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
56
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
57
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
58
|
+
else:
|
|
59
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
60
|
+
pass
|
|
61
|
+
else:
|
|
62
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
63
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
64
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
65
|
+
else:
|
|
66
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
52
67
|
|
|
53
68
|
from .._jsii import *
|
|
54
69
|
|
|
@@ -76,9 +91,23 @@ class CfnServiceLevelObjective(
|
|
|
76
91
|
|
|
77
92
|
Create an SLO to set a target for a service or operation’s availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.
|
|
78
93
|
|
|
79
|
-
|
|
94
|
+
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.
|
|
80
95
|
|
|
81
|
-
|
|
96
|
+
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.
|
|
97
|
+
|
|
98
|
+
- A *period-based SLO* uses defined *periods* of time within a specified total time interval. For each period of time, Application Signals determines whether the application met its goal. The attainment rate is calculated as the ``number of good periods/number of total periods`` .
|
|
99
|
+
|
|
100
|
+
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.
|
|
101
|
+
|
|
102
|
+
- A *request-based SLO* doesn't use pre-defined periods of time. Instead, the SLO measures ``number of good requests/number of total requests`` during the interval. At any time, you can find the ratio of good requests to total requests for the interval up to the time stamp that you specify, and measure that ratio against the goal set in your SLO.
|
|
103
|
+
|
|
104
|
+
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.
|
|
105
|
+
|
|
106
|
+
- For a period-based SLO, the error budget starts at a number defined by the highest number of periods that can fail to meet the threshold, while still meeting the overall goal. The *remaining error budget* decreases with every failed period that is recorded. The error budget within one interval can never increase.
|
|
107
|
+
|
|
108
|
+
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.
|
|
109
|
+
|
|
110
|
+
- For a request-based SLO, the remaining error budget is dynamic and can increase or decrease, depending on the ratio of good requests to total requests.
|
|
82
111
|
|
|
83
112
|
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:
|
|
84
113
|
|
|
@@ -92,6 +121,8 @@ class CfnServiceLevelObjective(
|
|
|
92
121
|
|
|
93
122
|
You can easily set SLO targets for your applications 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.
|
|
94
123
|
|
|
124
|
+
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.
|
|
125
|
+
|
|
95
126
|
For more information about SLOs, see `Service level objectives (SLOs) <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html>`_ .
|
|
96
127
|
|
|
97
128
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html
|
|
@@ -106,42 +137,6 @@ class CfnServiceLevelObjective(
|
|
|
106
137
|
|
|
107
138
|
cfn_service_level_objective = applicationsignals.CfnServiceLevelObjective(self, "MyCfnServiceLevelObjective",
|
|
108
139
|
name="name",
|
|
109
|
-
sli=applicationsignals.CfnServiceLevelObjective.SliProperty(
|
|
110
|
-
comparison_operator="comparisonOperator",
|
|
111
|
-
metric_threshold=123,
|
|
112
|
-
sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
|
|
113
|
-
key_attributes={
|
|
114
|
-
"key_attributes_key": "keyAttributes"
|
|
115
|
-
},
|
|
116
|
-
metric_data_queries=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
|
|
117
|
-
id="id",
|
|
118
|
-
|
|
119
|
-
# the properties below are optional
|
|
120
|
-
account_id="accountId",
|
|
121
|
-
expression="expression",
|
|
122
|
-
metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
|
|
123
|
-
metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
|
|
124
|
-
dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
|
|
125
|
-
name="name",
|
|
126
|
-
value="value"
|
|
127
|
-
)],
|
|
128
|
-
metric_name="metricName",
|
|
129
|
-
namespace="namespace"
|
|
130
|
-
),
|
|
131
|
-
period=123,
|
|
132
|
-
stat="stat",
|
|
133
|
-
|
|
134
|
-
# the properties below are optional
|
|
135
|
-
unit="unit"
|
|
136
|
-
),
|
|
137
|
-
return_data=False
|
|
138
|
-
)],
|
|
139
|
-
metric_type="metricType",
|
|
140
|
-
operation_name="operationName",
|
|
141
|
-
period_seconds=123,
|
|
142
|
-
statistic="statistic"
|
|
143
|
-
)
|
|
144
|
-
),
|
|
145
140
|
|
|
146
141
|
# the properties below are optional
|
|
147
142
|
description="description",
|
|
@@ -244,6 +239,42 @@ class CfnServiceLevelObjective(
|
|
|
244
239
|
comparison_operator="comparisonOperator",
|
|
245
240
|
metric_threshold=123
|
|
246
241
|
),
|
|
242
|
+
sli=applicationsignals.CfnServiceLevelObjective.SliProperty(
|
|
243
|
+
comparison_operator="comparisonOperator",
|
|
244
|
+
metric_threshold=123,
|
|
245
|
+
sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
|
|
246
|
+
key_attributes={
|
|
247
|
+
"key_attributes_key": "keyAttributes"
|
|
248
|
+
},
|
|
249
|
+
metric_data_queries=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
|
|
250
|
+
id="id",
|
|
251
|
+
|
|
252
|
+
# the properties below are optional
|
|
253
|
+
account_id="accountId",
|
|
254
|
+
expression="expression",
|
|
255
|
+
metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
|
|
256
|
+
metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
|
|
257
|
+
dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
|
|
258
|
+
name="name",
|
|
259
|
+
value="value"
|
|
260
|
+
)],
|
|
261
|
+
metric_name="metricName",
|
|
262
|
+
namespace="namespace"
|
|
263
|
+
),
|
|
264
|
+
period=123,
|
|
265
|
+
stat="stat",
|
|
266
|
+
|
|
267
|
+
# the properties below are optional
|
|
268
|
+
unit="unit"
|
|
269
|
+
),
|
|
270
|
+
return_data=False
|
|
271
|
+
)],
|
|
272
|
+
metric_type="metricType",
|
|
273
|
+
operation_name="operationName",
|
|
274
|
+
period_seconds=123,
|
|
275
|
+
statistic="statistic"
|
|
276
|
+
)
|
|
277
|
+
),
|
|
247
278
|
tags=[CfnTag(
|
|
248
279
|
key="key",
|
|
249
280
|
value="value"
|
|
@@ -257,20 +288,20 @@ class CfnServiceLevelObjective(
|
|
|
257
288
|
id: builtins.str,
|
|
258
289
|
*,
|
|
259
290
|
name: builtins.str,
|
|
260
|
-
sli: typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.SliProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
261
291
|
description: typing.Optional[builtins.str] = None,
|
|
262
292
|
goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.GoalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
263
293
|
request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RequestBasedSliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
294
|
+
sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.SliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
264
295
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
265
296
|
) -> None:
|
|
266
297
|
'''
|
|
267
298
|
:param scope: Scope in which this resource is defined.
|
|
268
299
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
269
300
|
:param name: A name for this SLO.
|
|
270
|
-
:param sli: A structure containing information about the performance metric that this SLO monitors.
|
|
271
301
|
:param description: An optional description for this SLO. Default: - "No description"
|
|
272
302
|
:param goal: This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.
|
|
273
|
-
:param request_based_sli:
|
|
303
|
+
:param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
|
|
304
|
+
:param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
|
|
274
305
|
:param 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.
|
|
275
306
|
'''
|
|
276
307
|
if __debug__:
|
|
@@ -279,10 +310,10 @@ class CfnServiceLevelObjective(
|
|
|
279
310
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
280
311
|
props = CfnServiceLevelObjectiveProps(
|
|
281
312
|
name=name,
|
|
282
|
-
sli=sli,
|
|
283
313
|
description=description,
|
|
284
314
|
goal=goal,
|
|
285
315
|
request_based_sli=request_based_sli,
|
|
316
|
+
sli=sli,
|
|
286
317
|
tags=tags,
|
|
287
318
|
)
|
|
288
319
|
|
|
@@ -378,24 +409,6 @@ class CfnServiceLevelObjective(
|
|
|
378
409
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
379
410
|
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
380
411
|
|
|
381
|
-
@builtins.property
|
|
382
|
-
@jsii.member(jsii_name="sli")
|
|
383
|
-
def sli(
|
|
384
|
-
self,
|
|
385
|
-
) -> typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.SliProperty"]:
|
|
386
|
-
'''A structure containing information about the performance metric that this SLO monitors.'''
|
|
387
|
-
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.SliProperty"], jsii.get(self, "sli"))
|
|
388
|
-
|
|
389
|
-
@sli.setter
|
|
390
|
-
def sli(
|
|
391
|
-
self,
|
|
392
|
-
value: typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.SliProperty"],
|
|
393
|
-
) -> None:
|
|
394
|
-
if __debug__:
|
|
395
|
-
type_hints = typing.get_type_hints(_typecheckingstub__938ccf6991aba4b5875a4ca09dfcdb00a5c7e9a92bba0e785ddfbebb228037c3)
|
|
396
|
-
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
397
|
-
jsii.set(self, "sli", value) # pyright: ignore[reportArgumentType]
|
|
398
|
-
|
|
399
412
|
@builtins.property
|
|
400
413
|
@jsii.member(jsii_name="description")
|
|
401
414
|
def description(self) -> typing.Optional[builtins.str]:
|
|
@@ -432,7 +445,7 @@ class CfnServiceLevelObjective(
|
|
|
432
445
|
def request_based_sli(
|
|
433
446
|
self,
|
|
434
447
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliProperty"]]:
|
|
435
|
-
'''
|
|
448
|
+
'''A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.'''
|
|
436
449
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliProperty"]], jsii.get(self, "requestBasedSli"))
|
|
437
450
|
|
|
438
451
|
@request_based_sli.setter
|
|
@@ -445,6 +458,24 @@ class CfnServiceLevelObjective(
|
|
|
445
458
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
446
459
|
jsii.set(self, "requestBasedSli", value) # pyright: ignore[reportArgumentType]
|
|
447
460
|
|
|
461
|
+
@builtins.property
|
|
462
|
+
@jsii.member(jsii_name="sli")
|
|
463
|
+
def sli(
|
|
464
|
+
self,
|
|
465
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.SliProperty"]]:
|
|
466
|
+
'''A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.'''
|
|
467
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.SliProperty"]], jsii.get(self, "sli"))
|
|
468
|
+
|
|
469
|
+
@sli.setter
|
|
470
|
+
def sli(
|
|
471
|
+
self,
|
|
472
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.SliProperty"]],
|
|
473
|
+
) -> None:
|
|
474
|
+
if __debug__:
|
|
475
|
+
type_hints = typing.get_type_hints(_typecheckingstub__938ccf6991aba4b5875a4ca09dfcdb00a5c7e9a92bba0e785ddfbebb228037c3)
|
|
476
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
477
|
+
jsii.set(self, "sli", value) # pyright: ignore[reportArgumentType]
|
|
478
|
+
|
|
448
479
|
@builtins.property
|
|
449
480
|
@jsii.member(jsii_name="tags")
|
|
450
481
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
@@ -651,7 +682,7 @@ class CfnServiceLevelObjective(
|
|
|
651
682
|
|
|
652
683
|
This includes the time period for evaluation and the attainment threshold.
|
|
653
684
|
|
|
654
|
-
:param attainment_goal: The threshold that determines if the goal is being met.
|
|
685
|
+
:param attainment_goal: The threshold that determines if the goal is being met. If this is a period-based SLO, the attainment goal is the percentage of good periods that meet the threshold requirements to the total periods within the 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. If this is a request-based SLO, the attainment goal is the percentage of requests that must be successful to meet the attainment goal. If you omit this parameter, 99 is used to represent 99% as the attainment goal.
|
|
655
686
|
:param interval: The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval. If you omit this parameter, a rolling interval of 7 days is used.
|
|
656
687
|
:param warning_threshold: The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.
|
|
657
688
|
|
|
@@ -697,7 +728,9 @@ class CfnServiceLevelObjective(
|
|
|
697
728
|
def attainment_goal(self) -> typing.Optional[jsii.Number]:
|
|
698
729
|
'''The threshold that determines if the goal is being met.
|
|
699
730
|
|
|
700
|
-
|
|
731
|
+
If this is a period-based SLO, the attainment goal is the percentage of good periods that meet the threshold requirements to the total periods within the 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.
|
|
732
|
+
|
|
733
|
+
If this is a request-based SLO, the attainment goal is the percentage of requests that must be successful to meet the attainment goal.
|
|
701
734
|
|
|
702
735
|
If you omit this parameter, 99 is used to represent 99% as the attainment goal.
|
|
703
736
|
|
|
@@ -1227,8 +1260,8 @@ class CfnServiceLevelObjective(
|
|
|
1227
1260
|
|
|
1228
1261
|
This value observed for the metric defined in ``TotalRequestCountMetric`` is divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
|
|
1229
1262
|
|
|
1230
|
-
:param bad_count_metric: If
|
|
1231
|
-
:param good_count_metric: If
|
|
1263
|
+
:param bad_count_metric: If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure.
|
|
1264
|
+
:param good_count_metric: If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure.
|
|
1232
1265
|
|
|
1233
1266
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html
|
|
1234
1267
|
:exampleMetadata: fixture=_generated
|
|
@@ -1302,7 +1335,7 @@ class CfnServiceLevelObjective(
|
|
|
1302
1335
|
def bad_count_metric(
|
|
1303
1336
|
self,
|
|
1304
1337
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]]:
|
|
1305
|
-
'''If
|
|
1338
|
+
'''If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure.
|
|
1306
1339
|
|
|
1307
1340
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html#cfn-applicationsignals-servicelevelobjective-monitoredrequestcountmetric-badcountmetric
|
|
1308
1341
|
'''
|
|
@@ -1313,7 +1346,7 @@ class CfnServiceLevelObjective(
|
|
|
1313
1346
|
def good_count_metric(
|
|
1314
1347
|
self,
|
|
1315
1348
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]]:
|
|
1316
|
-
'''If
|
|
1349
|
+
'''If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure.
|
|
1317
1350
|
|
|
1318
1351
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html#cfn-applicationsignals-servicelevelobjective-monitoredrequestcountmetric-goodcountmetric
|
|
1319
1352
|
'''
|
|
@@ -1354,11 +1387,11 @@ class CfnServiceLevelObjective(
|
|
|
1354
1387
|
) -> None:
|
|
1355
1388
|
'''This structure contains the information about the metric that is used for a request-based SLO.
|
|
1356
1389
|
|
|
1357
|
-
:param key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to.
|
|
1358
|
-
:param metric_type: If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.
|
|
1359
|
-
:param monitored_request_count_metric:
|
|
1390
|
+
:param key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. - ``Type`` designates the type of object that this SLO is related to. - ``ResourceType`` specifies the type of the resource. This field is used only when the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` . - ``Name`` specifies the name of the object. This is used only if the value of the ``Type`` field is ``Service`` , ``RemoteService`` , or ``AWS::Service`` . - ``Identifier`` identifies the resource objects of this resource. This is used only if the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` . - ``Environment`` specifies the location where this object is hosted, or what it belongs to.
|
|
1391
|
+
:param metric_type: If the SLO monitors either the ``LATENCY`` or ``AVAILABILITY`` metric that Application Signals collects, this field displays which of those metrics is used.
|
|
1392
|
+
:param monitored_request_count_metric: Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in ``TotalRequestCountMetric`` will be divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
|
|
1360
1393
|
:param operation_name: If the SLO monitors a specific operation of the service, this field displays that operation name.
|
|
1361
|
-
:param total_request_count_metric:
|
|
1394
|
+
:param total_request_count_metric: This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in ``MonitoredRequestCountMetric`` .
|
|
1362
1395
|
|
|
1363
1396
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html
|
|
1364
1397
|
:exampleMetadata: fixture=_generated
|
|
@@ -1473,6 +1506,14 @@ class CfnServiceLevelObjective(
|
|
|
1473
1506
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
|
|
1474
1507
|
'''This is a string-to-string map that contains information about the type of object that this SLO is related to.
|
|
1475
1508
|
|
|
1509
|
+
It can include the following fields.
|
|
1510
|
+
|
|
1511
|
+
- ``Type`` designates the type of object that this SLO is related to.
|
|
1512
|
+
- ``ResourceType`` specifies the type of the resource. This field is used only when the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` .
|
|
1513
|
+
- ``Name`` specifies the name of the object. This is used only if the value of the ``Type`` field is ``Service`` , ``RemoteService`` , or ``AWS::Service`` .
|
|
1514
|
+
- ``Identifier`` identifies the resource objects of this resource. This is used only if the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` .
|
|
1515
|
+
- ``Environment`` specifies the location where this object is hosted, or what it belongs to.
|
|
1516
|
+
|
|
1476
1517
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-keyattributes
|
|
1477
1518
|
'''
|
|
1478
1519
|
result = self._values.get("key_attributes")
|
|
@@ -1480,7 +1521,7 @@ class CfnServiceLevelObjective(
|
|
|
1480
1521
|
|
|
1481
1522
|
@builtins.property
|
|
1482
1523
|
def metric_type(self) -> typing.Optional[builtins.str]:
|
|
1483
|
-
'''If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.
|
|
1524
|
+
'''If the SLO monitors either the ``LATENCY`` or ``AVAILABILITY`` metric that Application Signals collects, this field displays which of those metrics is used.
|
|
1484
1525
|
|
|
1485
1526
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-metrictype
|
|
1486
1527
|
'''
|
|
@@ -1491,9 +1532,9 @@ class CfnServiceLevelObjective(
|
|
|
1491
1532
|
def monitored_request_count_metric(
|
|
1492
1533
|
self,
|
|
1493
1534
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MonitoredRequestCountMetricProperty"]]:
|
|
1494
|
-
'''
|
|
1535
|
+
'''Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO.
|
|
1495
1536
|
|
|
1496
|
-
This value observed for the metric defined in ``TotalRequestCountMetric``
|
|
1537
|
+
This value observed for the metric defined in ``TotalRequestCountMetric`` will be divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
|
|
1497
1538
|
|
|
1498
1539
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-monitoredrequestcountmetric
|
|
1499
1540
|
'''
|
|
@@ -1513,7 +1554,9 @@ class CfnServiceLevelObjective(
|
|
|
1513
1554
|
def total_request_count_metric(
|
|
1514
1555
|
self,
|
|
1515
1556
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]]:
|
|
1516
|
-
'''
|
|
1557
|
+
'''This structure defines the metric that is used as the "total requests" number for a request-based SLO.
|
|
1558
|
+
|
|
1559
|
+
The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in ``MonitoredRequestCountMetric`` .
|
|
1517
1560
|
|
|
1518
1561
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-totalrequestcountmetric
|
|
1519
1562
|
'''
|
|
@@ -1550,9 +1593,9 @@ class CfnServiceLevelObjective(
|
|
|
1550
1593
|
) -> None:
|
|
1551
1594
|
'''This structure contains information about the performance metric that a request-based SLO monitors.
|
|
1552
1595
|
|
|
1553
|
-
:param request_based_sli_metric:
|
|
1596
|
+
:param request_based_sli_metric: A structure that contains information about the metric that the SLO monitors.
|
|
1554
1597
|
:param comparison_operator: The arithmetic operation used when comparing the specified metric to the threshold.
|
|
1555
|
-
:param metric_threshold:
|
|
1598
|
+
:param metric_threshold: This value is the threshold that the observed metric values of the SLI metric are compared to.
|
|
1556
1599
|
|
|
1557
1600
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html
|
|
1558
1601
|
:exampleMetadata: fixture=_generated
|
|
@@ -1665,7 +1708,7 @@ class CfnServiceLevelObjective(
|
|
|
1665
1708
|
def request_based_sli_metric(
|
|
1666
1709
|
self,
|
|
1667
1710
|
) -> typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliMetricProperty"]:
|
|
1668
|
-
'''
|
|
1711
|
+
'''A structure that contains information about the metric that the SLO monitors.
|
|
1669
1712
|
|
|
1670
1713
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-requestbasedslimetric
|
|
1671
1714
|
'''
|
|
@@ -1684,7 +1727,7 @@ class CfnServiceLevelObjective(
|
|
|
1684
1727
|
|
|
1685
1728
|
@builtins.property
|
|
1686
1729
|
def metric_threshold(self) -> typing.Optional[jsii.Number]:
|
|
1687
|
-
'''
|
|
1730
|
+
'''This value is the threshold that the observed metric values of the SLI metric are compared to.
|
|
1688
1731
|
|
|
1689
1732
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-metricthreshold
|
|
1690
1733
|
'''
|
|
@@ -2083,10 +2126,10 @@ class CfnServiceLevelObjective(
|
|
|
2083
2126
|
jsii_struct_bases=[],
|
|
2084
2127
|
name_mapping={
|
|
2085
2128
|
"name": "name",
|
|
2086
|
-
"sli": "sli",
|
|
2087
2129
|
"description": "description",
|
|
2088
2130
|
"goal": "goal",
|
|
2089
2131
|
"request_based_sli": "requestBasedSli",
|
|
2132
|
+
"sli": "sli",
|
|
2090
2133
|
"tags": "tags",
|
|
2091
2134
|
},
|
|
2092
2135
|
)
|
|
@@ -2095,19 +2138,19 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2095
2138
|
self,
|
|
2096
2139
|
*,
|
|
2097
2140
|
name: builtins.str,
|
|
2098
|
-
sli: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
2099
2141
|
description: typing.Optional[builtins.str] = None,
|
|
2100
2142
|
goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2101
2143
|
request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2144
|
+
sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2102
2145
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2103
2146
|
) -> None:
|
|
2104
2147
|
'''Properties for defining a ``CfnServiceLevelObjective``.
|
|
2105
2148
|
|
|
2106
2149
|
:param name: A name for this SLO.
|
|
2107
|
-
:param sli: A structure containing information about the performance metric that this SLO monitors.
|
|
2108
2150
|
:param description: An optional description for this SLO. Default: - "No description"
|
|
2109
2151
|
:param goal: This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.
|
|
2110
|
-
:param request_based_sli:
|
|
2152
|
+
:param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
|
|
2153
|
+
:param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
|
|
2111
2154
|
:param 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.
|
|
2112
2155
|
|
|
2113
2156
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html
|
|
@@ -2121,42 +2164,6 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2121
2164
|
|
|
2122
2165
|
cfn_service_level_objective_props = applicationsignals.CfnServiceLevelObjectiveProps(
|
|
2123
2166
|
name="name",
|
|
2124
|
-
sli=applicationsignals.CfnServiceLevelObjective.SliProperty(
|
|
2125
|
-
comparison_operator="comparisonOperator",
|
|
2126
|
-
metric_threshold=123,
|
|
2127
|
-
sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
|
|
2128
|
-
key_attributes={
|
|
2129
|
-
"key_attributes_key": "keyAttributes"
|
|
2130
|
-
},
|
|
2131
|
-
metric_data_queries=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
|
|
2132
|
-
id="id",
|
|
2133
|
-
|
|
2134
|
-
# the properties below are optional
|
|
2135
|
-
account_id="accountId",
|
|
2136
|
-
expression="expression",
|
|
2137
|
-
metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
|
|
2138
|
-
metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
|
|
2139
|
-
dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
|
|
2140
|
-
name="name",
|
|
2141
|
-
value="value"
|
|
2142
|
-
)],
|
|
2143
|
-
metric_name="metricName",
|
|
2144
|
-
namespace="namespace"
|
|
2145
|
-
),
|
|
2146
|
-
period=123,
|
|
2147
|
-
stat="stat",
|
|
2148
|
-
|
|
2149
|
-
# the properties below are optional
|
|
2150
|
-
unit="unit"
|
|
2151
|
-
),
|
|
2152
|
-
return_data=False
|
|
2153
|
-
)],
|
|
2154
|
-
metric_type="metricType",
|
|
2155
|
-
operation_name="operationName",
|
|
2156
|
-
period_seconds=123,
|
|
2157
|
-
statistic="statistic"
|
|
2158
|
-
)
|
|
2159
|
-
),
|
|
2160
2167
|
|
|
2161
2168
|
# the properties below are optional
|
|
2162
2169
|
description="description",
|
|
@@ -2259,6 +2266,42 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2259
2266
|
comparison_operator="comparisonOperator",
|
|
2260
2267
|
metric_threshold=123
|
|
2261
2268
|
),
|
|
2269
|
+
sli=applicationsignals.CfnServiceLevelObjective.SliProperty(
|
|
2270
|
+
comparison_operator="comparisonOperator",
|
|
2271
|
+
metric_threshold=123,
|
|
2272
|
+
sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
|
|
2273
|
+
key_attributes={
|
|
2274
|
+
"key_attributes_key": "keyAttributes"
|
|
2275
|
+
},
|
|
2276
|
+
metric_data_queries=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
|
|
2277
|
+
id="id",
|
|
2278
|
+
|
|
2279
|
+
# the properties below are optional
|
|
2280
|
+
account_id="accountId",
|
|
2281
|
+
expression="expression",
|
|
2282
|
+
metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
|
|
2283
|
+
metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
|
|
2284
|
+
dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
|
|
2285
|
+
name="name",
|
|
2286
|
+
value="value"
|
|
2287
|
+
)],
|
|
2288
|
+
metric_name="metricName",
|
|
2289
|
+
namespace="namespace"
|
|
2290
|
+
),
|
|
2291
|
+
period=123,
|
|
2292
|
+
stat="stat",
|
|
2293
|
+
|
|
2294
|
+
# the properties below are optional
|
|
2295
|
+
unit="unit"
|
|
2296
|
+
),
|
|
2297
|
+
return_data=False
|
|
2298
|
+
)],
|
|
2299
|
+
metric_type="metricType",
|
|
2300
|
+
operation_name="operationName",
|
|
2301
|
+
period_seconds=123,
|
|
2302
|
+
statistic="statistic"
|
|
2303
|
+
)
|
|
2304
|
+
),
|
|
2262
2305
|
tags=[CfnTag(
|
|
2263
2306
|
key="key",
|
|
2264
2307
|
value="value"
|
|
@@ -2268,14 +2311,13 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2268
2311
|
if __debug__:
|
|
2269
2312
|
type_hints = typing.get_type_hints(_typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee)
|
|
2270
2313
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2271
|
-
check_type(argname="argument sli", value=sli, expected_type=type_hints["sli"])
|
|
2272
2314
|
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
2273
2315
|
check_type(argname="argument goal", value=goal, expected_type=type_hints["goal"])
|
|
2274
2316
|
check_type(argname="argument request_based_sli", value=request_based_sli, expected_type=type_hints["request_based_sli"])
|
|
2317
|
+
check_type(argname="argument sli", value=sli, expected_type=type_hints["sli"])
|
|
2275
2318
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
2276
2319
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2277
2320
|
"name": name,
|
|
2278
|
-
"sli": sli,
|
|
2279
2321
|
}
|
|
2280
2322
|
if description is not None:
|
|
2281
2323
|
self._values["description"] = description
|
|
@@ -2283,6 +2325,8 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2283
2325
|
self._values["goal"] = goal
|
|
2284
2326
|
if request_based_sli is not None:
|
|
2285
2327
|
self._values["request_based_sli"] = request_based_sli
|
|
2328
|
+
if sli is not None:
|
|
2329
|
+
self._values["sli"] = sli
|
|
2286
2330
|
if tags is not None:
|
|
2287
2331
|
self._values["tags"] = tags
|
|
2288
2332
|
|
|
@@ -2296,18 +2340,6 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2296
2340
|
assert result is not None, "Required property 'name' is missing"
|
|
2297
2341
|
return typing.cast(builtins.str, result)
|
|
2298
2342
|
|
|
2299
|
-
@builtins.property
|
|
2300
|
-
def sli(
|
|
2301
|
-
self,
|
|
2302
|
-
) -> typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.SliProperty]:
|
|
2303
|
-
'''A structure containing information about the performance metric that this SLO monitors.
|
|
2304
|
-
|
|
2305
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-sli
|
|
2306
|
-
'''
|
|
2307
|
-
result = self._values.get("sli")
|
|
2308
|
-
assert result is not None, "Required property 'sli' is missing"
|
|
2309
|
-
return typing.cast(typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.SliProperty], result)
|
|
2310
|
-
|
|
2311
2343
|
@builtins.property
|
|
2312
2344
|
def description(self) -> typing.Optional[builtins.str]:
|
|
2313
2345
|
'''An optional description for this SLO.
|
|
@@ -2336,13 +2368,24 @@ class CfnServiceLevelObjectiveProps:
|
|
|
2336
2368
|
def request_based_sli(
|
|
2337
2369
|
self,
|
|
2338
2370
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.RequestBasedSliProperty]]:
|
|
2339
|
-
'''
|
|
2371
|
+
'''A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
|
|
2340
2372
|
|
|
2341
2373
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli
|
|
2342
2374
|
'''
|
|
2343
2375
|
result = self._values.get("request_based_sli")
|
|
2344
2376
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.RequestBasedSliProperty]], result)
|
|
2345
2377
|
|
|
2378
|
+
@builtins.property
|
|
2379
|
+
def sli(
|
|
2380
|
+
self,
|
|
2381
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.SliProperty]]:
|
|
2382
|
+
'''A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
|
|
2383
|
+
|
|
2384
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-sli
|
|
2385
|
+
'''
|
|
2386
|
+
result = self._values.get("sli")
|
|
2387
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.SliProperty]], result)
|
|
2388
|
+
|
|
2346
2389
|
@builtins.property
|
|
2347
2390
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
2348
2391
|
'''A list of key-value pairs to associate with the SLO.
|
|
@@ -2380,10 +2423,10 @@ def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365d
|
|
|
2380
2423
|
id: builtins.str,
|
|
2381
2424
|
*,
|
|
2382
2425
|
name: builtins.str,
|
|
2383
|
-
sli: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
2384
2426
|
description: typing.Optional[builtins.str] = None,
|
|
2385
2427
|
goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2386
2428
|
request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2429
|
+
sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2387
2430
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2388
2431
|
) -> None:
|
|
2389
2432
|
"""Type checking stubs"""
|
|
@@ -2407,12 +2450,6 @@ def _typecheckingstub__e7d1b42972f3b8a4430dca27e7ecab3fce56490ad1edcfabdc346becf
|
|
|
2407
2450
|
"""Type checking stubs"""
|
|
2408
2451
|
pass
|
|
2409
2452
|
|
|
2410
|
-
def _typecheckingstub__938ccf6991aba4b5875a4ca09dfcdb00a5c7e9a92bba0e785ddfbebb228037c3(
|
|
2411
|
-
value: typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.SliProperty],
|
|
2412
|
-
) -> None:
|
|
2413
|
-
"""Type checking stubs"""
|
|
2414
|
-
pass
|
|
2415
|
-
|
|
2416
2453
|
def _typecheckingstub__c6761a51565a6d9d6b93723803df5fa7735ec11aa5f14c9cc222e4e60eb54506(
|
|
2417
2454
|
value: typing.Optional[builtins.str],
|
|
2418
2455
|
) -> None:
|
|
@@ -2431,6 +2468,12 @@ def _typecheckingstub__85c3a53f1420ec52267d0c5ef83b407de2a88d1eff567b79facf44748
|
|
|
2431
2468
|
"""Type checking stubs"""
|
|
2432
2469
|
pass
|
|
2433
2470
|
|
|
2471
|
+
def _typecheckingstub__938ccf6991aba4b5875a4ca09dfcdb00a5c7e9a92bba0e785ddfbebb228037c3(
|
|
2472
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.SliProperty]],
|
|
2473
|
+
) -> None:
|
|
2474
|
+
"""Type checking stubs"""
|
|
2475
|
+
pass
|
|
2476
|
+
|
|
2434
2477
|
def _typecheckingstub__45578973503123093d3b0c8f845e2df0c9ad023b7df510f3a7b7ee7abcccd506(
|
|
2435
2478
|
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
2436
2479
|
) -> None:
|
|
@@ -2561,10 +2604,10 @@ def _typecheckingstub__fcb2d383c03844ff1706f4720c7bf04c5a00252d1e49f3ecb2c00c22b
|
|
|
2561
2604
|
def _typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee(
|
|
2562
2605
|
*,
|
|
2563
2606
|
name: builtins.str,
|
|
2564
|
-
sli: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
2565
2607
|
description: typing.Optional[builtins.str] = None,
|
|
2566
2608
|
goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2567
2609
|
request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2610
|
+
sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2568
2611
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2569
2612
|
) -> None:
|
|
2570
2613
|
"""Type checking stubs"""
|