aws-cdk-lib 2.195.0__py3-none-any.whl → 2.224.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 +1806 -417
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +12 -2
- aws_cdk/aws_accessanalyzer/__init__.py +323 -6
- aws_cdk/aws_acmpca/__init__.py +53 -10
- aws_cdk/aws_aiops/__init__.py +1019 -0
- aws_cdk/aws_amazonmq/__init__.py +357 -313
- aws_cdk/aws_amplify/__init__.py +173 -17
- aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
- aws_cdk/aws_apigateway/__init__.py +1245 -215
- aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
- aws_cdk/aws_appconfig/__init__.py +618 -91
- aws_cdk/aws_appflow/__init__.py +151 -6
- aws_cdk/aws_appintegrations/__init__.py +546 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
- aws_cdk/aws_applicationinsights/__init__.py +13 -2
- aws_cdk/aws_applicationsignals/__init__.py +374 -6
- aws_cdk/aws_appmesh/__init__.py +136 -26
- aws_cdk/aws_apprunner/__init__.py +66 -18
- aws_cdk/aws_appstream/__init__.py +309 -55
- aws_cdk/aws_appsync/__init__.py +350 -94
- aws_cdk/aws_apptest/__init__.py +71 -2
- aws_cdk/aws_aps/__init__.py +2188 -94
- aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
- aws_cdk/aws_arczonalshift/__init__.py +39 -12
- aws_cdk/aws_athena/__init__.py +365 -29
- aws_cdk/aws_auditmanager/__init__.py +71 -2
- aws_cdk/aws_autoscaling/__init__.py +165 -60
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +13 -2
- aws_cdk/aws_b2bi/__init__.py +1819 -99
- aws_cdk/aws_backup/__init__.py +370 -42
- aws_cdk/aws_backupgateway/__init__.py +13 -2
- aws_cdk/aws_batch/__init__.py +1462 -163
- aws_cdk/aws_bcmdataexports/__init__.py +21 -2
- aws_cdk/aws_bedrock/__init__.py +7867 -727
- aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
- aws_cdk/aws_billingconductor/__init__.py +197 -11
- aws_cdk/aws_budgets/__init__.py +611 -4
- aws_cdk/aws_cassandra/__init__.py +247 -6
- aws_cdk/aws_ce/__init__.py +35 -6
- aws_cdk/aws_certificatemanager/__init__.py +258 -32
- aws_cdk/aws_chatbot/__init__.py +76 -6
- aws_cdk/aws_cleanrooms/__init__.py +709 -206
- aws_cdk/aws_cleanroomsml/__init__.py +13 -2
- aws_cdk/aws_cloud9/__init__.py +13 -2
- aws_cdk/aws_cloudformation/__init__.py +362 -189
- aws_cdk/aws_cloudfront/__init__.py +2188 -674
- aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
- aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
- aws_cdk/aws_cloudtrail/__init__.py +311 -21
- aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
- aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
- aws_cdk/aws_codeartifact/__init__.py +35 -6
- aws_cdk/aws_codebuild/__init__.py +1303 -135
- aws_cdk/aws_codecommit/__init__.py +29 -9
- aws_cdk/aws_codeconnections/__init__.py +13 -2
- aws_cdk/aws_codedeploy/__init__.py +130 -6
- aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
- aws_cdk/aws_codegurureviewer/__init__.py +13 -2
- aws_cdk/aws_codepipeline/__init__.py +177 -71
- aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
- aws_cdk/aws_codestar/__init__.py +13 -2
- aws_cdk/aws_codestarconnections/__init__.py +35 -6
- aws_cdk/aws_codestarnotifications/__init__.py +22 -2
- aws_cdk/aws_cognito/__init__.py +905 -92
- aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
- aws_cdk/aws_comprehend/__init__.py +24 -4
- aws_cdk/aws_config/__init__.py +227 -30
- aws_cdk/aws_connect/__init__.py +2736 -191
- aws_cdk/aws_connectcampaigns/__init__.py +13 -2
- aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
- aws_cdk/aws_controltower/__init__.py +35 -6
- aws_cdk/aws_cur/__init__.py +100 -4
- aws_cdk/aws_customerprofiles/__init__.py +617 -27
- aws_cdk/aws_databrew/__init__.py +68 -12
- aws_cdk/aws_datapipeline/__init__.py +42 -2
- aws_cdk/aws_datasync/__init__.py +1514 -977
- aws_cdk/aws_datazone/__init__.py +7426 -1763
- aws_cdk/aws_dax/__init__.py +83 -6
- aws_cdk/aws_deadline/__init__.py +511 -36
- aws_cdk/aws_detective/__init__.py +35 -6
- aws_cdk/aws_devicefarm/__init__.py +68 -12
- aws_cdk/aws_devopsguru/__init__.py +37 -6
- aws_cdk/aws_directoryservice/__init__.py +53 -4
- aws_cdk/aws_dlm/__init__.py +13 -2
- aws_cdk/aws_dms/__init__.py +184 -27
- aws_cdk/aws_docdb/__init__.py +350 -49
- aws_cdk/aws_docdbelastic/__init__.py +13 -2
- aws_cdk/aws_dsql/__init__.py +386 -16
- aws_cdk/aws_dynamodb/__init__.py +1479 -170
- aws_cdk/aws_ec2/__init__.py +10465 -1335
- aws_cdk/aws_ecr/__init__.py +637 -43
- aws_cdk/aws_ecr_assets/__init__.py +10 -0
- aws_cdk/aws_ecs/__init__.py +6629 -490
- aws_cdk/aws_ecs_patterns/__init__.py +124 -12
- aws_cdk/aws_efs/__init__.py +276 -24
- aws_cdk/aws_eks/__init__.py +1132 -227
- aws_cdk/aws_elasticache/__init__.py +378 -25
- aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
- aws_cdk/aws_elasticsearch/__init__.py +291 -9
- aws_cdk/aws_emr/__init__.py +219 -18
- aws_cdk/aws_emrcontainers/__init__.py +71 -2
- aws_cdk/aws_emrserverless/__init__.py +188 -3
- aws_cdk/aws_entityresolution/__init__.py +585 -58
- aws_cdk/aws_events/__init__.py +1007 -126
- aws_cdk/aws_events_targets/__init__.py +398 -65
- aws_cdk/aws_eventschemas/__init__.py +46 -8
- aws_cdk/aws_evidently/__init__.py +57 -10
- aws_cdk/aws_evs/__init__.py +2244 -0
- aws_cdk/aws_finspace/__init__.py +71 -2
- aws_cdk/aws_fis/__init__.py +26 -4
- aws_cdk/aws_fms/__init__.py +35 -6
- aws_cdk/aws_forecast/__init__.py +24 -4
- aws_cdk/aws_frauddetector/__init__.py +79 -14
- aws_cdk/aws_fsx/__init__.py +1349 -127
- aws_cdk/aws_gamelift/__init__.py +755 -94
- aws_cdk/aws_gameliftstreams/__init__.py +44 -22
- aws_cdk/aws_globalaccelerator/__init__.py +73 -14
- aws_cdk/aws_glue/__init__.py +1455 -378
- aws_cdk/aws_grafana/__init__.py +13 -2
- aws_cdk/aws_greengrass/__init__.py +654 -32
- aws_cdk/aws_greengrassv2/__init__.py +53 -4
- aws_cdk/aws_groundstation/__init__.py +122 -6
- aws_cdk/aws_guardduty/__init__.py +1613 -123
- aws_cdk/aws_healthimaging/__init__.py +71 -2
- aws_cdk/aws_healthlake/__init__.py +42 -2
- aws_cdk/aws_iam/__init__.py +921 -141
- aws_cdk/aws_identitystore/__init__.py +24 -4
- aws_cdk/aws_imagebuilder/__init__.py +1454 -199
- aws_cdk/aws_inspector/__init__.py +44 -6
- aws_cdk/aws_inspectorv2/__init__.py +2285 -243
- aws_cdk/aws_internetmonitor/__init__.py +71 -2
- aws_cdk/aws_invoicing/__init__.py +13 -2
- aws_cdk/aws_iot/__init__.py +1760 -64
- aws_cdk/aws_iotanalytics/__init__.py +162 -8
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
- aws_cdk/aws_iotevents/__init__.py +122 -6
- aws_cdk/aws_iotfleethub/__init__.py +71 -2
- aws_cdk/aws_iotfleetwise/__init__.py +195 -14
- aws_cdk/aws_iotsitewise/__init__.py +1837 -89
- aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
- aws_cdk/aws_iottwinmaker/__init__.py +115 -10
- aws_cdk/aws_iotwireless/__init__.py +649 -22
- aws_cdk/aws_ivs/__init__.py +561 -57
- aws_cdk/aws_ivschat/__init__.py +24 -4
- aws_cdk/aws_kafkaconnect/__init__.py +35 -6
- aws_cdk/aws_kendra/__init__.py +120 -28
- aws_cdk/aws_kendraranking/__init__.py +13 -2
- aws_cdk/aws_kinesis/__init__.py +641 -23
- aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
- aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
- aws_cdk/aws_kinesisvideo/__init__.py +24 -4
- aws_cdk/aws_kms/__init__.py +204 -45
- aws_cdk/aws_lakeformation/__init__.py +80 -15
- aws_cdk/aws_lambda/__init__.py +2236 -297
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
- aws_cdk/aws_launchwizard/__init__.py +13 -2
- aws_cdk/aws_lex/__init__.py +2162 -212
- aws_cdk/aws_licensemanager/__init__.py +24 -4
- aws_cdk/aws_lightsail/__init__.py +2958 -1322
- aws_cdk/aws_location/__init__.py +618 -14
- aws_cdk/aws_logs/__init__.py +6014 -923
- aws_cdk/aws_lookoutequipment/__init__.py +13 -2
- aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
- aws_cdk/aws_lookoutvision/__init__.py +71 -2
- aws_cdk/aws_m2/__init__.py +94 -19
- aws_cdk/aws_macie/__init__.py +49 -11
- aws_cdk/aws_managedblockchain/__init__.py +180 -6
- aws_cdk/aws_mediaconnect/__init__.py +101 -18
- aws_cdk/aws_mediaconvert/__init__.py +35 -6
- aws_cdk/aws_medialive/__init__.py +1938 -532
- aws_cdk/aws_mediapackage/__init__.py +59 -12
- aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
- aws_cdk/aws_mediastore/__init__.py +13 -2
- aws_cdk/aws_mediatailor/__init__.py +583 -12
- aws_cdk/aws_memorydb/__init__.py +271 -12
- aws_cdk/aws_mpa/__init__.py +1495 -0
- aws_cdk/aws_msk/__init__.py +108 -22
- aws_cdk/aws_mwaa/__init__.py +121 -9
- aws_cdk/aws_neptune/__init__.py +290 -78
- aws_cdk/aws_neptunegraph/__init__.py +24 -4
- aws_cdk/aws_networkfirewall/__init__.py +1184 -164
- aws_cdk/aws_networkmanager/__init__.py +349 -33
- aws_cdk/aws_nimblestudio/__init__.py +283 -408
- aws_cdk/aws_notifications/__init__.py +317 -12
- aws_cdk/aws_notificationscontacts/__init__.py +13 -2
- aws_cdk/aws_oam/__init__.py +24 -4
- aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
- aws_cdk/aws_odb/__init__.py +5872 -0
- aws_cdk/aws_omics/__init__.py +2967 -162
- aws_cdk/aws_opensearchserverless/__init__.py +312 -37
- aws_cdk/aws_opensearchservice/__init__.py +501 -19
- aws_cdk/aws_opsworks/__init__.py +235 -139
- aws_cdk/aws_opsworkscm/__init__.py +16 -52
- aws_cdk/aws_organizations/__init__.py +70 -10
- aws_cdk/aws_osis/__init__.py +167 -2
- aws_cdk/aws_panorama/__init__.py +181 -9
- aws_cdk/aws_paymentcryptography/__init__.py +24 -4
- aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
- aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
- aws_cdk/aws_pcs/__init__.py +516 -64
- aws_cdk/aws_personalize/__init__.py +46 -8
- aws_cdk/aws_pinpoint/__init__.py +329 -38
- aws_cdk/aws_pinpointemail/__init__.py +48 -8
- aws_cdk/aws_pipes/__init__.py +12 -2
- aws_cdk/aws_proton/__init__.py +37 -6
- aws_cdk/aws_qbusiness/__init__.py +635 -34
- aws_cdk/aws_qldb/__init__.py +24 -4
- aws_cdk/aws_quicksight/__init__.py +7900 -1160
- aws_cdk/aws_ram/__init__.py +24 -4
- aws_cdk/aws_rbin/__init__.py +12 -2
- aws_cdk/aws_rds/__init__.py +3721 -573
- aws_cdk/aws_redshift/__init__.py +143 -20
- aws_cdk/aws_redshiftserverless/__init__.py +699 -11
- aws_cdk/aws_refactorspaces/__init__.py +64 -14
- aws_cdk/aws_rekognition/__init__.py +93 -6
- aws_cdk/aws_resiliencehub/__init__.py +24 -4
- aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
- aws_cdk/aws_resourcegroups/__init__.py +82 -4
- aws_cdk/aws_robomaker/__init__.py +72 -12
- aws_cdk/aws_rolesanywhere/__init__.py +194 -19
- aws_cdk/aws_route53/__init__.py +3965 -1436
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53profiles/__init__.py +37 -6
- aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
- aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
- aws_cdk/aws_route53resolver/__init__.py +189 -40
- aws_cdk/aws_rtbfabric/__init__.py +3498 -0
- aws_cdk/aws_rum/__init__.py +13 -2
- aws_cdk/aws_s3/__init__.py +1742 -221
- aws_cdk/aws_s3_assets/__init__.py +11 -11
- aws_cdk/aws_s3_deployment/__init__.py +153 -11
- aws_cdk/aws_s3_notifications/__init__.py +7 -7
- aws_cdk/aws_s3express/__init__.py +1053 -6
- aws_cdk/aws_s3objectlambda/__init__.py +68 -16
- aws_cdk/aws_s3outposts/__init__.py +46 -8
- aws_cdk/aws_s3tables/__init__.py +2000 -323
- aws_cdk/aws_s3vectors/__init__.py +1378 -0
- aws_cdk/aws_sagemaker/__init__.py +6848 -373
- aws_cdk/aws_sam/__init__.py +79 -14
- aws_cdk/aws_scheduler/__init__.py +249 -4
- aws_cdk/aws_sdb/__init__.py +12 -2
- aws_cdk/aws_secretsmanager/__init__.py +194 -14
- aws_cdk/aws_securityhub/__init__.py +3121 -176
- aws_cdk/aws_securitylake/__init__.py +46 -8
- aws_cdk/aws_servicecatalog/__init__.py +429 -246
- aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
- aws_cdk/aws_servicediscovery/__init__.py +188 -47
- aws_cdk/aws_ses/__init__.py +2265 -369
- aws_cdk/aws_shield/__init__.py +46 -8
- aws_cdk/aws_signer/__init__.py +33 -4
- aws_cdk/aws_simspaceweaver/__init__.py +42 -2
- aws_cdk/aws_smsvoice/__init__.py +4716 -0
- aws_cdk/aws_sns/__init__.py +263 -29
- aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
- aws_cdk/aws_sqs/__init__.py +223 -14
- aws_cdk/aws_ssm/__init__.py +413 -58
- aws_cdk/aws_ssmcontacts/__init__.py +98 -9
- aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
- aws_cdk/aws_ssmincidents/__init__.py +24 -4
- aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
- aws_cdk/aws_sso/__init__.py +70 -12
- aws_cdk/aws_stepfunctions/__init__.py +823 -94
- aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
- aws_cdk/aws_supportapp/__init__.py +39 -6
- aws_cdk/aws_synthetics/__init__.py +1088 -126
- aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
- aws_cdk/aws_timestream/__init__.py +104 -8
- aws_cdk/aws_transfer/__init__.py +784 -87
- aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
- aws_cdk/aws_voiceid/__init__.py +54 -5
- aws_cdk/aws_vpclattice/__init__.py +589 -231
- aws_cdk/aws_waf/__init__.py +79 -14
- aws_cdk/aws_wafregional/__init__.py +123 -22
- aws_cdk/aws_wafv2/__init__.py +1183 -64
- aws_cdk/aws_wisdom/__init__.py +1403 -90
- aws_cdk/aws_workspaces/__init__.py +134 -6
- aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
- aws_cdk/aws_workspacesweb/__init__.py +1057 -141
- aws_cdk/aws_xray/__init__.py +48 -8
- aws_cdk/cloud_assembly_schema/__init__.py +368 -48
- aws_cdk/custom_resources/__init__.py +58 -12
- aws_cdk/cx_api/__init__.py +125 -21
- aws_cdk/interfaces/__init__.py +739 -0
- aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
- aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
- aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
- aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
- aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
- aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
- aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
- aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
- aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
- aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
- aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
- aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
- aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
- aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
- aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
- aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
- aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
- aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
- aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
- aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
- aws_cdk/interfaces/aws_aps/__init__.py +558 -0
- aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
- aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
- aws_cdk/interfaces/aws_athena/__init__.py +575 -0
- aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
- aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
- aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
- aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
- aws_cdk/interfaces/aws_backup/__init__.py +955 -0
- aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
- aws_cdk/interfaces/aws_batch/__init__.py +681 -0
- aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
- aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
- aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
- aws_cdk/interfaces/aws_billing/__init__.py +146 -0
- aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
- aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
- aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
- aws_cdk/interfaces/aws_ce/__init__.py +352 -0
- aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
- aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
- aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
- aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
- aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
- aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
- aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
- aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
- aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
- aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
- aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
- aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
- aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
- aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
- aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
- aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
- aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
- aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
- aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
- aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
- aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
- aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
- aws_cdk/interfaces/aws_config/__init__.py +1165 -0
- aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
- aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
- aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
- aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
- aws_cdk/interfaces/aws_cur/__init__.py +146 -0
- aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
- aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
- aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
- aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
- aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
- aws_cdk/interfaces/aws_dax/__init__.py +364 -0
- aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
- aws_cdk/interfaces/aws_detective/__init__.py +364 -0
- aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
- aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
- aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
- aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
- aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
- aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
- aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
- aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
- aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
- aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
- aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
- aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
- aws_cdk/interfaces/aws_efs/__init__.py +392 -0
- aws_cdk/interfaces/aws_eks/__init__.py +948 -0
- aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
- aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
- aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
- aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
- aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
- aws_cdk/interfaces/aws_emr/__init__.py +913 -0
- aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
- aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
- aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
- aws_cdk/interfaces/aws_events/__init__.py +872 -0
- aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
- aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
- aws_cdk/interfaces/aws_evs/__init__.py +166 -0
- aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
- aws_cdk/interfaces/aws_fis/__init__.py +271 -0
- aws_cdk/interfaces/aws_fms/__init__.py +364 -0
- aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
- aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
- aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
- aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
- aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
- aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
- aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
- aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
- aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
- aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
- aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
- aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
- aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
- aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
- aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
- aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
- aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
- aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
- aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
- aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
- aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
- aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
- aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
- aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
- aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
- aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
- aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
- aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
- aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
- aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
- aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
- aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
- aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
- aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
- aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
- aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
- aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
- aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
- aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
- aws_cdk/interfaces/aws_kms/__init__.py +376 -0
- aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
- aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
- aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
- aws_cdk/interfaces/aws_lex/__init__.py +513 -0
- aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
- aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
- aws_cdk/interfaces/aws_location/__init__.py +879 -0
- aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
- aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
- aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
- aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
- aws_cdk/interfaces/aws_m2/__init__.py +352 -0
- aws_cdk/interfaces/aws_macie/__init__.py +512 -0
- aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
- aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
- aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
- aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
- aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
- aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
- aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
- aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
- aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
- aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
- aws_cdk/interfaces/aws_msk/__init__.py +764 -0
- aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
- aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
- aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
- aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
- aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
- aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
- aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
- aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
- aws_cdk/interfaces/aws_oam/__init__.py +249 -0
- aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
- aws_cdk/interfaces/aws_odb/__init__.py +562 -0
- aws_cdk/interfaces/aws_omics/__init__.py +838 -0
- aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
- aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
- aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
- aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
- aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
- aws_cdk/interfaces/aws_osis/__init__.py +146 -0
- aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
- aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
- aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
- aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
- aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
- aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
- aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
- aws_cdk/interfaces/aws_proton/__init__.py +360 -0
- aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
- aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
- aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
- aws_cdk/interfaces/aws_ram/__init__.py +249 -0
- aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
- aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
- aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
- aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
- aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
- aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
- aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
- aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
- aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
- aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
- aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
- aws_cdk/interfaces/aws_route53/__init__.py +804 -0
- aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
- aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
- aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
- aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
- aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
- aws_cdk/interfaces/aws_rum/__init__.py +146 -0
- aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
- aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
- aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
- aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
- aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
- aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
- aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
- aws_cdk/interfaces/aws_sam/__init__.py +603 -0
- aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
- aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
- aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
- aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
- aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
- aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
- aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
- aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
- aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
- aws_cdk/interfaces/aws_shield/__init__.py +455 -0
- aws_cdk/interfaces/aws_signer/__init__.py +266 -0
- aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
- aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
- aws_cdk/interfaces/aws_sns/__init__.py +455 -0
- aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
- aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
- aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
- aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
- aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
- aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
- aws_cdk/interfaces/aws_sso/__init__.py +797 -0
- aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
- aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
- aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
- aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
- aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
- aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
- aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
- aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
- aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
- aws_cdk/interfaces/aws_waf/__init__.py +764 -0
- aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
- aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
- aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
- aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
- aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
- aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
- aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
- aws_cdk/interfaces/aws_xray/__init__.py +457 -0
- aws_cdk/lambda_layer_awscli/__init__.py +6 -0
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
- aws_cdk/pipelines/__init__.py +202 -52
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +66 -18
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
- aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
- aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
|
@@ -88,6 +88,28 @@ schedule = synthetics.Schedule.cron(
|
|
|
88
88
|
|
|
89
89
|
If you want the canary to run just once upon deployment, you can use `Schedule.once()`.
|
|
90
90
|
|
|
91
|
+
### Automatic Retries
|
|
92
|
+
|
|
93
|
+
You can configure the canary to automatically retry failed runs by using the `maxRetries` property.
|
|
94
|
+
|
|
95
|
+
This is only supported on the following runtimes or newer: `Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0`, `Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0`, `Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1`.
|
|
96
|
+
|
|
97
|
+
Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry.
|
|
98
|
+
|
|
99
|
+
For more information, see [Configuring your canary to retry automatically](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_autoretry.html).
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
canary = synthetics.Canary(self, "MyCanary",
|
|
103
|
+
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
104
|
+
test=synthetics.Test.custom(
|
|
105
|
+
handler="canary.handler",
|
|
106
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canaries"))
|
|
107
|
+
),
|
|
108
|
+
runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
|
|
109
|
+
max_retries=2
|
|
110
|
+
)
|
|
111
|
+
```
|
|
112
|
+
|
|
91
113
|
### Active Tracing
|
|
92
114
|
|
|
93
115
|
You can choose to enable active AWS X-Ray tracing on canaries that use the `syn-nodejs-2.0` or later runtime by setting `activeTracing` to `true`.
|
|
@@ -146,6 +168,32 @@ canary = synthetics.Canary(self, "MyCanary",
|
|
|
146
168
|
)
|
|
147
169
|
```
|
|
148
170
|
|
|
171
|
+
### Browser Type Configuration
|
|
172
|
+
|
|
173
|
+
You can configure which browsers your canary uses for testing by specifying the `browserConfigs` property. This allows you to test your application across different browsers to ensure compatibility.
|
|
174
|
+
|
|
175
|
+
Available browser types:
|
|
176
|
+
|
|
177
|
+
* `BrowserType.CHROME` - Google Chrome browser
|
|
178
|
+
* `BrowserType.FIREFOX` - Mozilla Firefox browser
|
|
179
|
+
|
|
180
|
+
You can specify up to 2 browser configurations. When multiple browsers are configured, the canary will run tests on each browser sequentially.
|
|
181
|
+
|
|
182
|
+
```python
|
|
183
|
+
canary = synthetics.Canary(self, "MyCanary",
|
|
184
|
+
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
185
|
+
test=synthetics.Test.custom(
|
|
186
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
187
|
+
handler="index.handler"
|
|
188
|
+
),
|
|
189
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_9_1,
|
|
190
|
+
browser_configs=[synthetics.BrowserType.CHROME, synthetics.BrowserType.FIREFOX
|
|
191
|
+
]
|
|
192
|
+
)
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
> **Note:** Firefox support is available for Node.js runtimes (Puppeteer and Playwright) but not for Python Selenium runtimes. When using Firefox, ensure your runtime version supports it.
|
|
196
|
+
|
|
149
197
|
### Deleting underlying resources on canary deletion
|
|
150
198
|
|
|
151
199
|
When you delete a lambda, the following underlying resources are isolated in your AWS account:
|
|
@@ -220,7 +268,18 @@ synthetics.Canary(self, "Bucket Canary",
|
|
|
220
268
|
```
|
|
221
269
|
|
|
222
270
|
> **Note:** Synthetics have a specified folder structure for canaries.
|
|
223
|
-
> For Node with puppeteer scripts supplied via `code.fromAsset()` or `code.fromBucket()`, the canary resource requires the following folder structure
|
|
271
|
+
> For Node with puppeteer scripts supplied via `code.fromAsset()` or `code.fromBucket()`, the canary resource requires the following folder structure for runtime versions older than `syn-nodejs-puppeteer-11.0`:
|
|
272
|
+
>
|
|
273
|
+
> ```plaintext
|
|
274
|
+
> canary/
|
|
275
|
+
> ├── nodejs/
|
|
276
|
+
> ├── node_modules/
|
|
277
|
+
> ├── <filename>.js
|
|
278
|
+
> ```
|
|
279
|
+
>
|
|
280
|
+
> For puppeteer based runtime versions newer than or equal to `syn-nodejs-puppeteer-11.0`, `nodjs/node_modules` is not necessary but supported.
|
|
281
|
+
>
|
|
282
|
+
> Both
|
|
224
283
|
>
|
|
225
284
|
> ```plaintext
|
|
226
285
|
> canary/
|
|
@@ -229,6 +288,15 @@ synthetics.Canary(self, "Bucket Canary",
|
|
|
229
288
|
> ├── <filename>.js
|
|
230
289
|
> ```
|
|
231
290
|
>
|
|
291
|
+
> And
|
|
292
|
+
>
|
|
293
|
+
> ```plaintext
|
|
294
|
+
> canary/
|
|
295
|
+
> ├── <filename>.js
|
|
296
|
+
> ```
|
|
297
|
+
>
|
|
298
|
+
> are supported.
|
|
299
|
+
>
|
|
232
300
|
> For Node with playwright scripts supplied via `code.fromAsset()` or `code.fromBucket()`, the canary resource requires the following folder structure:
|
|
233
301
|
>
|
|
234
302
|
> ```plaintext
|
|
@@ -302,6 +370,29 @@ cloudwatch.Alarm(self, "CanaryAlarm",
|
|
|
302
370
|
)
|
|
303
371
|
```
|
|
304
372
|
|
|
373
|
+
### Performing safe canary updates
|
|
374
|
+
|
|
375
|
+
You can configure a canary to first perform a dry run before applying any updates. The `dryRunAndUpdate` property can be used to safely update canaries by validating the changes before they're applied.
|
|
376
|
+
This feature is supported for canary runtime versions `syn-nodejs-puppeteer-10.0+`, `syn-nodejs-playwright-2.0+`, and `syn-python-selenium-5.1+`.
|
|
377
|
+
|
|
378
|
+
When `dryRunAndUpdate` is set to `true`, CDK will execute a dry run to validate the changes before applying them to the canary.
|
|
379
|
+
If the dry run succeeds, the canary will be updated with the changes.
|
|
380
|
+
If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason.
|
|
381
|
+
|
|
382
|
+
```python
|
|
383
|
+
canary = synthetics.Canary(self, "MyCanary",
|
|
384
|
+
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
385
|
+
test=synthetics.Test.custom(
|
|
386
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
387
|
+
handler="index.handler"
|
|
388
|
+
),
|
|
389
|
+
runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
|
|
390
|
+
dry_run_and_update=True
|
|
391
|
+
)
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
For more information, see [Performing safe canary updates](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html).
|
|
395
|
+
|
|
305
396
|
### Artifacts
|
|
306
397
|
|
|
307
398
|
You can pass an S3 bucket to store artifacts from canary runs. If you do not,
|
|
@@ -349,6 +440,24 @@ canary = synthetics.Canary(self, "MyCanary",
|
|
|
349
440
|
artifact_s3_kms_key=key
|
|
350
441
|
)
|
|
351
442
|
```
|
|
443
|
+
|
|
444
|
+
### Tag replication
|
|
445
|
+
|
|
446
|
+
You can configure a canary to replicate its tags to the underlying Lambda function. This is useful when you want the same tags that are applied to the canary to also be applied to the Lambda function that the canary uses.
|
|
447
|
+
|
|
448
|
+
```python
|
|
449
|
+
canary = synthetics.Canary(self, "MyCanary",
|
|
450
|
+
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
451
|
+
test=synthetics.Test.custom(
|
|
452
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
453
|
+
handler="index.handler"
|
|
454
|
+
),
|
|
455
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
456
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
457
|
+
)
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
When you specify `ResourceToReplicateTags.LAMBDA_FUNCTION` in the `resourcesToReplicateTags` property, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function.
|
|
352
461
|
'''
|
|
353
462
|
from pkgutil import extend_path
|
|
354
463
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -419,6 +528,14 @@ from ..aws_s3 import (
|
|
|
419
528
|
Location as _Location_0948fa7f,
|
|
420
529
|
)
|
|
421
530
|
from ..aws_s3_assets import AssetOptions as _AssetOptions_2aa69621
|
|
531
|
+
from ..interfaces.aws_kms import IKeyRef as _IKeyRef_d4fc6ef3
|
|
532
|
+
from ..interfaces.aws_s3 import IBucketRef as _IBucketRef_3debe44e
|
|
533
|
+
from ..interfaces.aws_synthetics import (
|
|
534
|
+
CanaryReference as _CanaryReference_fbbe85ce,
|
|
535
|
+
GroupReference as _GroupReference_37835a7e,
|
|
536
|
+
ICanaryRef as _ICanaryRef_cf407e49,
|
|
537
|
+
IGroupRef as _IGroupRef_4fc55162,
|
|
538
|
+
)
|
|
422
539
|
|
|
423
540
|
|
|
424
541
|
@jsii.data_type(
|
|
@@ -533,6 +650,32 @@ class ArtifactsEncryptionMode(enum.Enum):
|
|
|
533
650
|
'''Server-side encryption (SSE) with an AWS KMS customer managed key.'''
|
|
534
651
|
|
|
535
652
|
|
|
653
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_synthetics.BrowserType")
|
|
654
|
+
class BrowserType(enum.Enum):
|
|
655
|
+
'''Browser types supported by CloudWatch Synthetics Canary.
|
|
656
|
+
|
|
657
|
+
:exampleMetadata: infused
|
|
658
|
+
|
|
659
|
+
Example::
|
|
660
|
+
|
|
661
|
+
canary = synthetics.Canary(self, "MyCanary",
|
|
662
|
+
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
663
|
+
test=synthetics.Test.custom(
|
|
664
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
665
|
+
handler="index.handler"
|
|
666
|
+
),
|
|
667
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_9_1,
|
|
668
|
+
browser_configs=[synthetics.BrowserType.CHROME, synthetics.BrowserType.FIREFOX
|
|
669
|
+
]
|
|
670
|
+
)
|
|
671
|
+
'''
|
|
672
|
+
|
|
673
|
+
CHROME = "CHROME"
|
|
674
|
+
'''Google Chrome browser.'''
|
|
675
|
+
FIREFOX = "FIREFOX"
|
|
676
|
+
'''Mozilla Firefox browser.'''
|
|
677
|
+
|
|
678
|
+
|
|
536
679
|
@jsii.implements(_IConnectable_10015a05)
|
|
537
680
|
class Canary(
|
|
538
681
|
_Resource_45bc6135,
|
|
@@ -545,17 +688,14 @@ class Canary(
|
|
|
545
688
|
|
|
546
689
|
Example::
|
|
547
690
|
|
|
548
|
-
import aws_cdk as cdk
|
|
549
|
-
|
|
550
|
-
|
|
551
691
|
canary = synthetics.Canary(self, "MyCanary",
|
|
552
692
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
553
693
|
test=synthetics.Test.custom(
|
|
554
694
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
555
695
|
handler="index.handler"
|
|
556
696
|
),
|
|
557
|
-
runtime=synthetics.Runtime.
|
|
558
|
-
|
|
697
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
698
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
559
699
|
)
|
|
560
700
|
'''
|
|
561
701
|
|
|
@@ -571,12 +711,16 @@ class Canary(
|
|
|
571
711
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
572
712
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
573
713
|
artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
714
|
+
browser_configs: typing.Optional[typing.Sequence[BrowserType]] = None,
|
|
574
715
|
canary_name: typing.Optional[builtins.str] = None,
|
|
575
716
|
cleanup: typing.Optional["Cleanup"] = None,
|
|
717
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
576
718
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
577
719
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
720
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
578
721
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
579
722
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
723
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence["ResourceToReplicateTags"]] = None,
|
|
580
724
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
581
725
|
schedule: typing.Optional["Schedule"] = None,
|
|
582
726
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -597,12 +741,16 @@ class Canary(
|
|
|
597
741
|
:param artifact_s3_kms_key: The KMS key used to encrypt canary artifacts. Default: - no kms key if ``artifactS3EncryptionMode`` is set to ``S3_MANAGED``. A key will be created if one is not provided and ``artifactS3EncryptionMode`` is set to ``KMS``.
|
|
598
742
|
:param artifacts_bucket_lifecycle_rules: Lifecycle rules for the generated canary artifact bucket. Has no effect if a bucket is passed to ``artifactsBucketLocation``. If you pass a bucket to ``artifactsBucketLocation``, you can add lifecycle rules to the bucket itself. Default: - no rules applied to the generated bucket.
|
|
599
743
|
:param artifacts_bucket_location: The s3 location that stores the data of the canary runs. Default: - A new s3 bucket will be created without a prefix.
|
|
744
|
+
:param browser_configs: Browser configurations for the canary. Specifies which browser(s) to use for running the canary tests. You can specify up to 2 browser configurations. Firefox is supported with Node.js Puppeteer and Playwright runtimes, but not with Python Selenium runtimes. Default: undefined - AWS CloudWatch default is using only Chrome browser
|
|
600
745
|
:param canary_name: The name of the canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account. Do not include secrets or proprietary information in your canary name. The canary name makes up part of the canary ARN, which is included in outbound calls over the internet. Default: - A unique name will be generated from the construct ID
|
|
601
746
|
:param cleanup: (deprecated) Specify the underlying resources to be cleaned up when the canary is deleted. Using ``Cleanup.LAMBDA`` will create a Custom Resource to achieve this. Default: Cleanup.NOTHING
|
|
747
|
+
:param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to true, CDK will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason. If set to false or omitted, the canary will be updated directly without first performing a dry run. Default: undefined - AWS CloudWatch default is false
|
|
602
748
|
:param environment_variables: Key-value pairs that the Synthetics caches and makes available for your canary scripts. Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Canary script source code. Default: - No environment variables.
|
|
603
749
|
:param failure_retention_period: How many days should failed runs be retained. Default: Duration.days(31)
|
|
750
|
+
:param max_retries: The amount of times the canary will automatically retry a failed run. This is only supported on the following runtimes or newer: ``Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0``, ``Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0``, ``Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1``. Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry. Default: 0
|
|
604
751
|
:param memory: The maximum amount of memory that the canary can use while running. This value must be a multiple of 64 Mib. The range is 960 MiB to 3008 MiB. Default: Size.mebibytes(1024)
|
|
605
752
|
:param provisioned_resource_cleanup: Whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. Default: undefined - the default behavior is to not delete the Lambda functions and layers
|
|
753
|
+
:param resources_to_replicate_tags: Specifies which resources should have their tags replicated to this canary. To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ResourceToReplicateTags.LAMBDA_FUNCTION. If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function. Default: - No resources will have their tags replicated to this canary
|
|
606
754
|
:param role: Canary execution role. This is the role that will be assumed by the canary upon execution. It controls the permissions that the canary will have. The role must be assumable by the AWS Lambda service principal. If not supplied, a role will be created with all the required permissions. If you provide a Role, you must add the required permissions. Default: - A unique role will be generated for this canary. You can add permissions to roles by calling 'addToRolePolicy'.
|
|
607
755
|
:param schedule: Specify the schedule for how often the canary runs. For example, if you set ``schedule`` to ``rate(10 minutes)``, then the canary will run every 10 minutes. You can set the schedule with ``Schedule.rate(Duration)`` (recommended) or you can specify an expression using ``Schedule.expression()``. Default: 'rate(5 minutes)'
|
|
608
756
|
:param security_groups: The list of security groups to associate with the canary's network interfaces. You must provide ``vpc`` when using this prop. Default: - If the canary is placed within a VPC and a security group is not specified a dedicated security group will be created for this canary.
|
|
@@ -625,12 +773,16 @@ class Canary(
|
|
|
625
773
|
artifact_s3_kms_key=artifact_s3_kms_key,
|
|
626
774
|
artifacts_bucket_lifecycle_rules=artifacts_bucket_lifecycle_rules,
|
|
627
775
|
artifacts_bucket_location=artifacts_bucket_location,
|
|
776
|
+
browser_configs=browser_configs,
|
|
628
777
|
canary_name=canary_name,
|
|
629
778
|
cleanup=cleanup,
|
|
779
|
+
dry_run_and_update=dry_run_and_update,
|
|
630
780
|
environment_variables=environment_variables,
|
|
631
781
|
failure_retention_period=failure_retention_period,
|
|
782
|
+
max_retries=max_retries,
|
|
632
783
|
memory=memory,
|
|
633
784
|
provisioned_resource_cleanup=provisioned_resource_cleanup,
|
|
785
|
+
resources_to_replicate_tags=resources_to_replicate_tags,
|
|
634
786
|
role=role,
|
|
635
787
|
schedule=schedule,
|
|
636
788
|
security_groups=security_groups,
|
|
@@ -651,6 +803,7 @@ class Canary(
|
|
|
651
803
|
account: typing.Optional[builtins.str] = None,
|
|
652
804
|
color: typing.Optional[builtins.str] = None,
|
|
653
805
|
dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
806
|
+
id: typing.Optional[builtins.str] = None,
|
|
654
807
|
label: typing.Optional[builtins.str] = None,
|
|
655
808
|
period: typing.Optional[_Duration_4839e8c3] = None,
|
|
656
809
|
region: typing.Optional[builtins.str] = None,
|
|
@@ -658,12 +811,14 @@ class Canary(
|
|
|
658
811
|
stack_region: typing.Optional[builtins.str] = None,
|
|
659
812
|
statistic: typing.Optional[builtins.str] = None,
|
|
660
813
|
unit: typing.Optional[_Unit_61bc6f70] = None,
|
|
814
|
+
visible: typing.Optional[builtins.bool] = None,
|
|
661
815
|
) -> _Metric_e396a4dc:
|
|
662
816
|
'''Measure the Duration of a single canary run, in seconds.
|
|
663
817
|
|
|
664
818
|
:param account: Account which this metric comes from. Default: - Deployment account.
|
|
665
819
|
:param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
|
|
666
820
|
:param dimensions_map: Dimensions of the metric. Default: - No dimensions.
|
|
821
|
+
:param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
|
|
667
822
|
:param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
|
|
668
823
|
:param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
|
|
669
824
|
:param region: Region which this metric comes from. Default: - Deployment region.
|
|
@@ -671,6 +826,7 @@ class Canary(
|
|
|
671
826
|
:param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
|
|
672
827
|
:param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
|
|
673
828
|
:param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
|
|
829
|
+
:param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
|
|
674
830
|
|
|
675
831
|
:default: avg over 5 minutes
|
|
676
832
|
'''
|
|
@@ -678,6 +834,7 @@ class Canary(
|
|
|
678
834
|
account=account,
|
|
679
835
|
color=color,
|
|
680
836
|
dimensions_map=dimensions_map,
|
|
837
|
+
id=id,
|
|
681
838
|
label=label,
|
|
682
839
|
period=period,
|
|
683
840
|
region=region,
|
|
@@ -685,6 +842,7 @@ class Canary(
|
|
|
685
842
|
stack_region=stack_region,
|
|
686
843
|
statistic=statistic,
|
|
687
844
|
unit=unit,
|
|
845
|
+
visible=visible,
|
|
688
846
|
)
|
|
689
847
|
|
|
690
848
|
return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricDuration", [options]))
|
|
@@ -696,6 +854,7 @@ class Canary(
|
|
|
696
854
|
account: typing.Optional[builtins.str] = None,
|
|
697
855
|
color: typing.Optional[builtins.str] = None,
|
|
698
856
|
dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
857
|
+
id: typing.Optional[builtins.str] = None,
|
|
699
858
|
label: typing.Optional[builtins.str] = None,
|
|
700
859
|
period: typing.Optional[_Duration_4839e8c3] = None,
|
|
701
860
|
region: typing.Optional[builtins.str] = None,
|
|
@@ -703,6 +862,7 @@ class Canary(
|
|
|
703
862
|
stack_region: typing.Optional[builtins.str] = None,
|
|
704
863
|
statistic: typing.Optional[builtins.str] = None,
|
|
705
864
|
unit: typing.Optional[_Unit_61bc6f70] = None,
|
|
865
|
+
visible: typing.Optional[builtins.bool] = None,
|
|
706
866
|
) -> _Metric_e396a4dc:
|
|
707
867
|
'''Measure the number of failed canary runs over a given time period.
|
|
708
868
|
|
|
@@ -711,6 +871,7 @@ class Canary(
|
|
|
711
871
|
:param account: Account which this metric comes from. Default: - Deployment account.
|
|
712
872
|
:param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
|
|
713
873
|
:param dimensions_map: Dimensions of the metric. Default: - No dimensions.
|
|
874
|
+
:param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
|
|
714
875
|
:param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
|
|
715
876
|
:param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
|
|
716
877
|
:param region: Region which this metric comes from. Default: - Deployment region.
|
|
@@ -718,11 +879,13 @@ class Canary(
|
|
|
718
879
|
:param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
|
|
719
880
|
:param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
|
|
720
881
|
:param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
|
|
882
|
+
:param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
|
|
721
883
|
'''
|
|
722
884
|
options = _MetricOptions_1788b62f(
|
|
723
885
|
account=account,
|
|
724
886
|
color=color,
|
|
725
887
|
dimensions_map=dimensions_map,
|
|
888
|
+
id=id,
|
|
726
889
|
label=label,
|
|
727
890
|
period=period,
|
|
728
891
|
region=region,
|
|
@@ -730,6 +893,7 @@ class Canary(
|
|
|
730
893
|
stack_region=stack_region,
|
|
731
894
|
statistic=statistic,
|
|
732
895
|
unit=unit,
|
|
896
|
+
visible=visible,
|
|
733
897
|
)
|
|
734
898
|
|
|
735
899
|
return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricFailed", [options]))
|
|
@@ -741,6 +905,7 @@ class Canary(
|
|
|
741
905
|
account: typing.Optional[builtins.str] = None,
|
|
742
906
|
color: typing.Optional[builtins.str] = None,
|
|
743
907
|
dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
908
|
+
id: typing.Optional[builtins.str] = None,
|
|
744
909
|
label: typing.Optional[builtins.str] = None,
|
|
745
910
|
period: typing.Optional[_Duration_4839e8c3] = None,
|
|
746
911
|
region: typing.Optional[builtins.str] = None,
|
|
@@ -748,12 +913,14 @@ class Canary(
|
|
|
748
913
|
stack_region: typing.Optional[builtins.str] = None,
|
|
749
914
|
statistic: typing.Optional[builtins.str] = None,
|
|
750
915
|
unit: typing.Optional[_Unit_61bc6f70] = None,
|
|
916
|
+
visible: typing.Optional[builtins.bool] = None,
|
|
751
917
|
) -> _Metric_e396a4dc:
|
|
752
918
|
'''Measure the percentage of successful canary runs.
|
|
753
919
|
|
|
754
920
|
:param account: Account which this metric comes from. Default: - Deployment account.
|
|
755
921
|
:param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
|
|
756
922
|
:param dimensions_map: Dimensions of the metric. Default: - No dimensions.
|
|
923
|
+
:param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
|
|
757
924
|
:param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
|
|
758
925
|
:param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
|
|
759
926
|
:param region: Region which this metric comes from. Default: - Deployment region.
|
|
@@ -761,6 +928,7 @@ class Canary(
|
|
|
761
928
|
:param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
|
|
762
929
|
:param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
|
|
763
930
|
:param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
|
|
931
|
+
:param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
|
|
764
932
|
|
|
765
933
|
:default: avg over 5 minutes
|
|
766
934
|
'''
|
|
@@ -768,6 +936,7 @@ class Canary(
|
|
|
768
936
|
account=account,
|
|
769
937
|
color=color,
|
|
770
938
|
dimensions_map=dimensions_map,
|
|
939
|
+
id=id,
|
|
771
940
|
label=label,
|
|
772
941
|
period=period,
|
|
773
942
|
region=region,
|
|
@@ -775,10 +944,17 @@ class Canary(
|
|
|
775
944
|
stack_region=stack_region,
|
|
776
945
|
statistic=statistic,
|
|
777
946
|
unit=unit,
|
|
947
|
+
visible=visible,
|
|
778
948
|
)
|
|
779
949
|
|
|
780
950
|
return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricSuccessPercent", [options]))
|
|
781
951
|
|
|
952
|
+
@jsii.python.classproperty
|
|
953
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
954
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
955
|
+
'''Uniquely identifies this class.'''
|
|
956
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
957
|
+
|
|
782
958
|
@builtins.property
|
|
783
959
|
@jsii.member(jsii_name="artifactsBucket")
|
|
784
960
|
def artifacts_bucket(self) -> _IBucket_42e086fd:
|
|
@@ -841,12 +1017,16 @@ class Canary(
|
|
|
841
1017
|
"artifact_s3_kms_key": "artifactS3KmsKey",
|
|
842
1018
|
"artifacts_bucket_lifecycle_rules": "artifactsBucketLifecycleRules",
|
|
843
1019
|
"artifacts_bucket_location": "artifactsBucketLocation",
|
|
1020
|
+
"browser_configs": "browserConfigs",
|
|
844
1021
|
"canary_name": "canaryName",
|
|
845
1022
|
"cleanup": "cleanup",
|
|
1023
|
+
"dry_run_and_update": "dryRunAndUpdate",
|
|
846
1024
|
"environment_variables": "environmentVariables",
|
|
847
1025
|
"failure_retention_period": "failureRetentionPeriod",
|
|
1026
|
+
"max_retries": "maxRetries",
|
|
848
1027
|
"memory": "memory",
|
|
849
1028
|
"provisioned_resource_cleanup": "provisionedResourceCleanup",
|
|
1029
|
+
"resources_to_replicate_tags": "resourcesToReplicateTags",
|
|
850
1030
|
"role": "role",
|
|
851
1031
|
"schedule": "schedule",
|
|
852
1032
|
"security_groups": "securityGroups",
|
|
@@ -869,12 +1049,16 @@ class CanaryProps:
|
|
|
869
1049
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
870
1050
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
871
1051
|
artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1052
|
+
browser_configs: typing.Optional[typing.Sequence[BrowserType]] = None,
|
|
872
1053
|
canary_name: typing.Optional[builtins.str] = None,
|
|
873
1054
|
cleanup: typing.Optional["Cleanup"] = None,
|
|
1055
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
874
1056
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
875
1057
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
1058
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
876
1059
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
877
1060
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
1061
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence["ResourceToReplicateTags"]] = None,
|
|
878
1062
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
879
1063
|
schedule: typing.Optional["Schedule"] = None,
|
|
880
1064
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -894,12 +1078,16 @@ class CanaryProps:
|
|
|
894
1078
|
:param artifact_s3_kms_key: The KMS key used to encrypt canary artifacts. Default: - no kms key if ``artifactS3EncryptionMode`` is set to ``S3_MANAGED``. A key will be created if one is not provided and ``artifactS3EncryptionMode`` is set to ``KMS``.
|
|
895
1079
|
:param artifacts_bucket_lifecycle_rules: Lifecycle rules for the generated canary artifact bucket. Has no effect if a bucket is passed to ``artifactsBucketLocation``. If you pass a bucket to ``artifactsBucketLocation``, you can add lifecycle rules to the bucket itself. Default: - no rules applied to the generated bucket.
|
|
896
1080
|
:param artifacts_bucket_location: The s3 location that stores the data of the canary runs. Default: - A new s3 bucket will be created without a prefix.
|
|
1081
|
+
:param browser_configs: Browser configurations for the canary. Specifies which browser(s) to use for running the canary tests. You can specify up to 2 browser configurations. Firefox is supported with Node.js Puppeteer and Playwright runtimes, but not with Python Selenium runtimes. Default: undefined - AWS CloudWatch default is using only Chrome browser
|
|
897
1082
|
:param canary_name: The name of the canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account. Do not include secrets or proprietary information in your canary name. The canary name makes up part of the canary ARN, which is included in outbound calls over the internet. Default: - A unique name will be generated from the construct ID
|
|
898
1083
|
:param cleanup: (deprecated) Specify the underlying resources to be cleaned up when the canary is deleted. Using ``Cleanup.LAMBDA`` will create a Custom Resource to achieve this. Default: Cleanup.NOTHING
|
|
1084
|
+
:param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to true, CDK will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason. If set to false or omitted, the canary will be updated directly without first performing a dry run. Default: undefined - AWS CloudWatch default is false
|
|
899
1085
|
:param environment_variables: Key-value pairs that the Synthetics caches and makes available for your canary scripts. Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Canary script source code. Default: - No environment variables.
|
|
900
1086
|
:param failure_retention_period: How many days should failed runs be retained. Default: Duration.days(31)
|
|
1087
|
+
:param max_retries: The amount of times the canary will automatically retry a failed run. This is only supported on the following runtimes or newer: ``Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0``, ``Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0``, ``Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1``. Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry. Default: 0
|
|
901
1088
|
:param memory: The maximum amount of memory that the canary can use while running. This value must be a multiple of 64 Mib. The range is 960 MiB to 3008 MiB. Default: Size.mebibytes(1024)
|
|
902
1089
|
:param provisioned_resource_cleanup: Whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. Default: undefined - the default behavior is to not delete the Lambda functions and layers
|
|
1090
|
+
:param resources_to_replicate_tags: Specifies which resources should have their tags replicated to this canary. To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ResourceToReplicateTags.LAMBDA_FUNCTION. If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function. Default: - No resources will have their tags replicated to this canary
|
|
903
1091
|
:param role: Canary execution role. This is the role that will be assumed by the canary upon execution. It controls the permissions that the canary will have. The role must be assumable by the AWS Lambda service principal. If not supplied, a role will be created with all the required permissions. If you provide a Role, you must add the required permissions. Default: - A unique role will be generated for this canary. You can add permissions to roles by calling 'addToRolePolicy'.
|
|
904
1092
|
:param schedule: Specify the schedule for how often the canary runs. For example, if you set ``schedule`` to ``rate(10 minutes)``, then the canary will run every 10 minutes. You can set the schedule with ``Schedule.rate(Duration)`` (recommended) or you can specify an expression using ``Schedule.expression()``. Default: 'rate(5 minutes)'
|
|
905
1093
|
:param security_groups: The list of security groups to associate with the canary's network interfaces. You must provide ``vpc`` when using this prop. Default: - If the canary is placed within a VPC and a security group is not specified a dedicated security group will be created for this canary.
|
|
@@ -914,17 +1102,14 @@ class CanaryProps:
|
|
|
914
1102
|
|
|
915
1103
|
Example::
|
|
916
1104
|
|
|
917
|
-
import aws_cdk as cdk
|
|
918
|
-
|
|
919
|
-
|
|
920
1105
|
canary = synthetics.Canary(self, "MyCanary",
|
|
921
1106
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
922
1107
|
test=synthetics.Test.custom(
|
|
923
1108
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
924
1109
|
handler="index.handler"
|
|
925
1110
|
),
|
|
926
|
-
runtime=synthetics.Runtime.
|
|
927
|
-
|
|
1111
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
1112
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
928
1113
|
)
|
|
929
1114
|
'''
|
|
930
1115
|
if isinstance(artifacts_bucket_location, dict):
|
|
@@ -940,12 +1125,16 @@ class CanaryProps:
|
|
|
940
1125
|
check_type(argname="argument artifact_s3_kms_key", value=artifact_s3_kms_key, expected_type=type_hints["artifact_s3_kms_key"])
|
|
941
1126
|
check_type(argname="argument artifacts_bucket_lifecycle_rules", value=artifacts_bucket_lifecycle_rules, expected_type=type_hints["artifacts_bucket_lifecycle_rules"])
|
|
942
1127
|
check_type(argname="argument artifacts_bucket_location", value=artifacts_bucket_location, expected_type=type_hints["artifacts_bucket_location"])
|
|
1128
|
+
check_type(argname="argument browser_configs", value=browser_configs, expected_type=type_hints["browser_configs"])
|
|
943
1129
|
check_type(argname="argument canary_name", value=canary_name, expected_type=type_hints["canary_name"])
|
|
944
1130
|
check_type(argname="argument cleanup", value=cleanup, expected_type=type_hints["cleanup"])
|
|
1131
|
+
check_type(argname="argument dry_run_and_update", value=dry_run_and_update, expected_type=type_hints["dry_run_and_update"])
|
|
945
1132
|
check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
|
|
946
1133
|
check_type(argname="argument failure_retention_period", value=failure_retention_period, expected_type=type_hints["failure_retention_period"])
|
|
1134
|
+
check_type(argname="argument max_retries", value=max_retries, expected_type=type_hints["max_retries"])
|
|
947
1135
|
check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
|
|
948
1136
|
check_type(argname="argument provisioned_resource_cleanup", value=provisioned_resource_cleanup, expected_type=type_hints["provisioned_resource_cleanup"])
|
|
1137
|
+
check_type(argname="argument resources_to_replicate_tags", value=resources_to_replicate_tags, expected_type=type_hints["resources_to_replicate_tags"])
|
|
949
1138
|
check_type(argname="argument role", value=role, expected_type=type_hints["role"])
|
|
950
1139
|
check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
|
|
951
1140
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
@@ -969,18 +1158,26 @@ class CanaryProps:
|
|
|
969
1158
|
self._values["artifacts_bucket_lifecycle_rules"] = artifacts_bucket_lifecycle_rules
|
|
970
1159
|
if artifacts_bucket_location is not None:
|
|
971
1160
|
self._values["artifacts_bucket_location"] = artifacts_bucket_location
|
|
1161
|
+
if browser_configs is not None:
|
|
1162
|
+
self._values["browser_configs"] = browser_configs
|
|
972
1163
|
if canary_name is not None:
|
|
973
1164
|
self._values["canary_name"] = canary_name
|
|
974
1165
|
if cleanup is not None:
|
|
975
1166
|
self._values["cleanup"] = cleanup
|
|
1167
|
+
if dry_run_and_update is not None:
|
|
1168
|
+
self._values["dry_run_and_update"] = dry_run_and_update
|
|
976
1169
|
if environment_variables is not None:
|
|
977
1170
|
self._values["environment_variables"] = environment_variables
|
|
978
1171
|
if failure_retention_period is not None:
|
|
979
1172
|
self._values["failure_retention_period"] = failure_retention_period
|
|
1173
|
+
if max_retries is not None:
|
|
1174
|
+
self._values["max_retries"] = max_retries
|
|
980
1175
|
if memory is not None:
|
|
981
1176
|
self._values["memory"] = memory
|
|
982
1177
|
if provisioned_resource_cleanup is not None:
|
|
983
1178
|
self._values["provisioned_resource_cleanup"] = provisioned_resource_cleanup
|
|
1179
|
+
if resources_to_replicate_tags is not None:
|
|
1180
|
+
self._values["resources_to_replicate_tags"] = resources_to_replicate_tags
|
|
984
1181
|
if role is not None:
|
|
985
1182
|
self._values["role"] = role
|
|
986
1183
|
if schedule is not None:
|
|
@@ -1084,6 +1281,23 @@ class CanaryProps:
|
|
|
1084
1281
|
result = self._values.get("artifacts_bucket_location")
|
|
1085
1282
|
return typing.cast(typing.Optional[ArtifactsBucketLocation], result)
|
|
1086
1283
|
|
|
1284
|
+
@builtins.property
|
|
1285
|
+
def browser_configs(self) -> typing.Optional[typing.List[BrowserType]]:
|
|
1286
|
+
'''Browser configurations for the canary.
|
|
1287
|
+
|
|
1288
|
+
Specifies which browser(s) to use for running the canary tests.
|
|
1289
|
+
You can specify up to 2 browser configurations.
|
|
1290
|
+
|
|
1291
|
+
Firefox is supported with Node.js Puppeteer and Playwright runtimes,
|
|
1292
|
+
but not with Python Selenium runtimes.
|
|
1293
|
+
|
|
1294
|
+
:default: undefined - AWS CloudWatch default is using only Chrome browser
|
|
1295
|
+
|
|
1296
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html
|
|
1297
|
+
'''
|
|
1298
|
+
result = self._values.get("browser_configs")
|
|
1299
|
+
return typing.cast(typing.Optional[typing.List[BrowserType]], result)
|
|
1300
|
+
|
|
1087
1301
|
@builtins.property
|
|
1088
1302
|
def canary_name(self) -> typing.Optional[builtins.str]:
|
|
1089
1303
|
'''The name of the canary.
|
|
@@ -1116,6 +1330,23 @@ class CanaryProps:
|
|
|
1116
1330
|
result = self._values.get("cleanup")
|
|
1117
1331
|
return typing.cast(typing.Optional["Cleanup"], result)
|
|
1118
1332
|
|
|
1333
|
+
@builtins.property
|
|
1334
|
+
def dry_run_and_update(self) -> typing.Optional[builtins.bool]:
|
|
1335
|
+
'''Specifies whether to perform a dry run before updating the canary.
|
|
1336
|
+
|
|
1337
|
+
If set to true, CDK will execute a dry run to validate the changes before applying them to the canary.
|
|
1338
|
+
If the dry run succeeds, the canary will be updated with the changes.
|
|
1339
|
+
If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason.
|
|
1340
|
+
|
|
1341
|
+
If set to false or omitted, the canary will be updated directly without first performing a dry run.
|
|
1342
|
+
|
|
1343
|
+
:default: undefined - AWS CloudWatch default is false
|
|
1344
|
+
|
|
1345
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html
|
|
1346
|
+
'''
|
|
1347
|
+
result = self._values.get("dry_run_and_update")
|
|
1348
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1349
|
+
|
|
1119
1350
|
@builtins.property
|
|
1120
1351
|
def environment_variables(
|
|
1121
1352
|
self,
|
|
@@ -1140,6 +1371,20 @@ class CanaryProps:
|
|
|
1140
1371
|
result = self._values.get("failure_retention_period")
|
|
1141
1372
|
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
1142
1373
|
|
|
1374
|
+
@builtins.property
|
|
1375
|
+
def max_retries(self) -> typing.Optional[jsii.Number]:
|
|
1376
|
+
'''The amount of times the canary will automatically retry a failed run.
|
|
1377
|
+
|
|
1378
|
+
This is only supported on the following runtimes or newer: ``Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0``, ``Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0``, ``Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1``.
|
|
1379
|
+
Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry.
|
|
1380
|
+
|
|
1381
|
+
:default: 0
|
|
1382
|
+
|
|
1383
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_autoretry.html
|
|
1384
|
+
'''
|
|
1385
|
+
result = self._values.get("max_retries")
|
|
1386
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1387
|
+
|
|
1143
1388
|
@builtins.property
|
|
1144
1389
|
def memory(self) -> typing.Optional[_Size_7b441c34]:
|
|
1145
1390
|
'''The maximum amount of memory that the canary can use while running.
|
|
@@ -1161,6 +1406,23 @@ class CanaryProps:
|
|
|
1161
1406
|
result = self._values.get("provisioned_resource_cleanup")
|
|
1162
1407
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1163
1408
|
|
|
1409
|
+
@builtins.property
|
|
1410
|
+
def resources_to_replicate_tags(
|
|
1411
|
+
self,
|
|
1412
|
+
) -> typing.Optional[typing.List["ResourceToReplicateTags"]]:
|
|
1413
|
+
'''Specifies which resources should have their tags replicated to this canary.
|
|
1414
|
+
|
|
1415
|
+
To have the tags that you apply to this canary also be applied to the Lambda
|
|
1416
|
+
function that the canary uses, specify this property with the value
|
|
1417
|
+
ResourceToReplicateTags.LAMBDA_FUNCTION. If you do this, CloudWatch Synthetics will keep the tags of the canary and the
|
|
1418
|
+
Lambda function synchronized. Any future changes you make to the canary's tags
|
|
1419
|
+
will also be applied to the function.
|
|
1420
|
+
|
|
1421
|
+
:default: - No resources will have their tags replicated to this canary
|
|
1422
|
+
'''
|
|
1423
|
+
result = self._values.get("resources_to_replicate_tags")
|
|
1424
|
+
return typing.cast(typing.Optional[typing.List["ResourceToReplicateTags"]], result)
|
|
1425
|
+
|
|
1164
1426
|
@builtins.property
|
|
1165
1427
|
def role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
1166
1428
|
'''Canary execution role.
|
|
@@ -1286,7 +1548,7 @@ class CanaryProps:
|
|
|
1286
1548
|
)
|
|
1287
1549
|
|
|
1288
1550
|
|
|
1289
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
1551
|
+
@jsii.implements(_IInspectable_c2943556, _ICanaryRef_cf407e49, _ITaggable_36806126)
|
|
1290
1552
|
class CfnCanary(
|
|
1291
1553
|
_CfnResource_9df397a6,
|
|
1292
1554
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1315,9 +1577,14 @@ class CfnCanary(
|
|
|
1315
1577
|
cfn_canary = synthetics.CfnCanary(self, "MyCfnCanary",
|
|
1316
1578
|
artifact_s3_location="artifactS3Location",
|
|
1317
1579
|
code=synthetics.CfnCanary.CodeProperty(
|
|
1318
|
-
|
|
1580
|
+
blueprint_types=["blueprintTypes"],
|
|
1581
|
+
dependencies=[synthetics.CfnCanary.DependencyProperty(
|
|
1582
|
+
reference="reference",
|
|
1319
1583
|
|
|
1320
|
-
|
|
1584
|
+
# the properties below are optional
|
|
1585
|
+
type="type"
|
|
1586
|
+
)],
|
|
1587
|
+
handler="handler",
|
|
1321
1588
|
s3_bucket="s3Bucket",
|
|
1322
1589
|
s3_key="s3Key",
|
|
1323
1590
|
s3_object_version="s3ObjectVersion",
|
|
@@ -1331,7 +1598,10 @@ class CfnCanary(
|
|
|
1331
1598
|
expression="expression",
|
|
1332
1599
|
|
|
1333
1600
|
# the properties below are optional
|
|
1334
|
-
duration_in_seconds="durationInSeconds"
|
|
1601
|
+
duration_in_seconds="durationInSeconds",
|
|
1602
|
+
retry_config=synthetics.CfnCanary.RetryConfigProperty(
|
|
1603
|
+
max_retries=123
|
|
1604
|
+
)
|
|
1335
1605
|
),
|
|
1336
1606
|
|
|
1337
1607
|
# the properties below are optional
|
|
@@ -1341,7 +1611,11 @@ class CfnCanary(
|
|
|
1341
1611
|
kms_key_arn="kmsKeyArn"
|
|
1342
1612
|
)
|
|
1343
1613
|
),
|
|
1614
|
+
browser_configs=[synthetics.CfnCanary.BrowserConfigProperty(
|
|
1615
|
+
browser_type="browserType"
|
|
1616
|
+
)],
|
|
1344
1617
|
delete_lambda_resources_on_canary_deletion=False,
|
|
1618
|
+
dry_run_and_update=False,
|
|
1345
1619
|
failure_retention_period=123,
|
|
1346
1620
|
provisioned_resource_cleanup="provisionedResourceCleanup",
|
|
1347
1621
|
resources_to_replicate_tags=["resourcesToReplicateTags"],
|
|
@@ -1350,6 +1624,7 @@ class CfnCanary(
|
|
|
1350
1624
|
environment_variables={
|
|
1351
1625
|
"environment_variables_key": "environmentVariables"
|
|
1352
1626
|
},
|
|
1627
|
+
ephemeral_storage=123,
|
|
1353
1628
|
memory_in_mb=123,
|
|
1354
1629
|
timeout_in_seconds=123
|
|
1355
1630
|
),
|
|
@@ -1368,8 +1643,21 @@ class CfnCanary(
|
|
|
1368
1643
|
|
|
1369
1644
|
# the properties below are optional
|
|
1370
1645
|
ignore_coordinates=["ignoreCoordinates"]
|
|
1371
|
-
)]
|
|
1646
|
+
)],
|
|
1647
|
+
browser_type="browserType"
|
|
1372
1648
|
),
|
|
1649
|
+
visual_references=[synthetics.CfnCanary.VisualReferenceProperty(
|
|
1650
|
+
base_canary_run_id="baseCanaryRunId",
|
|
1651
|
+
|
|
1652
|
+
# the properties below are optional
|
|
1653
|
+
base_screenshots=[synthetics.CfnCanary.BaseScreenshotProperty(
|
|
1654
|
+
screenshot_name="screenshotName",
|
|
1655
|
+
|
|
1656
|
+
# the properties below are optional
|
|
1657
|
+
ignore_coordinates=["ignoreCoordinates"]
|
|
1658
|
+
)],
|
|
1659
|
+
browser_type="browserType"
|
|
1660
|
+
)],
|
|
1373
1661
|
vpc_config=synthetics.CfnCanary.VPCConfigProperty(
|
|
1374
1662
|
security_group_ids=["securityGroupIds"],
|
|
1375
1663
|
subnet_ids=["subnetIds"],
|
|
@@ -1393,7 +1681,9 @@ class CfnCanary(
|
|
|
1393
1681
|
runtime_version: builtins.str,
|
|
1394
1682
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.ScheduleProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
1395
1683
|
artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.ArtifactConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1684
|
+
browser_configs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.BrowserConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1396
1685
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
1686
|
+
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
1397
1687
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
1398
1688
|
provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
|
|
1399
1689
|
resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -1402,9 +1692,11 @@ class CfnCanary(
|
|
|
1402
1692
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
1403
1693
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1404
1694
|
visual_reference: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.VisualReferenceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1695
|
+
visual_references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.VisualReferenceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1405
1696
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.VPCConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1406
1697
|
) -> None:
|
|
1407
|
-
'''
|
|
1698
|
+
'''Create a new ``AWS::Synthetics::Canary``.
|
|
1699
|
+
|
|
1408
1700
|
:param scope: Scope in which this resource is defined.
|
|
1409
1701
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1410
1702
|
:param artifact_s3_location: The location in Amazon S3 where Synthetics stores artifacts from the runs of this canary. Artifacts include the log file, screenshots, and HAR files. Specify the full location path, including ``s3://`` at the beginning of the path.
|
|
@@ -1414,7 +1706,9 @@ class CfnCanary(
|
|
|
1414
1706
|
:param runtime_version: Specifies the runtime version to use for the canary. For more information about runtime versions, see `Canary Runtime Versions <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html>`_ .
|
|
1415
1707
|
:param schedule: A structure that contains information about how often the canary is to run, and when these runs are to stop.
|
|
1416
1708
|
:param artifact_config: A structure that contains the configuration for canary artifacts, including the encryption-at-rest settings for artifacts that the canary uploads to Amazon S3.
|
|
1709
|
+
:param browser_configs: A structure that specifies the browser type to use for a canary run. CloudWatch Synthetics supports running canaries on both ``CHROME`` and ``FIREFOX`` browsers. .. epigraph:: If not specified, ``browserConfigs`` defaults to Chrome.
|
|
1417
1710
|
:param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
|
|
1711
|
+
:param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to ``true`` , CloudFormation will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason. If set to ``false`` or omitted, the canary will be updated directly without first performing a dry run. The default value is ``false`` . For more information, see `Performing safe canary updates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html>`_ .
|
|
1418
1712
|
:param failure_retention_period: The number of days to retain data about failed runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days. This setting affects the range of information returned by `GetCanaryRuns <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html>`_ , as well as the range of information displayed in the Synthetics console.
|
|
1419
1713
|
:param provisioned_resource_cleanup: Specifies whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. If it is ``AUTOMATIC`` , the Lambda functions and layers will be deleted when the canary is deleted. If the value of this parameter is ``OFF`` , then the value of the ``DeleteLambda`` parameter of the `DeleteCanary <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html>`_ operation determines whether the Lambda functions and layers will be deleted.
|
|
1420
1714
|
:param resources_to_replicate_tags: To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ``lambda-function`` . If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function.
|
|
@@ -1422,7 +1716,8 @@ class CfnCanary(
|
|
|
1422
1716
|
:param start_canary_after_creation: Specify TRUE to have the canary start making runs immediately after it is created. A canary that you create using CloudFormation can't be used to monitor the CloudFormation stack that creates the canary or to roll back that stack if there is a failure.
|
|
1423
1717
|
:param success_retention_period: The number of days to retain data about successful runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days. This setting affects the range of information returned by `GetCanaryRuns <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html>`_ , as well as the range of information displayed in the Synthetics console.
|
|
1424
1718
|
:param tags: The list of key-value pairs that are associated with the canary.
|
|
1425
|
-
:param visual_reference:
|
|
1719
|
+
:param visual_reference:
|
|
1720
|
+
:param visual_references: A list of visual reference configurations for the canary, one for each browser type that the canary is configured to run on. Visual references are used for visual monitoring comparisons. ``syn-nodejs-puppeteer-11.0`` and above, and ``syn-nodejs-playwright-3.0`` and above, only supports ``visualReferences`` . ``visualReference`` field is not supported. Versions older than ``syn-nodejs-puppeteer-11.0`` supports both ``visualReference`` and ``visualReferences`` for backward compatibility. It is recommended to use ``visualReferences`` for consistency and future compatibility.
|
|
1426
1721
|
:param vpc_config: If this canary is to test an endpoint in a VPC, this structure contains information about the subnet and security groups of the VPC endpoint. For more information, see `Running a Canary in a VPC <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html>`_ .
|
|
1427
1722
|
'''
|
|
1428
1723
|
if __debug__:
|
|
@@ -1437,7 +1732,9 @@ class CfnCanary(
|
|
|
1437
1732
|
runtime_version=runtime_version,
|
|
1438
1733
|
schedule=schedule,
|
|
1439
1734
|
artifact_config=artifact_config,
|
|
1735
|
+
browser_configs=browser_configs,
|
|
1440
1736
|
delete_lambda_resources_on_canary_deletion=delete_lambda_resources_on_canary_deletion,
|
|
1737
|
+
dry_run_and_update=dry_run_and_update,
|
|
1441
1738
|
failure_retention_period=failure_retention_period,
|
|
1442
1739
|
provisioned_resource_cleanup=provisioned_resource_cleanup,
|
|
1443
1740
|
resources_to_replicate_tags=resources_to_replicate_tags,
|
|
@@ -1446,11 +1743,33 @@ class CfnCanary(
|
|
|
1446
1743
|
success_retention_period=success_retention_period,
|
|
1447
1744
|
tags=tags,
|
|
1448
1745
|
visual_reference=visual_reference,
|
|
1746
|
+
visual_references=visual_references,
|
|
1449
1747
|
vpc_config=vpc_config,
|
|
1450
1748
|
)
|
|
1451
1749
|
|
|
1452
1750
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
1453
1751
|
|
|
1752
|
+
@jsii.member(jsii_name="fromCanaryName")
|
|
1753
|
+
@builtins.classmethod
|
|
1754
|
+
def from_canary_name(
|
|
1755
|
+
cls,
|
|
1756
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1757
|
+
id: builtins.str,
|
|
1758
|
+
canary_name: builtins.str,
|
|
1759
|
+
) -> _ICanaryRef_cf407e49:
|
|
1760
|
+
'''Creates a new ICanaryRef from a canaryName.
|
|
1761
|
+
|
|
1762
|
+
:param scope: -
|
|
1763
|
+
:param id: -
|
|
1764
|
+
:param canary_name: -
|
|
1765
|
+
'''
|
|
1766
|
+
if __debug__:
|
|
1767
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a9ea9a4c62ed507734c1656b5b5b9ece24a5a15e32aa598350d8dcba80710c99)
|
|
1768
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1769
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1770
|
+
check_type(argname="argument canary_name", value=canary_name, expected_type=type_hints["canary_name"])
|
|
1771
|
+
return typing.cast(_ICanaryRef_cf407e49, jsii.sinvoke(cls, "fromCanaryName", [scope, id, canary_name]))
|
|
1772
|
+
|
|
1454
1773
|
@jsii.member(jsii_name="inspect")
|
|
1455
1774
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
1456
1775
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -1510,6 +1829,12 @@ class CfnCanary(
|
|
|
1510
1829
|
'''
|
|
1511
1830
|
return typing.cast(builtins.str, jsii.get(self, "attrState"))
|
|
1512
1831
|
|
|
1832
|
+
@builtins.property
|
|
1833
|
+
@jsii.member(jsii_name="canaryRef")
|
|
1834
|
+
def canary_ref(self) -> _CanaryReference_fbbe85ce:
|
|
1835
|
+
'''A reference to a Canary resource.'''
|
|
1836
|
+
return typing.cast(_CanaryReference_fbbe85ce, jsii.get(self, "canaryRef"))
|
|
1837
|
+
|
|
1513
1838
|
@builtins.property
|
|
1514
1839
|
@jsii.member(jsii_name="cfnProperties")
|
|
1515
1840
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
@@ -1625,6 +1950,24 @@ class CfnCanary(
|
|
|
1625
1950
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1626
1951
|
jsii.set(self, "artifactConfig", value) # pyright: ignore[reportArgumentType]
|
|
1627
1952
|
|
|
1953
|
+
@builtins.property
|
|
1954
|
+
@jsii.member(jsii_name="browserConfigs")
|
|
1955
|
+
def browser_configs(
|
|
1956
|
+
self,
|
|
1957
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.BrowserConfigProperty"]]]]:
|
|
1958
|
+
'''A structure that specifies the browser type to use for a canary run.'''
|
|
1959
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.BrowserConfigProperty"]]]], jsii.get(self, "browserConfigs"))
|
|
1960
|
+
|
|
1961
|
+
@browser_configs.setter
|
|
1962
|
+
def browser_configs(
|
|
1963
|
+
self,
|
|
1964
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.BrowserConfigProperty"]]]],
|
|
1965
|
+
) -> None:
|
|
1966
|
+
if __debug__:
|
|
1967
|
+
type_hints = typing.get_type_hints(_typecheckingstub__91233a90f3d4d918352b4597b2dee50c3da02176501744c2dc696dbd8a735b68)
|
|
1968
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1969
|
+
jsii.set(self, "browserConfigs", value) # pyright: ignore[reportArgumentType]
|
|
1970
|
+
|
|
1628
1971
|
@builtins.property
|
|
1629
1972
|
@jsii.member(jsii_name="deleteLambdaResourcesOnCanaryDeletion")
|
|
1630
1973
|
def delete_lambda_resources_on_canary_deletion(
|
|
@@ -1648,6 +1991,24 @@ class CfnCanary(
|
|
|
1648
1991
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1649
1992
|
jsii.set(self, "deleteLambdaResourcesOnCanaryDeletion", value) # pyright: ignore[reportArgumentType]
|
|
1650
1993
|
|
|
1994
|
+
@builtins.property
|
|
1995
|
+
@jsii.member(jsii_name="dryRunAndUpdate")
|
|
1996
|
+
def dry_run_and_update(
|
|
1997
|
+
self,
|
|
1998
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
1999
|
+
'''Specifies whether to perform a dry run before updating the canary.'''
|
|
2000
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "dryRunAndUpdate"))
|
|
2001
|
+
|
|
2002
|
+
@dry_run_and_update.setter
|
|
2003
|
+
def dry_run_and_update(
|
|
2004
|
+
self,
|
|
2005
|
+
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
2006
|
+
) -> None:
|
|
2007
|
+
if __debug__:
|
|
2008
|
+
type_hints = typing.get_type_hints(_typecheckingstub__59860e5fb72da4da1108545c9e0b8f706d34cf83eb363fda05f04cbb14baf1fe)
|
|
2009
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2010
|
+
jsii.set(self, "dryRunAndUpdate", value) # pyright: ignore[reportArgumentType]
|
|
2011
|
+
|
|
1651
2012
|
@builtins.property
|
|
1652
2013
|
@jsii.member(jsii_name="failureRetentionPeriod")
|
|
1653
2014
|
def failure_retention_period(self) -> typing.Optional[jsii.Number]:
|
|
@@ -1760,7 +2121,11 @@ class CfnCanary(
|
|
|
1760
2121
|
def visual_reference(
|
|
1761
2122
|
self,
|
|
1762
2123
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]]:
|
|
1763
|
-
'''
|
|
2124
|
+
'''
|
|
2125
|
+
:deprecated: this property has been deprecated
|
|
2126
|
+
|
|
2127
|
+
:stability: deprecated
|
|
2128
|
+
'''
|
|
1764
2129
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]], jsii.get(self, "visualReference"))
|
|
1765
2130
|
|
|
1766
2131
|
@visual_reference.setter
|
|
@@ -1773,6 +2138,24 @@ class CfnCanary(
|
|
|
1773
2138
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1774
2139
|
jsii.set(self, "visualReference", value) # pyright: ignore[reportArgumentType]
|
|
1775
2140
|
|
|
2141
|
+
@builtins.property
|
|
2142
|
+
@jsii.member(jsii_name="visualReferences")
|
|
2143
|
+
def visual_references(
|
|
2144
|
+
self,
|
|
2145
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]]]]:
|
|
2146
|
+
'''A list of visual reference configurations for the canary, one for each browser type that the canary is configured to run on.'''
|
|
2147
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]]]], jsii.get(self, "visualReferences"))
|
|
2148
|
+
|
|
2149
|
+
@visual_references.setter
|
|
2150
|
+
def visual_references(
|
|
2151
|
+
self,
|
|
2152
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]]]],
|
|
2153
|
+
) -> None:
|
|
2154
|
+
if __debug__:
|
|
2155
|
+
type_hints = typing.get_type_hints(_typecheckingstub__004341f5a58c9e6e190c4bc518ea476aac62201a1708bb1650a22fbf74c64b52)
|
|
2156
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2157
|
+
jsii.set(self, "visualReferences", value) # pyright: ignore[reportArgumentType]
|
|
2158
|
+
|
|
1776
2159
|
@builtins.property
|
|
1777
2160
|
@jsii.member(jsii_name="vpcConfig")
|
|
1778
2161
|
def vpc_config(
|
|
@@ -1933,10 +2316,64 @@ class CfnCanary(
|
|
|
1933
2316
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
1934
2317
|
)
|
|
1935
2318
|
|
|
2319
|
+
@jsii.data_type(
|
|
2320
|
+
jsii_type="aws-cdk-lib.aws_synthetics.CfnCanary.BrowserConfigProperty",
|
|
2321
|
+
jsii_struct_bases=[],
|
|
2322
|
+
name_mapping={"browser_type": "browserType"},
|
|
2323
|
+
)
|
|
2324
|
+
class BrowserConfigProperty:
|
|
2325
|
+
def __init__(self, *, browser_type: builtins.str) -> None:
|
|
2326
|
+
'''A structure that specifies the browser type to use for a canary run.
|
|
2327
|
+
|
|
2328
|
+
:param browser_type: The browser type associated with this browser configuration.
|
|
2329
|
+
|
|
2330
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-browserconfig.html
|
|
2331
|
+
:exampleMetadata: fixture=_generated
|
|
2332
|
+
|
|
2333
|
+
Example::
|
|
2334
|
+
|
|
2335
|
+
# The code below shows an example of how to instantiate this type.
|
|
2336
|
+
# The values are placeholders you should change.
|
|
2337
|
+
from aws_cdk import aws_synthetics as synthetics
|
|
2338
|
+
|
|
2339
|
+
browser_config_property = synthetics.CfnCanary.BrowserConfigProperty(
|
|
2340
|
+
browser_type="browserType"
|
|
2341
|
+
)
|
|
2342
|
+
'''
|
|
2343
|
+
if __debug__:
|
|
2344
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c91e35c3c240434fee052d7f899893609a9c027813412eb6312483e200412435)
|
|
2345
|
+
check_type(argname="argument browser_type", value=browser_type, expected_type=type_hints["browser_type"])
|
|
2346
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2347
|
+
"browser_type": browser_type,
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
@builtins.property
|
|
2351
|
+
def browser_type(self) -> builtins.str:
|
|
2352
|
+
'''The browser type associated with this browser configuration.
|
|
2353
|
+
|
|
2354
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-browserconfig.html#cfn-synthetics-canary-browserconfig-browsertype
|
|
2355
|
+
'''
|
|
2356
|
+
result = self._values.get("browser_type")
|
|
2357
|
+
assert result is not None, "Required property 'browser_type' is missing"
|
|
2358
|
+
return typing.cast(builtins.str, result)
|
|
2359
|
+
|
|
2360
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2361
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2362
|
+
|
|
2363
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2364
|
+
return not (rhs == self)
|
|
2365
|
+
|
|
2366
|
+
def __repr__(self) -> str:
|
|
2367
|
+
return "BrowserConfigProperty(%s)" % ", ".join(
|
|
2368
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2369
|
+
)
|
|
2370
|
+
|
|
1936
2371
|
@jsii.data_type(
|
|
1937
2372
|
jsii_type="aws-cdk-lib.aws_synthetics.CfnCanary.CodeProperty",
|
|
1938
2373
|
jsii_struct_bases=[],
|
|
1939
2374
|
name_mapping={
|
|
2375
|
+
"blueprint_types": "blueprintTypes",
|
|
2376
|
+
"dependencies": "dependencies",
|
|
1940
2377
|
"handler": "handler",
|
|
1941
2378
|
"s3_bucket": "s3Bucket",
|
|
1942
2379
|
"s3_key": "s3Key",
|
|
@@ -1949,7 +2386,9 @@ class CfnCanary(
|
|
|
1949
2386
|
def __init__(
|
|
1950
2387
|
self,
|
|
1951
2388
|
*,
|
|
1952
|
-
|
|
2389
|
+
blueprint_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2390
|
+
dependencies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.DependencyProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
2391
|
+
handler: typing.Optional[builtins.str] = None,
|
|
1953
2392
|
s3_bucket: typing.Optional[builtins.str] = None,
|
|
1954
2393
|
s3_key: typing.Optional[builtins.str] = None,
|
|
1955
2394
|
s3_object_version: typing.Optional[builtins.str] = None,
|
|
@@ -1960,10 +2399,12 @@ class CfnCanary(
|
|
|
1960
2399
|
|
|
1961
2400
|
This structure contains the Lambda handler with the location where the canary should start running the script. If the script is stored in an S3 bucket, the bucket name, key, and version are also included. If the script is passed into the canary directly, the script code is contained in the value of ``Script`` .
|
|
1962
2401
|
|
|
1963
|
-
:param
|
|
2402
|
+
:param blueprint_types: ``BlueprintTypes`` are a list of templates that enable simplified canary creation. You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. ``multi-checks`` is the only supported value. When you specify ``BlueprintTypes`` , the ``Handler`` field cannot be specified since the blueprint provides a pre-defined entry point.
|
|
2403
|
+
:param dependencies: List of Lambda layers to attach to the canary.
|
|
2404
|
+
:param handler: The entry point to use for the source code when running the canary. For canaries that use the ``syn-python-selenium-1.0`` runtime or a ``syn-nodejs.puppeteer`` runtime earlier than ``syn-nodejs.puppeteer-3.4`` , the handler must be specified as ``*fileName* .handler`` . For ``syn-python-selenium-1.1`` , ``syn-nodejs.puppeteer-3.4`` , and later runtimes, the handler can be specified as ``*fileName* . *functionName*`` , or you can specify a folder where canary scripts reside as ``*folder* / *fileName* . *functionName*`` . This field is required when you don't specify ``BlueprintTypes`` and is not allowed when you specify ``BlueprintTypes`` .
|
|
1964
2405
|
:param s3_bucket: If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
|
|
1965
|
-
:param s3_key: The S3 key of your script. For more information, see `Working with Amazon S3 Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html>`_ .
|
|
1966
|
-
:param s3_object_version: The S3 version ID of your script.
|
|
2406
|
+
:param s3_key: The Amazon S3 key of your script. For more information, see `Working with Amazon S3 Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html>`_ .
|
|
2407
|
+
:param s3_object_version: The Amazon S3 version ID of your script.
|
|
1967
2408
|
:param script: If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text. It can be up to 5 MB.
|
|
1968
2409
|
:param source_location_arn: The ARN of the Lambda layer where Synthetics stores the canary script code.
|
|
1969
2410
|
|
|
@@ -1977,9 +2418,14 @@ class CfnCanary(
|
|
|
1977
2418
|
from aws_cdk import aws_synthetics as synthetics
|
|
1978
2419
|
|
|
1979
2420
|
code_property = synthetics.CfnCanary.CodeProperty(
|
|
1980
|
-
|
|
2421
|
+
blueprint_types=["blueprintTypes"],
|
|
2422
|
+
dependencies=[synthetics.CfnCanary.DependencyProperty(
|
|
2423
|
+
reference="reference",
|
|
1981
2424
|
|
|
1982
|
-
|
|
2425
|
+
# the properties below are optional
|
|
2426
|
+
type="type"
|
|
2427
|
+
)],
|
|
2428
|
+
handler="handler",
|
|
1983
2429
|
s3_bucket="s3Bucket",
|
|
1984
2430
|
s3_key="s3Key",
|
|
1985
2431
|
s3_object_version="s3ObjectVersion",
|
|
@@ -1989,88 +2435,250 @@ class CfnCanary(
|
|
|
1989
2435
|
'''
|
|
1990
2436
|
if __debug__:
|
|
1991
2437
|
type_hints = typing.get_type_hints(_typecheckingstub__3d403372a613babc1ab10717d050ec9a7f4055961f3545f2d0600d89c7b3dcc3)
|
|
2438
|
+
check_type(argname="argument blueprint_types", value=blueprint_types, expected_type=type_hints["blueprint_types"])
|
|
2439
|
+
check_type(argname="argument dependencies", value=dependencies, expected_type=type_hints["dependencies"])
|
|
1992
2440
|
check_type(argname="argument handler", value=handler, expected_type=type_hints["handler"])
|
|
1993
2441
|
check_type(argname="argument s3_bucket", value=s3_bucket, expected_type=type_hints["s3_bucket"])
|
|
1994
2442
|
check_type(argname="argument s3_key", value=s3_key, expected_type=type_hints["s3_key"])
|
|
1995
2443
|
check_type(argname="argument s3_object_version", value=s3_object_version, expected_type=type_hints["s3_object_version"])
|
|
1996
2444
|
check_type(argname="argument script", value=script, expected_type=type_hints["script"])
|
|
1997
2445
|
check_type(argname="argument source_location_arn", value=source_location_arn, expected_type=type_hints["source_location_arn"])
|
|
2446
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2447
|
+
if blueprint_types is not None:
|
|
2448
|
+
self._values["blueprint_types"] = blueprint_types
|
|
2449
|
+
if dependencies is not None:
|
|
2450
|
+
self._values["dependencies"] = dependencies
|
|
2451
|
+
if handler is not None:
|
|
2452
|
+
self._values["handler"] = handler
|
|
2453
|
+
if s3_bucket is not None:
|
|
2454
|
+
self._values["s3_bucket"] = s3_bucket
|
|
2455
|
+
if s3_key is not None:
|
|
2456
|
+
self._values["s3_key"] = s3_key
|
|
2457
|
+
if s3_object_version is not None:
|
|
2458
|
+
self._values["s3_object_version"] = s3_object_version
|
|
2459
|
+
if script is not None:
|
|
2460
|
+
self._values["script"] = script
|
|
2461
|
+
if source_location_arn is not None:
|
|
2462
|
+
self._values["source_location_arn"] = source_location_arn
|
|
2463
|
+
|
|
2464
|
+
@builtins.property
|
|
2465
|
+
def blueprint_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2466
|
+
'''``BlueprintTypes`` are a list of templates that enable simplified canary creation.
|
|
2467
|
+
|
|
2468
|
+
You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. ``multi-checks`` is the only supported value.
|
|
2469
|
+
|
|
2470
|
+
When you specify ``BlueprintTypes`` , the ``Handler`` field cannot be specified since the blueprint provides a pre-defined entry point.
|
|
2471
|
+
|
|
2472
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-blueprinttypes
|
|
2473
|
+
'''
|
|
2474
|
+
result = self._values.get("blueprint_types")
|
|
2475
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2476
|
+
|
|
2477
|
+
@builtins.property
|
|
2478
|
+
def dependencies(
|
|
2479
|
+
self,
|
|
2480
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.DependencyProperty"]]]]:
|
|
2481
|
+
'''List of Lambda layers to attach to the canary.
|
|
2482
|
+
|
|
2483
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-dependencies
|
|
2484
|
+
'''
|
|
2485
|
+
result = self._values.get("dependencies")
|
|
2486
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.DependencyProperty"]]]], result)
|
|
2487
|
+
|
|
2488
|
+
@builtins.property
|
|
2489
|
+
def handler(self) -> typing.Optional[builtins.str]:
|
|
2490
|
+
'''The entry point to use for the source code when running the canary.
|
|
2491
|
+
|
|
2492
|
+
For canaries that use the ``syn-python-selenium-1.0`` runtime or a ``syn-nodejs.puppeteer`` runtime earlier than ``syn-nodejs.puppeteer-3.4`` , the handler must be specified as ``*fileName* .handler`` . For ``syn-python-selenium-1.1`` , ``syn-nodejs.puppeteer-3.4`` , and later runtimes, the handler can be specified as ``*fileName* . *functionName*`` , or you can specify a folder where canary scripts reside as ``*folder* / *fileName* . *functionName*`` .
|
|
2493
|
+
|
|
2494
|
+
This field is required when you don't specify ``BlueprintTypes`` and is not allowed when you specify ``BlueprintTypes`` .
|
|
2495
|
+
|
|
2496
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-handler
|
|
2497
|
+
'''
|
|
2498
|
+
result = self._values.get("handler")
|
|
2499
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2500
|
+
|
|
2501
|
+
@builtins.property
|
|
2502
|
+
def s3_bucket(self) -> typing.Optional[builtins.str]:
|
|
2503
|
+
'''If your canary script is located in S3, specify the bucket name here.
|
|
2504
|
+
|
|
2505
|
+
The bucket must already exist.
|
|
2506
|
+
|
|
2507
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3bucket
|
|
2508
|
+
'''
|
|
2509
|
+
result = self._values.get("s3_bucket")
|
|
2510
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2511
|
+
|
|
2512
|
+
@builtins.property
|
|
2513
|
+
def s3_key(self) -> typing.Optional[builtins.str]:
|
|
2514
|
+
'''The Amazon S3 key of your script.
|
|
2515
|
+
|
|
2516
|
+
For more information, see `Working with Amazon S3 Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html>`_ .
|
|
2517
|
+
|
|
2518
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3key
|
|
2519
|
+
'''
|
|
2520
|
+
result = self._values.get("s3_key")
|
|
2521
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2522
|
+
|
|
2523
|
+
@builtins.property
|
|
2524
|
+
def s3_object_version(self) -> typing.Optional[builtins.str]:
|
|
2525
|
+
'''The Amazon S3 version ID of your script.
|
|
2526
|
+
|
|
2527
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3objectversion
|
|
2528
|
+
'''
|
|
2529
|
+
result = self._values.get("s3_object_version")
|
|
2530
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2531
|
+
|
|
2532
|
+
@builtins.property
|
|
2533
|
+
def script(self) -> typing.Optional[builtins.str]:
|
|
2534
|
+
'''If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text.
|
|
2535
|
+
|
|
2536
|
+
It can be up to 5 MB.
|
|
2537
|
+
|
|
2538
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-script
|
|
2539
|
+
'''
|
|
2540
|
+
result = self._values.get("script")
|
|
2541
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2542
|
+
|
|
2543
|
+
@builtins.property
|
|
2544
|
+
def source_location_arn(self) -> typing.Optional[builtins.str]:
|
|
2545
|
+
'''The ARN of the Lambda layer where Synthetics stores the canary script code.
|
|
2546
|
+
|
|
2547
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-sourcelocationarn
|
|
2548
|
+
'''
|
|
2549
|
+
result = self._values.get("source_location_arn")
|
|
2550
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2551
|
+
|
|
2552
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2553
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2554
|
+
|
|
2555
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2556
|
+
return not (rhs == self)
|
|
2557
|
+
|
|
2558
|
+
def __repr__(self) -> str:
|
|
2559
|
+
return "CodeProperty(%s)" % ", ".join(
|
|
2560
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2561
|
+
)
|
|
2562
|
+
|
|
2563
|
+
@jsii.data_type(
|
|
2564
|
+
jsii_type="aws-cdk-lib.aws_synthetics.CfnCanary.DependencyProperty",
|
|
2565
|
+
jsii_struct_bases=[],
|
|
2566
|
+
name_mapping={"reference": "reference", "type": "type"},
|
|
2567
|
+
)
|
|
2568
|
+
class DependencyProperty:
|
|
2569
|
+
def __init__(
|
|
2570
|
+
self,
|
|
2571
|
+
*,
|
|
2572
|
+
reference: builtins.str,
|
|
2573
|
+
type: typing.Optional[builtins.str] = None,
|
|
2574
|
+
) -> None:
|
|
2575
|
+
'''A structure that contains information about a dependency for a canary.
|
|
2576
|
+
|
|
2577
|
+
:param reference: The dependency reference. For Lambda layers, this is the ARN of the Lambda layer. For more information about Lambda ARN format, see `Lambda <https://docs.aws.amazon.com/lambda/latest/api/API_Layer.html>`_ .
|
|
2578
|
+
:param type: The type of dependency. Valid value is ``LambdaLayer`` .
|
|
2579
|
+
|
|
2580
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-dependency.html
|
|
2581
|
+
:exampleMetadata: fixture=_generated
|
|
2582
|
+
|
|
2583
|
+
Example::
|
|
2584
|
+
|
|
2585
|
+
# The code below shows an example of how to instantiate this type.
|
|
2586
|
+
# The values are placeholders you should change.
|
|
2587
|
+
from aws_cdk import aws_synthetics as synthetics
|
|
2588
|
+
|
|
2589
|
+
dependency_property = synthetics.CfnCanary.DependencyProperty(
|
|
2590
|
+
reference="reference",
|
|
2591
|
+
|
|
2592
|
+
# the properties below are optional
|
|
2593
|
+
type="type"
|
|
2594
|
+
)
|
|
2595
|
+
'''
|
|
2596
|
+
if __debug__:
|
|
2597
|
+
type_hints = typing.get_type_hints(_typecheckingstub__02338e317b0b84f714774aabea98599cd96fe9cff23790733ad426e75f9984f4)
|
|
2598
|
+
check_type(argname="argument reference", value=reference, expected_type=type_hints["reference"])
|
|
2599
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
1998
2600
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1999
|
-
"
|
|
2601
|
+
"reference": reference,
|
|
2000
2602
|
}
|
|
2001
|
-
if
|
|
2002
|
-
self._values["
|
|
2003
|
-
if s3_key is not None:
|
|
2004
|
-
self._values["s3_key"] = s3_key
|
|
2005
|
-
if s3_object_version is not None:
|
|
2006
|
-
self._values["s3_object_version"] = s3_object_version
|
|
2007
|
-
if script is not None:
|
|
2008
|
-
self._values["script"] = script
|
|
2009
|
-
if source_location_arn is not None:
|
|
2010
|
-
self._values["source_location_arn"] = source_location_arn
|
|
2603
|
+
if type is not None:
|
|
2604
|
+
self._values["type"] = type
|
|
2011
2605
|
|
|
2012
2606
|
@builtins.property
|
|
2013
|
-
def
|
|
2014
|
-
'''The
|
|
2607
|
+
def reference(self) -> builtins.str:
|
|
2608
|
+
'''The dependency reference.
|
|
2015
2609
|
|
|
2016
|
-
For
|
|
2610
|
+
For Lambda layers, this is the ARN of the Lambda layer. For more information about Lambda ARN format, see `Lambda <https://docs.aws.amazon.com/lambda/latest/api/API_Layer.html>`_ .
|
|
2017
2611
|
|
|
2018
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-
|
|
2612
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-dependency.html#cfn-synthetics-canary-dependency-reference
|
|
2019
2613
|
'''
|
|
2020
|
-
result = self._values.get("
|
|
2021
|
-
assert result is not None, "Required property '
|
|
2614
|
+
result = self._values.get("reference")
|
|
2615
|
+
assert result is not None, "Required property 'reference' is missing"
|
|
2022
2616
|
return typing.cast(builtins.str, result)
|
|
2023
2617
|
|
|
2024
2618
|
@builtins.property
|
|
2025
|
-
def
|
|
2026
|
-
'''
|
|
2619
|
+
def type(self) -> typing.Optional[builtins.str]:
|
|
2620
|
+
'''The type of dependency.
|
|
2027
2621
|
|
|
2028
|
-
|
|
2622
|
+
Valid value is ``LambdaLayer`` .
|
|
2029
2623
|
|
|
2030
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-
|
|
2624
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-dependency.html#cfn-synthetics-canary-dependency-type
|
|
2031
2625
|
'''
|
|
2032
|
-
result = self._values.get("
|
|
2626
|
+
result = self._values.get("type")
|
|
2033
2627
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2034
2628
|
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
'''The S3 key of your script.
|
|
2629
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2630
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2038
2631
|
|
|
2039
|
-
|
|
2632
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2633
|
+
return not (rhs == self)
|
|
2040
2634
|
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2635
|
+
def __repr__(self) -> str:
|
|
2636
|
+
return "DependencyProperty(%s)" % ", ".join(
|
|
2637
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2638
|
+
)
|
|
2045
2639
|
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2640
|
+
@jsii.data_type(
|
|
2641
|
+
jsii_type="aws-cdk-lib.aws_synthetics.CfnCanary.RetryConfigProperty",
|
|
2642
|
+
jsii_struct_bases=[],
|
|
2643
|
+
name_mapping={"max_retries": "maxRetries"},
|
|
2644
|
+
)
|
|
2645
|
+
class RetryConfigProperty:
|
|
2646
|
+
def __init__(self, *, max_retries: jsii.Number) -> None:
|
|
2647
|
+
'''The canary's retry configuration information.
|
|
2049
2648
|
|
|
2050
|
-
:
|
|
2051
|
-
'''
|
|
2052
|
-
result = self._values.get("s3_object_version")
|
|
2053
|
-
return typing.cast(typing.Optional[builtins.str], result)
|
|
2649
|
+
:param max_retries: The maximum number of retries. The value must be less than or equal to two.
|
|
2054
2650
|
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
'''If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text.
|
|
2651
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-retryconfig.html
|
|
2652
|
+
:exampleMetadata: fixture=_generated
|
|
2058
2653
|
|
|
2059
|
-
|
|
2654
|
+
Example::
|
|
2060
2655
|
|
|
2061
|
-
|
|
2656
|
+
# The code below shows an example of how to instantiate this type.
|
|
2657
|
+
# The values are placeholders you should change.
|
|
2658
|
+
from aws_cdk import aws_synthetics as synthetics
|
|
2659
|
+
|
|
2660
|
+
retry_config_property = synthetics.CfnCanary.RetryConfigProperty(
|
|
2661
|
+
max_retries=123
|
|
2662
|
+
)
|
|
2062
2663
|
'''
|
|
2063
|
-
|
|
2064
|
-
|
|
2664
|
+
if __debug__:
|
|
2665
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e7a2c989ca2c701e49af0e8032c8c49bb52546c68c9e6359df8e7a9f2c4cf9a1)
|
|
2666
|
+
check_type(argname="argument max_retries", value=max_retries, expected_type=type_hints["max_retries"])
|
|
2667
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2668
|
+
"max_retries": max_retries,
|
|
2669
|
+
}
|
|
2065
2670
|
|
|
2066
2671
|
@builtins.property
|
|
2067
|
-
def
|
|
2068
|
-
'''The
|
|
2672
|
+
def max_retries(self) -> jsii.Number:
|
|
2673
|
+
'''The maximum number of retries.
|
|
2069
2674
|
|
|
2070
|
-
|
|
2675
|
+
The value must be less than or equal to two.
|
|
2676
|
+
|
|
2677
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-retryconfig.html#cfn-synthetics-canary-retryconfig-maxretries
|
|
2071
2678
|
'''
|
|
2072
|
-
result = self._values.get("
|
|
2073
|
-
|
|
2679
|
+
result = self._values.get("max_retries")
|
|
2680
|
+
assert result is not None, "Required property 'max_retries' is missing"
|
|
2681
|
+
return typing.cast(jsii.Number, result)
|
|
2074
2682
|
|
|
2075
2683
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2076
2684
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -2079,7 +2687,7 @@ class CfnCanary(
|
|
|
2079
2687
|
return not (rhs == self)
|
|
2080
2688
|
|
|
2081
2689
|
def __repr__(self) -> str:
|
|
2082
|
-
return "
|
|
2690
|
+
return "RetryConfigProperty(%s)" % ", ".join(
|
|
2083
2691
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
2084
2692
|
)
|
|
2085
2693
|
|
|
@@ -2089,6 +2697,7 @@ class CfnCanary(
|
|
|
2089
2697
|
name_mapping={
|
|
2090
2698
|
"active_tracing": "activeTracing",
|
|
2091
2699
|
"environment_variables": "environmentVariables",
|
|
2700
|
+
"ephemeral_storage": "ephemeralStorage",
|
|
2092
2701
|
"memory_in_mb": "memoryInMb",
|
|
2093
2702
|
"timeout_in_seconds": "timeoutInSeconds",
|
|
2094
2703
|
},
|
|
@@ -2099,6 +2708,7 @@ class CfnCanary(
|
|
|
2099
2708
|
*,
|
|
2100
2709
|
active_tracing: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2101
2710
|
environment_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
|
|
2711
|
+
ephemeral_storage: typing.Optional[jsii.Number] = None,
|
|
2102
2712
|
memory_in_mb: typing.Optional[jsii.Number] = None,
|
|
2103
2713
|
timeout_in_seconds: typing.Optional[jsii.Number] = None,
|
|
2104
2714
|
) -> None:
|
|
@@ -2108,6 +2718,7 @@ class CfnCanary(
|
|
|
2108
2718
|
|
|
2109
2719
|
:param active_tracing: Specifies whether this canary is to use active AWS X-Ray tracing when it runs. Active tracing enables this canary run to be displayed in the ServiceLens and X-Ray service maps even if the canary does not hit an endpoint that has X-Ray tracing enabled. Using X-Ray tracing incurs charges. For more information, see `Canaries and X-Ray tracing <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_tracing.html>`_ . You can enable active tracing only for canaries that use version ``syn-nodejs-2.0`` or later for their canary runtime.
|
|
2110
2720
|
:param environment_variables: Specifies the keys and values to use for any environment variables used in the canary script. Use the following format: { "key1" : "value1", "key2" : "value2", ...} Keys must start with a letter and be at least two characters. The total size of your environment variables cannot exceed 4 KB. You can't specify any Lambda reserved environment variables as the keys for your environment variables. For more information about reserved keys, see `Runtime environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime>`_ .
|
|
2721
|
+
:param ephemeral_storage: Specifies the amount of ephemeral storage (in MB) to allocate for the canary run during execution. This temporary storage is used for storing canary run artifacts (which are uploaded to an Amazon S3 bucket at the end of the run), and any canary browser operations. This temporary storage is cleared after the run is completed. Default storage value is 1024 MB.
|
|
2111
2722
|
:param memory_in_mb: The maximum amount of memory that the canary can use while running. This value must be a multiple of 64. The range is 960 to 3008.
|
|
2112
2723
|
:param timeout_in_seconds: How long the canary is allowed to run before it must stop. You can't set this time to be longer than the frequency of the runs of this canary. If you omit this field, the frequency of the canary is used as this value, up to a maximum of 900 seconds.
|
|
2113
2724
|
|
|
@@ -2125,6 +2736,7 @@ class CfnCanary(
|
|
|
2125
2736
|
environment_variables={
|
|
2126
2737
|
"environment_variables_key": "environmentVariables"
|
|
2127
2738
|
},
|
|
2739
|
+
ephemeral_storage=123,
|
|
2128
2740
|
memory_in_mb=123,
|
|
2129
2741
|
timeout_in_seconds=123
|
|
2130
2742
|
)
|
|
@@ -2133,6 +2745,7 @@ class CfnCanary(
|
|
|
2133
2745
|
type_hints = typing.get_type_hints(_typecheckingstub__fa148862e82948accbbe951e7afcee721aa7014754c81106d2648fe1c5cf28e2)
|
|
2134
2746
|
check_type(argname="argument active_tracing", value=active_tracing, expected_type=type_hints["active_tracing"])
|
|
2135
2747
|
check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
|
|
2748
|
+
check_type(argname="argument ephemeral_storage", value=ephemeral_storage, expected_type=type_hints["ephemeral_storage"])
|
|
2136
2749
|
check_type(argname="argument memory_in_mb", value=memory_in_mb, expected_type=type_hints["memory_in_mb"])
|
|
2137
2750
|
check_type(argname="argument timeout_in_seconds", value=timeout_in_seconds, expected_type=type_hints["timeout_in_seconds"])
|
|
2138
2751
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
@@ -2140,6 +2753,8 @@ class CfnCanary(
|
|
|
2140
2753
|
self._values["active_tracing"] = active_tracing
|
|
2141
2754
|
if environment_variables is not None:
|
|
2142
2755
|
self._values["environment_variables"] = environment_variables
|
|
2756
|
+
if ephemeral_storage is not None:
|
|
2757
|
+
self._values["ephemeral_storage"] = ephemeral_storage
|
|
2143
2758
|
if memory_in_mb is not None:
|
|
2144
2759
|
self._values["memory_in_mb"] = memory_in_mb
|
|
2145
2760
|
if timeout_in_seconds is not None:
|
|
@@ -2177,6 +2792,17 @@ class CfnCanary(
|
|
|
2177
2792
|
result = self._values.get("environment_variables")
|
|
2178
2793
|
return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
|
|
2179
2794
|
|
|
2795
|
+
@builtins.property
|
|
2796
|
+
def ephemeral_storage(self) -> typing.Optional[jsii.Number]:
|
|
2797
|
+
'''Specifies the amount of ephemeral storage (in MB) to allocate for the canary run during execution.
|
|
2798
|
+
|
|
2799
|
+
This temporary storage is used for storing canary run artifacts (which are uploaded to an Amazon S3 bucket at the end of the run), and any canary browser operations. This temporary storage is cleared after the run is completed. Default storage value is 1024 MB.
|
|
2800
|
+
|
|
2801
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-ephemeralstorage
|
|
2802
|
+
'''
|
|
2803
|
+
result = self._values.get("ephemeral_storage")
|
|
2804
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2805
|
+
|
|
2180
2806
|
@builtins.property
|
|
2181
2807
|
def memory_in_mb(self) -> typing.Optional[jsii.Number]:
|
|
2182
2808
|
'''The maximum amount of memory that the canary can use while running.
|
|
@@ -2294,6 +2920,7 @@ class CfnCanary(
|
|
|
2294
2920
|
name_mapping={
|
|
2295
2921
|
"expression": "expression",
|
|
2296
2922
|
"duration_in_seconds": "durationInSeconds",
|
|
2923
|
+
"retry_config": "retryConfig",
|
|
2297
2924
|
},
|
|
2298
2925
|
)
|
|
2299
2926
|
class ScheduleProperty:
|
|
@@ -2302,11 +2929,13 @@ class CfnCanary(
|
|
|
2302
2929
|
*,
|
|
2303
2930
|
expression: builtins.str,
|
|
2304
2931
|
duration_in_seconds: typing.Optional[builtins.str] = None,
|
|
2932
|
+
retry_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.RetryConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2305
2933
|
) -> None:
|
|
2306
2934
|
'''This structure specifies how often a canary is to make runs and the date and time when it should stop making runs.
|
|
2307
2935
|
|
|
2308
2936
|
:param expression: A ``rate`` expression or a ``cron`` expression that defines how often the canary is to run. For a rate expression, The syntax is ``rate( *number unit* )`` . *unit* can be ``minute`` , ``minutes`` , or ``hour`` . For example, ``rate(1 minute)`` runs the canary once a minute, ``rate(10 minutes)`` runs it once every 10 minutes, and ``rate(1 hour)`` runs it once every hour. You can specify a frequency between ``rate(1 minute)`` and ``rate(1 hour)`` . Specifying ``rate(0 minute)`` or ``rate(0 hour)`` is a special value that causes the canary to run only once when it is started. Use ``cron( *expression* )`` to specify a cron expression. You can't schedule a canary to wait for more than a year before running. For information about the syntax for cron expressions, see `Scheduling canary runs using cron <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html>`_ .
|
|
2309
2937
|
:param duration_in_seconds: How long, in seconds, for the canary to continue making regular runs according to the schedule in the ``Expression`` value. If you specify 0, the canary continues making runs until you stop it. If you omit this field, the default of 0 is used.
|
|
2938
|
+
:param retry_config: The canary's retry configuration information.
|
|
2310
2939
|
|
|
2311
2940
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html
|
|
2312
2941
|
:exampleMetadata: fixture=_generated
|
|
@@ -2321,18 +2950,24 @@ class CfnCanary(
|
|
|
2321
2950
|
expression="expression",
|
|
2322
2951
|
|
|
2323
2952
|
# the properties below are optional
|
|
2324
|
-
duration_in_seconds="durationInSeconds"
|
|
2953
|
+
duration_in_seconds="durationInSeconds",
|
|
2954
|
+
retry_config=synthetics.CfnCanary.RetryConfigProperty(
|
|
2955
|
+
max_retries=123
|
|
2956
|
+
)
|
|
2325
2957
|
)
|
|
2326
2958
|
'''
|
|
2327
2959
|
if __debug__:
|
|
2328
2960
|
type_hints = typing.get_type_hints(_typecheckingstub__e4999288d0e0c5de04c56a3436208778026602dfdca27710aee93f9f4e034c29)
|
|
2329
2961
|
check_type(argname="argument expression", value=expression, expected_type=type_hints["expression"])
|
|
2330
2962
|
check_type(argname="argument duration_in_seconds", value=duration_in_seconds, expected_type=type_hints["duration_in_seconds"])
|
|
2963
|
+
check_type(argname="argument retry_config", value=retry_config, expected_type=type_hints["retry_config"])
|
|
2331
2964
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2332
2965
|
"expression": expression,
|
|
2333
2966
|
}
|
|
2334
2967
|
if duration_in_seconds is not None:
|
|
2335
2968
|
self._values["duration_in_seconds"] = duration_in_seconds
|
|
2969
|
+
if retry_config is not None:
|
|
2970
|
+
self._values["retry_config"] = retry_config
|
|
2336
2971
|
|
|
2337
2972
|
@builtins.property
|
|
2338
2973
|
def expression(self) -> builtins.str:
|
|
@@ -2363,6 +2998,17 @@ class CfnCanary(
|
|
|
2363
2998
|
result = self._values.get("duration_in_seconds")
|
|
2364
2999
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2365
3000
|
|
|
3001
|
+
@builtins.property
|
|
3002
|
+
def retry_config(
|
|
3003
|
+
self,
|
|
3004
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.RetryConfigProperty"]]:
|
|
3005
|
+
'''The canary's retry configuration information.
|
|
3006
|
+
|
|
3007
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-retryconfig
|
|
3008
|
+
'''
|
|
3009
|
+
result = self._values.get("retry_config")
|
|
3010
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.RetryConfigProperty"]], result)
|
|
3011
|
+
|
|
2366
3012
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2367
3013
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2368
3014
|
|
|
@@ -2399,7 +3045,7 @@ class CfnCanary(
|
|
|
2399
3045
|
|
|
2400
3046
|
:param security_group_ids: The IDs of the security groups for this canary.
|
|
2401
3047
|
:param subnet_ids: The IDs of the subnets where this canary is to run.
|
|
2402
|
-
:param ipv6_allowed_for_dual_stack:
|
|
3048
|
+
:param ipv6_allowed_for_dual_stack: Set this to ``true`` to allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets. The default is ``false`` .
|
|
2403
3049
|
:param vpc_id: The ID of the VPC where this canary is to run.
|
|
2404
3050
|
|
|
2405
3051
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html
|
|
@@ -2459,7 +3105,9 @@ class CfnCanary(
|
|
|
2459
3105
|
def ipv6_allowed_for_dual_stack(
|
|
2460
3106
|
self,
|
|
2461
3107
|
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
2462
|
-
'''
|
|
3108
|
+
'''Set this to ``true`` to allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets.
|
|
3109
|
+
|
|
3110
|
+
The default is ``false`` .
|
|
2463
3111
|
|
|
2464
3112
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-ipv6allowedfordualstack
|
|
2465
3113
|
'''
|
|
@@ -2492,6 +3140,7 @@ class CfnCanary(
|
|
|
2492
3140
|
name_mapping={
|
|
2493
3141
|
"base_canary_run_id": "baseCanaryRunId",
|
|
2494
3142
|
"base_screenshots": "baseScreenshots",
|
|
3143
|
+
"browser_type": "browserType",
|
|
2495
3144
|
},
|
|
2496
3145
|
)
|
|
2497
3146
|
class VisualReferenceProperty:
|
|
@@ -2500,6 +3149,7 @@ class CfnCanary(
|
|
|
2500
3149
|
*,
|
|
2501
3150
|
base_canary_run_id: builtins.str,
|
|
2502
3151
|
base_screenshots: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.BaseScreenshotProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3152
|
+
browser_type: typing.Optional[builtins.str] = None,
|
|
2503
3153
|
) -> None:
|
|
2504
3154
|
'''Defines the screenshots to use as the baseline for comparisons during visual monitoring comparisons during future runs of this canary.
|
|
2505
3155
|
|
|
@@ -2509,6 +3159,7 @@ class CfnCanary(
|
|
|
2509
3159
|
|
|
2510
3160
|
:param base_canary_run_id: Specifies which canary run to use the screenshots from as the baseline for future visual monitoring with this canary. Valid values are ``nextrun`` to use the screenshots from the next run after this update is made, ``lastrun`` to use the screenshots from the most recent run before this update was made, or the value of ``Id`` in the `CanaryRun <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_CanaryRun.html>`_ from any past run of this canary.
|
|
2511
3161
|
:param base_screenshots: An array of screenshots that are used as the baseline for comparisons during visual monitoring.
|
|
3162
|
+
:param browser_type: The browser type associated with this visual reference configuration. Valid values are ``CHROME`` and ``FIREFOX`` .
|
|
2512
3163
|
|
|
2513
3164
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-visualreference.html
|
|
2514
3165
|
:exampleMetadata: fixture=_generated
|
|
@@ -2528,18 +3179,22 @@ class CfnCanary(
|
|
|
2528
3179
|
|
|
2529
3180
|
# the properties below are optional
|
|
2530
3181
|
ignore_coordinates=["ignoreCoordinates"]
|
|
2531
|
-
)]
|
|
3182
|
+
)],
|
|
3183
|
+
browser_type="browserType"
|
|
2532
3184
|
)
|
|
2533
3185
|
'''
|
|
2534
3186
|
if __debug__:
|
|
2535
3187
|
type_hints = typing.get_type_hints(_typecheckingstub__f52b6b7318141dc99f6bd36c21b91cda286b67d7dea805791a6132a2cd794526)
|
|
2536
3188
|
check_type(argname="argument base_canary_run_id", value=base_canary_run_id, expected_type=type_hints["base_canary_run_id"])
|
|
2537
3189
|
check_type(argname="argument base_screenshots", value=base_screenshots, expected_type=type_hints["base_screenshots"])
|
|
3190
|
+
check_type(argname="argument browser_type", value=browser_type, expected_type=type_hints["browser_type"])
|
|
2538
3191
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2539
3192
|
"base_canary_run_id": base_canary_run_id,
|
|
2540
3193
|
}
|
|
2541
3194
|
if base_screenshots is not None:
|
|
2542
3195
|
self._values["base_screenshots"] = base_screenshots
|
|
3196
|
+
if browser_type is not None:
|
|
3197
|
+
self._values["browser_type"] = browser_type
|
|
2543
3198
|
|
|
2544
3199
|
@builtins.property
|
|
2545
3200
|
def base_canary_run_id(self) -> builtins.str:
|
|
@@ -2564,6 +3219,17 @@ class CfnCanary(
|
|
|
2564
3219
|
result = self._values.get("base_screenshots")
|
|
2565
3220
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.BaseScreenshotProperty"]]]], result)
|
|
2566
3221
|
|
|
3222
|
+
@builtins.property
|
|
3223
|
+
def browser_type(self) -> typing.Optional[builtins.str]:
|
|
3224
|
+
'''The browser type associated with this visual reference configuration.
|
|
3225
|
+
|
|
3226
|
+
Valid values are ``CHROME`` and ``FIREFOX`` .
|
|
3227
|
+
|
|
3228
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-visualreference.html#cfn-synthetics-canary-visualreference-browsertype
|
|
3229
|
+
'''
|
|
3230
|
+
result = self._values.get("browser_type")
|
|
3231
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3232
|
+
|
|
2567
3233
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2568
3234
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2569
3235
|
|
|
@@ -2587,7 +3253,9 @@ class CfnCanary(
|
|
|
2587
3253
|
"runtime_version": "runtimeVersion",
|
|
2588
3254
|
"schedule": "schedule",
|
|
2589
3255
|
"artifact_config": "artifactConfig",
|
|
3256
|
+
"browser_configs": "browserConfigs",
|
|
2590
3257
|
"delete_lambda_resources_on_canary_deletion": "deleteLambdaResourcesOnCanaryDeletion",
|
|
3258
|
+
"dry_run_and_update": "dryRunAndUpdate",
|
|
2591
3259
|
"failure_retention_period": "failureRetentionPeriod",
|
|
2592
3260
|
"provisioned_resource_cleanup": "provisionedResourceCleanup",
|
|
2593
3261
|
"resources_to_replicate_tags": "resourcesToReplicateTags",
|
|
@@ -2596,6 +3264,7 @@ class CfnCanary(
|
|
|
2596
3264
|
"success_retention_period": "successRetentionPeriod",
|
|
2597
3265
|
"tags": "tags",
|
|
2598
3266
|
"visual_reference": "visualReference",
|
|
3267
|
+
"visual_references": "visualReferences",
|
|
2599
3268
|
"vpc_config": "vpcConfig",
|
|
2600
3269
|
},
|
|
2601
3270
|
)
|
|
@@ -2610,7 +3279,9 @@ class CfnCanaryProps:
|
|
|
2610
3279
|
runtime_version: builtins.str,
|
|
2611
3280
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
2612
3281
|
artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ArtifactConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3282
|
+
browser_configs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.BrowserConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
2613
3283
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
3284
|
+
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2614
3285
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
2615
3286
|
provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
|
|
2616
3287
|
resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -2619,6 +3290,7 @@ class CfnCanaryProps:
|
|
|
2619
3290
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
2620
3291
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2621
3292
|
visual_reference: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VisualReferenceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3293
|
+
visual_references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VisualReferenceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
2622
3294
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VPCConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2623
3295
|
) -> None:
|
|
2624
3296
|
'''Properties for defining a ``CfnCanary``.
|
|
@@ -2630,7 +3302,9 @@ class CfnCanaryProps:
|
|
|
2630
3302
|
:param runtime_version: Specifies the runtime version to use for the canary. For more information about runtime versions, see `Canary Runtime Versions <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html>`_ .
|
|
2631
3303
|
:param schedule: A structure that contains information about how often the canary is to run, and when these runs are to stop.
|
|
2632
3304
|
:param artifact_config: A structure that contains the configuration for canary artifacts, including the encryption-at-rest settings for artifacts that the canary uploads to Amazon S3.
|
|
3305
|
+
:param browser_configs: A structure that specifies the browser type to use for a canary run. CloudWatch Synthetics supports running canaries on both ``CHROME`` and ``FIREFOX`` browsers. .. epigraph:: If not specified, ``browserConfigs`` defaults to Chrome.
|
|
2633
3306
|
:param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
|
|
3307
|
+
:param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to ``true`` , CloudFormation will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason. If set to ``false`` or omitted, the canary will be updated directly without first performing a dry run. The default value is ``false`` . For more information, see `Performing safe canary updates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html>`_ .
|
|
2634
3308
|
:param failure_retention_period: The number of days to retain data about failed runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days. This setting affects the range of information returned by `GetCanaryRuns <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html>`_ , as well as the range of information displayed in the Synthetics console.
|
|
2635
3309
|
:param provisioned_resource_cleanup: Specifies whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. If it is ``AUTOMATIC`` , the Lambda functions and layers will be deleted when the canary is deleted. If the value of this parameter is ``OFF`` , then the value of the ``DeleteLambda`` parameter of the `DeleteCanary <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html>`_ operation determines whether the Lambda functions and layers will be deleted.
|
|
2636
3310
|
:param resources_to_replicate_tags: To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ``lambda-function`` . If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function.
|
|
@@ -2638,7 +3312,8 @@ class CfnCanaryProps:
|
|
|
2638
3312
|
:param start_canary_after_creation: Specify TRUE to have the canary start making runs immediately after it is created. A canary that you create using CloudFormation can't be used to monitor the CloudFormation stack that creates the canary or to roll back that stack if there is a failure.
|
|
2639
3313
|
:param success_retention_period: The number of days to retain data about successful runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days. This setting affects the range of information returned by `GetCanaryRuns <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html>`_ , as well as the range of information displayed in the Synthetics console.
|
|
2640
3314
|
:param tags: The list of key-value pairs that are associated with the canary.
|
|
2641
|
-
:param visual_reference:
|
|
3315
|
+
:param visual_reference:
|
|
3316
|
+
:param visual_references: A list of visual reference configurations for the canary, one for each browser type that the canary is configured to run on. Visual references are used for visual monitoring comparisons. ``syn-nodejs-puppeteer-11.0`` and above, and ``syn-nodejs-playwright-3.0`` and above, only supports ``visualReferences`` . ``visualReference`` field is not supported. Versions older than ``syn-nodejs-puppeteer-11.0`` supports both ``visualReference`` and ``visualReferences`` for backward compatibility. It is recommended to use ``visualReferences`` for consistency and future compatibility.
|
|
2642
3317
|
:param vpc_config: If this canary is to test an endpoint in a VPC, this structure contains information about the subnet and security groups of the VPC endpoint. For more information, see `Running a Canary in a VPC <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html>`_ .
|
|
2643
3318
|
|
|
2644
3319
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html
|
|
@@ -2653,9 +3328,14 @@ class CfnCanaryProps:
|
|
|
2653
3328
|
cfn_canary_props = synthetics.CfnCanaryProps(
|
|
2654
3329
|
artifact_s3_location="artifactS3Location",
|
|
2655
3330
|
code=synthetics.CfnCanary.CodeProperty(
|
|
2656
|
-
|
|
3331
|
+
blueprint_types=["blueprintTypes"],
|
|
3332
|
+
dependencies=[synthetics.CfnCanary.DependencyProperty(
|
|
3333
|
+
reference="reference",
|
|
2657
3334
|
|
|
2658
|
-
|
|
3335
|
+
# the properties below are optional
|
|
3336
|
+
type="type"
|
|
3337
|
+
)],
|
|
3338
|
+
handler="handler",
|
|
2659
3339
|
s3_bucket="s3Bucket",
|
|
2660
3340
|
s3_key="s3Key",
|
|
2661
3341
|
s3_object_version="s3ObjectVersion",
|
|
@@ -2669,7 +3349,10 @@ class CfnCanaryProps:
|
|
|
2669
3349
|
expression="expression",
|
|
2670
3350
|
|
|
2671
3351
|
# the properties below are optional
|
|
2672
|
-
duration_in_seconds="durationInSeconds"
|
|
3352
|
+
duration_in_seconds="durationInSeconds",
|
|
3353
|
+
retry_config=synthetics.CfnCanary.RetryConfigProperty(
|
|
3354
|
+
max_retries=123
|
|
3355
|
+
)
|
|
2673
3356
|
),
|
|
2674
3357
|
|
|
2675
3358
|
# the properties below are optional
|
|
@@ -2679,7 +3362,11 @@ class CfnCanaryProps:
|
|
|
2679
3362
|
kms_key_arn="kmsKeyArn"
|
|
2680
3363
|
)
|
|
2681
3364
|
),
|
|
3365
|
+
browser_configs=[synthetics.CfnCanary.BrowserConfigProperty(
|
|
3366
|
+
browser_type="browserType"
|
|
3367
|
+
)],
|
|
2682
3368
|
delete_lambda_resources_on_canary_deletion=False,
|
|
3369
|
+
dry_run_and_update=False,
|
|
2683
3370
|
failure_retention_period=123,
|
|
2684
3371
|
provisioned_resource_cleanup="provisionedResourceCleanup",
|
|
2685
3372
|
resources_to_replicate_tags=["resourcesToReplicateTags"],
|
|
@@ -2688,6 +3375,7 @@ class CfnCanaryProps:
|
|
|
2688
3375
|
environment_variables={
|
|
2689
3376
|
"environment_variables_key": "environmentVariables"
|
|
2690
3377
|
},
|
|
3378
|
+
ephemeral_storage=123,
|
|
2691
3379
|
memory_in_mb=123,
|
|
2692
3380
|
timeout_in_seconds=123
|
|
2693
3381
|
),
|
|
@@ -2706,8 +3394,21 @@ class CfnCanaryProps:
|
|
|
2706
3394
|
|
|
2707
3395
|
# the properties below are optional
|
|
2708
3396
|
ignore_coordinates=["ignoreCoordinates"]
|
|
2709
|
-
)]
|
|
3397
|
+
)],
|
|
3398
|
+
browser_type="browserType"
|
|
2710
3399
|
),
|
|
3400
|
+
visual_references=[synthetics.CfnCanary.VisualReferenceProperty(
|
|
3401
|
+
base_canary_run_id="baseCanaryRunId",
|
|
3402
|
+
|
|
3403
|
+
# the properties below are optional
|
|
3404
|
+
base_screenshots=[synthetics.CfnCanary.BaseScreenshotProperty(
|
|
3405
|
+
screenshot_name="screenshotName",
|
|
3406
|
+
|
|
3407
|
+
# the properties below are optional
|
|
3408
|
+
ignore_coordinates=["ignoreCoordinates"]
|
|
3409
|
+
)],
|
|
3410
|
+
browser_type="browserType"
|
|
3411
|
+
)],
|
|
2711
3412
|
vpc_config=synthetics.CfnCanary.VPCConfigProperty(
|
|
2712
3413
|
security_group_ids=["securityGroupIds"],
|
|
2713
3414
|
subnet_ids=["subnetIds"],
|
|
@@ -2727,7 +3428,9 @@ class CfnCanaryProps:
|
|
|
2727
3428
|
check_type(argname="argument runtime_version", value=runtime_version, expected_type=type_hints["runtime_version"])
|
|
2728
3429
|
check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
|
|
2729
3430
|
check_type(argname="argument artifact_config", value=artifact_config, expected_type=type_hints["artifact_config"])
|
|
3431
|
+
check_type(argname="argument browser_configs", value=browser_configs, expected_type=type_hints["browser_configs"])
|
|
2730
3432
|
check_type(argname="argument delete_lambda_resources_on_canary_deletion", value=delete_lambda_resources_on_canary_deletion, expected_type=type_hints["delete_lambda_resources_on_canary_deletion"])
|
|
3433
|
+
check_type(argname="argument dry_run_and_update", value=dry_run_and_update, expected_type=type_hints["dry_run_and_update"])
|
|
2731
3434
|
check_type(argname="argument failure_retention_period", value=failure_retention_period, expected_type=type_hints["failure_retention_period"])
|
|
2732
3435
|
check_type(argname="argument provisioned_resource_cleanup", value=provisioned_resource_cleanup, expected_type=type_hints["provisioned_resource_cleanup"])
|
|
2733
3436
|
check_type(argname="argument resources_to_replicate_tags", value=resources_to_replicate_tags, expected_type=type_hints["resources_to_replicate_tags"])
|
|
@@ -2736,6 +3439,7 @@ class CfnCanaryProps:
|
|
|
2736
3439
|
check_type(argname="argument success_retention_period", value=success_retention_period, expected_type=type_hints["success_retention_period"])
|
|
2737
3440
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
2738
3441
|
check_type(argname="argument visual_reference", value=visual_reference, expected_type=type_hints["visual_reference"])
|
|
3442
|
+
check_type(argname="argument visual_references", value=visual_references, expected_type=type_hints["visual_references"])
|
|
2739
3443
|
check_type(argname="argument vpc_config", value=vpc_config, expected_type=type_hints["vpc_config"])
|
|
2740
3444
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2741
3445
|
"artifact_s3_location": artifact_s3_location,
|
|
@@ -2747,8 +3451,12 @@ class CfnCanaryProps:
|
|
|
2747
3451
|
}
|
|
2748
3452
|
if artifact_config is not None:
|
|
2749
3453
|
self._values["artifact_config"] = artifact_config
|
|
3454
|
+
if browser_configs is not None:
|
|
3455
|
+
self._values["browser_configs"] = browser_configs
|
|
2750
3456
|
if delete_lambda_resources_on_canary_deletion is not None:
|
|
2751
3457
|
self._values["delete_lambda_resources_on_canary_deletion"] = delete_lambda_resources_on_canary_deletion
|
|
3458
|
+
if dry_run_and_update is not None:
|
|
3459
|
+
self._values["dry_run_and_update"] = dry_run_and_update
|
|
2752
3460
|
if failure_retention_period is not None:
|
|
2753
3461
|
self._values["failure_retention_period"] = failure_retention_period
|
|
2754
3462
|
if provisioned_resource_cleanup is not None:
|
|
@@ -2765,6 +3473,8 @@ class CfnCanaryProps:
|
|
|
2765
3473
|
self._values["tags"] = tags
|
|
2766
3474
|
if visual_reference is not None:
|
|
2767
3475
|
self._values["visual_reference"] = visual_reference
|
|
3476
|
+
if visual_references is not None:
|
|
3477
|
+
self._values["visual_references"] = visual_references
|
|
2768
3478
|
if vpc_config is not None:
|
|
2769
3479
|
self._values["vpc_config"] = vpc_config
|
|
2770
3480
|
|
|
@@ -2861,6 +3571,22 @@ class CfnCanaryProps:
|
|
|
2861
3571
|
result = self._values.get("artifact_config")
|
|
2862
3572
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.ArtifactConfigProperty]], result)
|
|
2863
3573
|
|
|
3574
|
+
@builtins.property
|
|
3575
|
+
def browser_configs(
|
|
3576
|
+
self,
|
|
3577
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCanary.BrowserConfigProperty]]]]:
|
|
3578
|
+
'''A structure that specifies the browser type to use for a canary run.
|
|
3579
|
+
|
|
3580
|
+
CloudWatch Synthetics supports running canaries on both ``CHROME`` and ``FIREFOX`` browsers.
|
|
3581
|
+
.. epigraph::
|
|
3582
|
+
|
|
3583
|
+
If not specified, ``browserConfigs`` defaults to Chrome.
|
|
3584
|
+
|
|
3585
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-browserconfigs
|
|
3586
|
+
'''
|
|
3587
|
+
result = self._values.get("browser_configs")
|
|
3588
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCanary.BrowserConfigProperty]]]], result)
|
|
3589
|
+
|
|
2864
3590
|
@builtins.property
|
|
2865
3591
|
def delete_lambda_resources_on_canary_deletion(
|
|
2866
3592
|
self,
|
|
@@ -2877,6 +3603,23 @@ class CfnCanaryProps:
|
|
|
2877
3603
|
result = self._values.get("delete_lambda_resources_on_canary_deletion")
|
|
2878
3604
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
2879
3605
|
|
|
3606
|
+
@builtins.property
|
|
3607
|
+
def dry_run_and_update(
|
|
3608
|
+
self,
|
|
3609
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
3610
|
+
'''Specifies whether to perform a dry run before updating the canary.
|
|
3611
|
+
|
|
3612
|
+
If set to ``true`` , CloudFormation will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason.
|
|
3613
|
+
|
|
3614
|
+
If set to ``false`` or omitted, the canary will be updated directly without first performing a dry run. The default value is ``false`` .
|
|
3615
|
+
|
|
3616
|
+
For more information, see `Performing safe canary updates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html>`_ .
|
|
3617
|
+
|
|
3618
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-dryrunandupdate
|
|
3619
|
+
'''
|
|
3620
|
+
result = self._values.get("dry_run_and_update")
|
|
3621
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
3622
|
+
|
|
2880
3623
|
@builtins.property
|
|
2881
3624
|
def failure_retention_period(self) -> typing.Optional[jsii.Number]:
|
|
2882
3625
|
'''The number of days to retain data about failed runs of this canary.
|
|
@@ -2966,13 +3709,32 @@ class CfnCanaryProps:
|
|
|
2966
3709
|
def visual_reference(
|
|
2967
3710
|
self,
|
|
2968
3711
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]]:
|
|
2969
|
-
'''
|
|
3712
|
+
'''
|
|
3713
|
+
:deprecated: this property has been deprecated
|
|
2970
3714
|
|
|
2971
3715
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-visualreference
|
|
3716
|
+
:stability: deprecated
|
|
2972
3717
|
'''
|
|
2973
3718
|
result = self._values.get("visual_reference")
|
|
2974
3719
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]], result)
|
|
2975
3720
|
|
|
3721
|
+
@builtins.property
|
|
3722
|
+
def visual_references(
|
|
3723
|
+
self,
|
|
3724
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]]]]:
|
|
3725
|
+
'''A list of visual reference configurations for the canary, one for each browser type that the canary is configured to run on.
|
|
3726
|
+
|
|
3727
|
+
Visual references are used for visual monitoring comparisons.
|
|
3728
|
+
|
|
3729
|
+
``syn-nodejs-puppeteer-11.0`` and above, and ``syn-nodejs-playwright-3.0`` and above, only supports ``visualReferences`` . ``visualReference`` field is not supported.
|
|
3730
|
+
|
|
3731
|
+
Versions older than ``syn-nodejs-puppeteer-11.0`` supports both ``visualReference`` and ``visualReferences`` for backward compatibility. It is recommended to use ``visualReferences`` for consistency and future compatibility.
|
|
3732
|
+
|
|
3733
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-visualreferences
|
|
3734
|
+
'''
|
|
3735
|
+
result = self._values.get("visual_references")
|
|
3736
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]]]], result)
|
|
3737
|
+
|
|
2976
3738
|
@builtins.property
|
|
2977
3739
|
def vpc_config(
|
|
2978
3740
|
self,
|
|
@@ -2998,7 +3760,7 @@ class CfnCanaryProps:
|
|
|
2998
3760
|
)
|
|
2999
3761
|
|
|
3000
3762
|
|
|
3001
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
3763
|
+
@jsii.implements(_IInspectable_c2943556, _IGroupRef_4fc55162, _ITaggable_36806126)
|
|
3002
3764
|
class CfnGroup(
|
|
3003
3765
|
_CfnResource_9df397a6,
|
|
3004
3766
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3043,7 +3805,8 @@ class CfnGroup(
|
|
|
3043
3805
|
resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3044
3806
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3045
3807
|
) -> None:
|
|
3046
|
-
'''
|
|
3808
|
+
'''Create a new ``AWS::Synthetics::Group``.
|
|
3809
|
+
|
|
3047
3810
|
:param scope: Scope in which this resource is defined.
|
|
3048
3811
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3049
3812
|
:param name: A name for the group. It can include any Unicode characters. The names for all groups in your account, across all Regions, must be unique.
|
|
@@ -3102,6 +3865,12 @@ class CfnGroup(
|
|
|
3102
3865
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3103
3866
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3104
3867
|
|
|
3868
|
+
@builtins.property
|
|
3869
|
+
@jsii.member(jsii_name="groupRef")
|
|
3870
|
+
def group_ref(self) -> _GroupReference_37835a7e:
|
|
3871
|
+
'''A reference to a Group resource.'''
|
|
3872
|
+
return typing.cast(_GroupReference_37835a7e, jsii.get(self, "groupRef"))
|
|
3873
|
+
|
|
3105
3874
|
@builtins.property
|
|
3106
3875
|
@jsii.member(jsii_name="tags")
|
|
3107
3876
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -3274,17 +4043,14 @@ class Code(
|
|
|
3274
4043
|
|
|
3275
4044
|
Example::
|
|
3276
4045
|
|
|
3277
|
-
import aws_cdk as cdk
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
4046
|
canary = synthetics.Canary(self, "MyCanary",
|
|
3281
4047
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
3282
4048
|
test=synthetics.Test.custom(
|
|
3283
4049
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
3284
4050
|
handler="index.handler"
|
|
3285
4051
|
),
|
|
3286
|
-
runtime=synthetics.Runtime.
|
|
3287
|
-
|
|
4052
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4053
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
3288
4054
|
)
|
|
3289
4055
|
'''
|
|
3290
4056
|
|
|
@@ -3300,7 +4066,7 @@ class Code(
|
|
|
3300
4066
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
3301
4067
|
display_name: typing.Optional[builtins.str] = None,
|
|
3302
4068
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
3303
|
-
source_kms_key: typing.Optional[
|
|
4069
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
3304
4070
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
3305
4071
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
3306
4072
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -3350,7 +4116,7 @@ class Code(
|
|
|
3350
4116
|
@builtins.classmethod
|
|
3351
4117
|
def from_bucket(
|
|
3352
4118
|
cls,
|
|
3353
|
-
bucket:
|
|
4119
|
+
bucket: _IBucketRef_3debe44e,
|
|
3354
4120
|
key: builtins.str,
|
|
3355
4121
|
object_version: typing.Optional[builtins.str] = None,
|
|
3356
4122
|
) -> "S3Code":
|
|
@@ -3650,17 +4416,14 @@ class CustomTestOptions:
|
|
|
3650
4416
|
|
|
3651
4417
|
Example::
|
|
3652
4418
|
|
|
3653
|
-
import aws_cdk as cdk
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
4419
|
canary = synthetics.Canary(self, "MyCanary",
|
|
3657
4420
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
3658
4421
|
test=synthetics.Test.custom(
|
|
3659
4422
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
3660
4423
|
handler="index.handler"
|
|
3661
4424
|
),
|
|
3662
|
-
runtime=synthetics.Runtime.
|
|
3663
|
-
|
|
4425
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4426
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
3664
4427
|
)
|
|
3665
4428
|
'''
|
|
3666
4429
|
if __debug__:
|
|
@@ -3752,6 +4515,34 @@ class InlineCode(
|
|
|
3752
4515
|
return typing.cast(CodeConfig, jsii.invoke(self, "bind", [scope, handler, _family, _runtime_name]))
|
|
3753
4516
|
|
|
3754
4517
|
|
|
4518
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_synthetics.ResourceToReplicateTags")
|
|
4519
|
+
class ResourceToReplicateTags(enum.Enum):
|
|
4520
|
+
'''Resources that tags applied to a canary should be replicated to.
|
|
4521
|
+
|
|
4522
|
+
:exampleMetadata: infused
|
|
4523
|
+
|
|
4524
|
+
Example::
|
|
4525
|
+
|
|
4526
|
+
canary = synthetics.Canary(self, "MyCanary",
|
|
4527
|
+
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
4528
|
+
test=synthetics.Test.custom(
|
|
4529
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
4530
|
+
handler="index.handler"
|
|
4531
|
+
),
|
|
4532
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4533
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
4534
|
+
)
|
|
4535
|
+
'''
|
|
4536
|
+
|
|
4537
|
+
LAMBDA_FUNCTION = "LAMBDA_FUNCTION"
|
|
4538
|
+
'''Replicate canary tags to the Lambda function.
|
|
4539
|
+
|
|
4540
|
+
When specified, CloudWatch Synthetics will keep the tags of the canary
|
|
4541
|
+
and the Lambda function synchronized. Any future changes made to the
|
|
4542
|
+
canary's tags will also be applied to the function.
|
|
4543
|
+
'''
|
|
4544
|
+
|
|
4545
|
+
|
|
3755
4546
|
class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Runtime"):
|
|
3756
4547
|
'''Runtime options for a canary.
|
|
3757
4548
|
|
|
@@ -3759,17 +4550,14 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
|
|
|
3759
4550
|
|
|
3760
4551
|
Example::
|
|
3761
4552
|
|
|
3762
|
-
import aws_cdk as cdk
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
4553
|
canary = synthetics.Canary(self, "MyCanary",
|
|
3766
4554
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
3767
4555
|
test=synthetics.Test.custom(
|
|
3768
4556
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
3769
4557
|
handler="index.handler"
|
|
3770
4558
|
),
|
|
3771
|
-
runtime=synthetics.Runtime.
|
|
3772
|
-
|
|
4559
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4560
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
3773
4561
|
)
|
|
3774
4562
|
'''
|
|
3775
4563
|
|
|
@@ -3801,6 +4589,70 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
|
|
|
3801
4589
|
'''
|
|
3802
4590
|
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PLAYWRIGHT_1_0"))
|
|
3803
4591
|
|
|
4592
|
+
@jsii.python.classproperty
|
|
4593
|
+
@jsii.member(jsii_name="SYNTHETICS_NODEJS_PLAYWRIGHT_2_0")
|
|
4594
|
+
def SYNTHETICS_NODEJS_PLAYWRIGHT_2_0(cls) -> "Runtime":
|
|
4595
|
+
'''``syn-nodejs-playwright-2.0`` includes the following: - Lambda runtime Node.js 20.x - Playwright version 1.49.1 - Chromium version 131.0.6778.264.
|
|
4596
|
+
|
|
4597
|
+
New Features:
|
|
4598
|
+
|
|
4599
|
+
- The mismatch between total duration and sum of timings for a given request in HAR file is fixed.
|
|
4600
|
+
- Supports dry runs for the canary which allows for adhoc executions or performing a safe canary update.
|
|
4601
|
+
|
|
4602
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_playwright.html#Synthetics_runtimeversion-syn-nodejs-playwright-2.0
|
|
4603
|
+
'''
|
|
4604
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PLAYWRIGHT_2_0"))
|
|
4605
|
+
|
|
4606
|
+
@jsii.python.classproperty
|
|
4607
|
+
@jsii.member(jsii_name="SYNTHETICS_NODEJS_PLAYWRIGHT_3_0")
|
|
4608
|
+
def SYNTHETICS_NODEJS_PLAYWRIGHT_3_0(cls) -> "Runtime":
|
|
4609
|
+
'''``syn-nodejs-playwright-2.0`` includes the following: - Lambda runtime Node.js 20.x - Playwright version 1.53.0 - Chromium version 138.0.7204.168.
|
|
4610
|
+
|
|
4611
|
+
New Features:
|
|
4612
|
+
|
|
4613
|
+
- Multi-browser support – You can now run your nodejs puppeteer canaries in either Firefox or Chrome
|
|
4614
|
+
- Support for visual monitoring
|
|
4615
|
+
|
|
4616
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_playwright.html#Synthetics_runtimeversion-syn-nodejs-playwright-3.0
|
|
4617
|
+
'''
|
|
4618
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PLAYWRIGHT_3_0"))
|
|
4619
|
+
|
|
4620
|
+
@jsii.python.classproperty
|
|
4621
|
+
@jsii.member(jsii_name="SYNTHETICS_NODEJS_PUPPETEER_10_0")
|
|
4622
|
+
def SYNTHETICS_NODEJS_PUPPETEER_10_0(cls) -> "Runtime":
|
|
4623
|
+
'''``syn-nodejs-puppeteer-10.0`` includes the following: - Lambda runtime Node.js 20.x - Puppeteer-core version 24.2.0 - Chromium version 131.0.6778.264.
|
|
4624
|
+
|
|
4625
|
+
New Features:
|
|
4626
|
+
|
|
4627
|
+
- **Bug fixes**: The bug related to closing the browser that took excessively long is fixed.
|
|
4628
|
+
- **Dry run**: Supports dry runs for the canary which allows for adhoc executions or performing a safe canary update.
|
|
4629
|
+
|
|
4630
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_puppeteer.html#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-10.0
|
|
4631
|
+
'''
|
|
4632
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PUPPETEER_10_0"))
|
|
4633
|
+
|
|
4634
|
+
@jsii.python.classproperty
|
|
4635
|
+
@jsii.member(jsii_name="SYNTHETICS_NODEJS_PUPPETEER_11_0")
|
|
4636
|
+
def SYNTHETICS_NODEJS_PUPPETEER_11_0(cls) -> "Runtime":
|
|
4637
|
+
'''``syn-nodejs-puppeteer-11.0`` includes the following: - Lambda runtime Node.js 20.x - Puppeteer-core version 24.15.0 - Chromium version 138.0.7204.168.
|
|
4638
|
+
|
|
4639
|
+
New Features:
|
|
4640
|
+
|
|
4641
|
+
- **Multi-browser support**: You can now run Node.js Puppeteer canaries in either Firefox or Chrome
|
|
4642
|
+
- **Simplified packaging**: Package scripts directly under root without using the Node.js/node_modules directory structure
|
|
4643
|
+
- **Screenshot integration**: Capture screenshots using native Puppeteer functions to visualize canary script stages. Synthetics automatically associates screenshots with canary steps and uploads them to Amazon S3
|
|
4644
|
+
- **Enhanced log querying**: Query and filter logs through the CloudWatch Insights console. Each log message includes a unique canaryRunId for easier searching
|
|
4645
|
+
- **Configuration file support**: Define and update Synthetics settings using a synthetics.json file. This separation of configuration from script logic improves maintenance and reusability
|
|
4646
|
+
- **Multiple tabs support**: Create canaries that open multiple browser tabs and access screenshots from each tab. Build multi-tab and multi-step user workflows in Synthetics
|
|
4647
|
+
- **Security fixes**
|
|
4648
|
+
- **Visual monitoring bug fixes**
|
|
4649
|
+
- **Added support for structured JSON logging with configurable log levels**: Logs are now emitted in JSON format to enable easier parsing and querying in CloudWatch. Log level is configurable (for example, DEBUG, INFO, TRACE) through environment variables allowing users to control verbosity based on their needs
|
|
4650
|
+
- **Support for ES syntax**
|
|
4651
|
+
|
|
4652
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_puppeteer.html#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-11.0
|
|
4653
|
+
'''
|
|
4654
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PUPPETEER_11_0"))
|
|
4655
|
+
|
|
3804
4656
|
@jsii.python.classproperty
|
|
3805
4657
|
@jsii.member(jsii_name="SYNTHETICS_NODEJS_PUPPETEER_3_5")
|
|
3806
4658
|
def SYNTHETICS_NODEJS_PUPPETEER_3_5(cls) -> "Runtime":
|
|
@@ -4185,6 +5037,50 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
|
|
|
4185
5037
|
'''
|
|
4186
5038
|
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_4_1"))
|
|
4187
5039
|
|
|
5040
|
+
@jsii.python.classproperty
|
|
5041
|
+
@jsii.member(jsii_name="SYNTHETICS_PYTHON_SELENIUM_5_0")
|
|
5042
|
+
def SYNTHETICS_PYTHON_SELENIUM_5_0(cls) -> "Runtime":
|
|
5043
|
+
'''``syn-python-selenium-5.0`` includes the following: - Lambda runtime Python 3.9 - Selenium version 4.21.0 - Chromium version 131.0.6778.264.
|
|
5044
|
+
|
|
5045
|
+
New Features:
|
|
5046
|
+
|
|
5047
|
+
- Automatic retry if the browser fails to launch.
|
|
5048
|
+
|
|
5049
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_python_selenium.html#CloudWatch_Synthetics_runtimeversion-syn-python-selenium-5.0
|
|
5050
|
+
'''
|
|
5051
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_5_0"))
|
|
5052
|
+
|
|
5053
|
+
@jsii.python.classproperty
|
|
5054
|
+
@jsii.member(jsii_name="SYNTHETICS_PYTHON_SELENIUM_5_1")
|
|
5055
|
+
def SYNTHETICS_PYTHON_SELENIUM_5_1(cls) -> "Runtime":
|
|
5056
|
+
'''``syn-python-selenium-5.1`` includes the following: - Lambda runtime Python 3.9 - Selenium version 4.21.0 - Chromium version 131.0.6778.264.
|
|
5057
|
+
|
|
5058
|
+
New Features:
|
|
5059
|
+
|
|
5060
|
+
- Minor updates on metric emission.
|
|
5061
|
+
|
|
5062
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_python_selenium.html#CloudWatch_Synthetics_runtimeversion-syn-python-selenium-5.1
|
|
5063
|
+
'''
|
|
5064
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_5_1"))
|
|
5065
|
+
|
|
5066
|
+
@jsii.python.classproperty
|
|
5067
|
+
@jsii.member(jsii_name="SYNTHETICS_PYTHON_SELENIUM_6_0")
|
|
5068
|
+
def SYNTHETICS_PYTHON_SELENIUM_6_0(cls) -> "Runtime":
|
|
5069
|
+
'''``syn-python-selenium-6.0`` includes the following: - Lambda runtime Python 3.11 - Selenium version 4.21.0 - Chromium version 131.0.6778.264.
|
|
5070
|
+
|
|
5071
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_python_selenium.html#CloudWatch_Synthetics_runtimeversion-syn-python-selenium-6.0
|
|
5072
|
+
'''
|
|
5073
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_6_0"))
|
|
5074
|
+
|
|
5075
|
+
@jsii.python.classproperty
|
|
5076
|
+
@jsii.member(jsii_name="SYNTHETICS_PYTHON_SELENIUM_7_0")
|
|
5077
|
+
def SYNTHETICS_PYTHON_SELENIUM_7_0(cls) -> "Runtime":
|
|
5078
|
+
'''``syn-python-selenium-7.0`` includes the following: - Lambda runtime Python 3.11 - Selenium version 4.32.0 - Chromium version 138.0.7204.168.
|
|
5079
|
+
|
|
5080
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_python_selenium.html#CloudWatch_Synthetics_runtimeversion-syn-python-selenium-7.0
|
|
5081
|
+
'''
|
|
5082
|
+
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_7_0"))
|
|
5083
|
+
|
|
4188
5084
|
@builtins.property
|
|
4189
5085
|
@jsii.member(jsii_name="family")
|
|
4190
5086
|
def family(self) -> "RuntimeFamily":
|
|
@@ -4223,17 +5119,17 @@ class S3Code(
|
|
|
4223
5119
|
|
|
4224
5120
|
# The code below shows an example of how to instantiate this type.
|
|
4225
5121
|
# The values are placeholders you should change.
|
|
4226
|
-
from aws_cdk import aws_s3 as s3
|
|
4227
5122
|
from aws_cdk import aws_synthetics as synthetics
|
|
5123
|
+
from aws_cdk.interfaces import aws_s3 as interfaces_aws_s3
|
|
4228
5124
|
|
|
4229
|
-
#
|
|
5125
|
+
# bucket_ref: interfaces_aws_s3.IBucketRef
|
|
4230
5126
|
|
|
4231
|
-
s3_code = synthetics.S3Code(
|
|
5127
|
+
s3_code = synthetics.S3Code(bucket_ref, "key", "objectVersion")
|
|
4232
5128
|
'''
|
|
4233
5129
|
|
|
4234
5130
|
def __init__(
|
|
4235
5131
|
self,
|
|
4236
|
-
bucket:
|
|
5132
|
+
bucket: _IBucketRef_3debe44e,
|
|
4237
5133
|
key: builtins.str,
|
|
4238
5134
|
object_version: typing.Optional[builtins.str] = None,
|
|
4239
5135
|
) -> None:
|
|
@@ -4286,11 +5182,11 @@ class Schedule(
|
|
|
4286
5182
|
canary = synthetics.Canary(self, "MyCanary",
|
|
4287
5183
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
4288
5184
|
test=synthetics.Test.custom(
|
|
4289
|
-
|
|
4290
|
-
|
|
5185
|
+
handler="canary.handler",
|
|
5186
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canaries"))
|
|
4291
5187
|
),
|
|
4292
|
-
runtime=synthetics.Runtime.
|
|
4293
|
-
|
|
5188
|
+
runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
|
|
5189
|
+
max_retries=2
|
|
4294
5190
|
)
|
|
4295
5191
|
'''
|
|
4296
5192
|
|
|
@@ -4369,17 +5265,14 @@ class Test(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Test")
|
|
|
4369
5265
|
|
|
4370
5266
|
Example::
|
|
4371
5267
|
|
|
4372
|
-
import aws_cdk as cdk
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
5268
|
canary = synthetics.Canary(self, "MyCanary",
|
|
4376
5269
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
4377
5270
|
test=synthetics.Test.custom(
|
|
4378
5271
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
4379
5272
|
handler="index.handler"
|
|
4380
5273
|
),
|
|
4381
|
-
runtime=synthetics.Runtime.
|
|
4382
|
-
|
|
5274
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
5275
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
4383
5276
|
)
|
|
4384
5277
|
'''
|
|
4385
5278
|
|
|
@@ -4425,12 +5318,12 @@ class AssetCode(
|
|
|
4425
5318
|
# The values are placeholders you should change.
|
|
4426
5319
|
import aws_cdk as cdk
|
|
4427
5320
|
from aws_cdk import aws_iam as iam
|
|
4428
|
-
from aws_cdk import aws_kms as kms
|
|
4429
5321
|
from aws_cdk import aws_synthetics as synthetics
|
|
5322
|
+
from aws_cdk.interfaces import aws_kms as interfaces_aws_kms
|
|
4430
5323
|
|
|
4431
5324
|
# docker_image: cdk.DockerImage
|
|
4432
5325
|
# grantable: iam.IGrantable
|
|
4433
|
-
#
|
|
5326
|
+
# key_ref: interfaces_aws_kms.IKeyRef
|
|
4434
5327
|
# local_bundling: cdk.ILocalBundling
|
|
4435
5328
|
|
|
4436
5329
|
asset_code = synthetics.AssetCode("assetPath",
|
|
@@ -4468,7 +5361,7 @@ class AssetCode(
|
|
|
4468
5361
|
follow_symlinks=cdk.SymlinkFollowMode.NEVER,
|
|
4469
5362
|
ignore_mode=cdk.IgnoreMode.GLOB,
|
|
4470
5363
|
readers=[grantable],
|
|
4471
|
-
source_kMSKey=
|
|
5364
|
+
source_kMSKey=key_ref
|
|
4472
5365
|
)
|
|
4473
5366
|
'''
|
|
4474
5367
|
|
|
@@ -4479,7 +5372,7 @@ class AssetCode(
|
|
|
4479
5372
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
4480
5373
|
display_name: typing.Optional[builtins.str] = None,
|
|
4481
5374
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
4482
|
-
source_kms_key: typing.Optional[
|
|
5375
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
4483
5376
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
4484
5377
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
4485
5378
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -4546,6 +5439,7 @@ __all__ = [
|
|
|
4546
5439
|
"ArtifactsBucketLocation",
|
|
4547
5440
|
"ArtifactsEncryptionMode",
|
|
4548
5441
|
"AssetCode",
|
|
5442
|
+
"BrowserType",
|
|
4549
5443
|
"Canary",
|
|
4550
5444
|
"CanaryProps",
|
|
4551
5445
|
"CfnCanary",
|
|
@@ -4558,6 +5452,7 @@ __all__ = [
|
|
|
4558
5452
|
"CronOptions",
|
|
4559
5453
|
"CustomTestOptions",
|
|
4560
5454
|
"InlineCode",
|
|
5455
|
+
"ResourceToReplicateTags",
|
|
4561
5456
|
"Runtime",
|
|
4562
5457
|
"RuntimeFamily",
|
|
4563
5458
|
"S3Code",
|
|
@@ -4586,12 +5481,16 @@ def _typecheckingstub__b3b6d76e5f93e31884e16cc00a9b4fc93e6782ff7db09c74aa1ef9346
|
|
|
4586
5481
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4587
5482
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4588
5483
|
artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5484
|
+
browser_configs: typing.Optional[typing.Sequence[BrowserType]] = None,
|
|
4589
5485
|
canary_name: typing.Optional[builtins.str] = None,
|
|
4590
5486
|
cleanup: typing.Optional[Cleanup] = None,
|
|
5487
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
4591
5488
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4592
5489
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
5490
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
4593
5491
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
4594
5492
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
5493
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence[ResourceToReplicateTags]] = None,
|
|
4595
5494
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
4596
5495
|
schedule: typing.Optional[Schedule] = None,
|
|
4597
5496
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -4614,12 +5513,16 @@ def _typecheckingstub__44ec0b14d52b66927d4daebe6f97bb070f3629bb0eb86e21668ca7862
|
|
|
4614
5513
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4615
5514
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4616
5515
|
artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5516
|
+
browser_configs: typing.Optional[typing.Sequence[BrowserType]] = None,
|
|
4617
5517
|
canary_name: typing.Optional[builtins.str] = None,
|
|
4618
5518
|
cleanup: typing.Optional[Cleanup] = None,
|
|
5519
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
4619
5520
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4620
5521
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
5522
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
4621
5523
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
4622
5524
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
5525
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence[ResourceToReplicateTags]] = None,
|
|
4623
5526
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
4624
5527
|
schedule: typing.Optional[Schedule] = None,
|
|
4625
5528
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -4644,7 +5547,9 @@ def _typecheckingstub__b8fcb3f48eca9399b4d1d31a5ef709e22f9fa52ad1e174b75d8313ef2
|
|
|
4644
5547
|
runtime_version: builtins.str,
|
|
4645
5548
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
4646
5549
|
artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ArtifactConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5550
|
+
browser_configs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.BrowserConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4647
5551
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
5552
|
+
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4648
5553
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
4649
5554
|
provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
|
|
4650
5555
|
resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -4653,11 +5558,20 @@ def _typecheckingstub__b8fcb3f48eca9399b4d1d31a5ef709e22f9fa52ad1e174b75d8313ef2
|
|
|
4653
5558
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
4654
5559
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4655
5560
|
visual_reference: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VisualReferenceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5561
|
+
visual_references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VisualReferenceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4656
5562
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VPCConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4657
5563
|
) -> None:
|
|
4658
5564
|
"""Type checking stubs"""
|
|
4659
5565
|
pass
|
|
4660
5566
|
|
|
5567
|
+
def _typecheckingstub__a9ea9a4c62ed507734c1656b5b5b9ece24a5a15e32aa598350d8dcba80710c99(
|
|
5568
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5569
|
+
id: builtins.str,
|
|
5570
|
+
canary_name: builtins.str,
|
|
5571
|
+
) -> None:
|
|
5572
|
+
"""Type checking stubs"""
|
|
5573
|
+
pass
|
|
5574
|
+
|
|
4661
5575
|
def _typecheckingstub__bc166bab0fcf177897c1dbb233203e39458428064bc6ff7215b01b2b3ec6f3a2(
|
|
4662
5576
|
inspector: _TreeInspector_488e0dd5,
|
|
4663
5577
|
) -> None:
|
|
@@ -4712,12 +5626,24 @@ def _typecheckingstub__5946ee35eff32e4581a6d2e3e0c69d62cdc3c17f079123211f7251bc1
|
|
|
4712
5626
|
"""Type checking stubs"""
|
|
4713
5627
|
pass
|
|
4714
5628
|
|
|
5629
|
+
def _typecheckingstub__91233a90f3d4d918352b4597b2dee50c3da02176501744c2dc696dbd8a735b68(
|
|
5630
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCanary.BrowserConfigProperty]]]],
|
|
5631
|
+
) -> None:
|
|
5632
|
+
"""Type checking stubs"""
|
|
5633
|
+
pass
|
|
5634
|
+
|
|
4715
5635
|
def _typecheckingstub__442577c2c36e4274dca25b3d866e1aeec3f4ffc18732e01050131a31f768f2b3(
|
|
4716
5636
|
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
4717
5637
|
) -> None:
|
|
4718
5638
|
"""Type checking stubs"""
|
|
4719
5639
|
pass
|
|
4720
5640
|
|
|
5641
|
+
def _typecheckingstub__59860e5fb72da4da1108545c9e0b8f706d34cf83eb363fda05f04cbb14baf1fe(
|
|
5642
|
+
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
5643
|
+
) -> None:
|
|
5644
|
+
"""Type checking stubs"""
|
|
5645
|
+
pass
|
|
5646
|
+
|
|
4721
5647
|
def _typecheckingstub__02a7e43f45419c4cb8e909f309f8848d4ced91d17b01d14e5ea0b8cec28aab1b(
|
|
4722
5648
|
value: typing.Optional[jsii.Number],
|
|
4723
5649
|
) -> None:
|
|
@@ -4766,6 +5692,12 @@ def _typecheckingstub__21e93a70969fa03a3f0aa85f6b1615a26d9a0afef8a0cf27f0888fc59
|
|
|
4766
5692
|
"""Type checking stubs"""
|
|
4767
5693
|
pass
|
|
4768
5694
|
|
|
5695
|
+
def _typecheckingstub__004341f5a58c9e6e190c4bc518ea476aac62201a1708bb1650a22fbf74c64b52(
|
|
5696
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]]]],
|
|
5697
|
+
) -> None:
|
|
5698
|
+
"""Type checking stubs"""
|
|
5699
|
+
pass
|
|
5700
|
+
|
|
4769
5701
|
def _typecheckingstub__be63ed6816e3043aef63f6e7c0d0dfcc35f1249735acd4eff8530f8c2253b747(
|
|
4770
5702
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.VPCConfigProperty]],
|
|
4771
5703
|
) -> None:
|
|
@@ -4787,9 +5719,18 @@ def _typecheckingstub__8d401a2416919aef18322e23fb875fc37ad8f90f34f8f5708a245f22f
|
|
|
4787
5719
|
"""Type checking stubs"""
|
|
4788
5720
|
pass
|
|
4789
5721
|
|
|
5722
|
+
def _typecheckingstub__c91e35c3c240434fee052d7f899893609a9c027813412eb6312483e200412435(
|
|
5723
|
+
*,
|
|
5724
|
+
browser_type: builtins.str,
|
|
5725
|
+
) -> None:
|
|
5726
|
+
"""Type checking stubs"""
|
|
5727
|
+
pass
|
|
5728
|
+
|
|
4790
5729
|
def _typecheckingstub__3d403372a613babc1ab10717d050ec9a7f4055961f3545f2d0600d89c7b3dcc3(
|
|
4791
5730
|
*,
|
|
4792
|
-
|
|
5731
|
+
blueprint_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5732
|
+
dependencies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.DependencyProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5733
|
+
handler: typing.Optional[builtins.str] = None,
|
|
4793
5734
|
s3_bucket: typing.Optional[builtins.str] = None,
|
|
4794
5735
|
s3_key: typing.Optional[builtins.str] = None,
|
|
4795
5736
|
s3_object_version: typing.Optional[builtins.str] = None,
|
|
@@ -4799,10 +5740,26 @@ def _typecheckingstub__3d403372a613babc1ab10717d050ec9a7f4055961f3545f2d0600d89c
|
|
|
4799
5740
|
"""Type checking stubs"""
|
|
4800
5741
|
pass
|
|
4801
5742
|
|
|
5743
|
+
def _typecheckingstub__02338e317b0b84f714774aabea98599cd96fe9cff23790733ad426e75f9984f4(
|
|
5744
|
+
*,
|
|
5745
|
+
reference: builtins.str,
|
|
5746
|
+
type: typing.Optional[builtins.str] = None,
|
|
5747
|
+
) -> None:
|
|
5748
|
+
"""Type checking stubs"""
|
|
5749
|
+
pass
|
|
5750
|
+
|
|
5751
|
+
def _typecheckingstub__e7a2c989ca2c701e49af0e8032c8c49bb52546c68c9e6359df8e7a9f2c4cf9a1(
|
|
5752
|
+
*,
|
|
5753
|
+
max_retries: jsii.Number,
|
|
5754
|
+
) -> None:
|
|
5755
|
+
"""Type checking stubs"""
|
|
5756
|
+
pass
|
|
5757
|
+
|
|
4802
5758
|
def _typecheckingstub__fa148862e82948accbbe951e7afcee721aa7014754c81106d2648fe1c5cf28e2(
|
|
4803
5759
|
*,
|
|
4804
5760
|
active_tracing: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4805
5761
|
environment_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
|
|
5762
|
+
ephemeral_storage: typing.Optional[jsii.Number] = None,
|
|
4806
5763
|
memory_in_mb: typing.Optional[jsii.Number] = None,
|
|
4807
5764
|
timeout_in_seconds: typing.Optional[jsii.Number] = None,
|
|
4808
5765
|
) -> None:
|
|
@@ -4821,6 +5778,7 @@ def _typecheckingstub__e4999288d0e0c5de04c56a3436208778026602dfdca27710aee93f9f4
|
|
|
4821
5778
|
*,
|
|
4822
5779
|
expression: builtins.str,
|
|
4823
5780
|
duration_in_seconds: typing.Optional[builtins.str] = None,
|
|
5781
|
+
retry_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.RetryConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4824
5782
|
) -> None:
|
|
4825
5783
|
"""Type checking stubs"""
|
|
4826
5784
|
pass
|
|
@@ -4839,6 +5797,7 @@ def _typecheckingstub__f52b6b7318141dc99f6bd36c21b91cda286b67d7dea805791a6132a2c
|
|
|
4839
5797
|
*,
|
|
4840
5798
|
base_canary_run_id: builtins.str,
|
|
4841
5799
|
base_screenshots: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.BaseScreenshotProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5800
|
+
browser_type: typing.Optional[builtins.str] = None,
|
|
4842
5801
|
) -> None:
|
|
4843
5802
|
"""Type checking stubs"""
|
|
4844
5803
|
pass
|
|
@@ -4852,7 +5811,9 @@ def _typecheckingstub__d869d56ce0d1d2e2add2f80bf39b28abbec2752c719e03194ee540bf1
|
|
|
4852
5811
|
runtime_version: builtins.str,
|
|
4853
5812
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
4854
5813
|
artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ArtifactConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5814
|
+
browser_configs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.BrowserConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4855
5815
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
5816
|
+
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4856
5817
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
4857
5818
|
provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
|
|
4858
5819
|
resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -4861,6 +5822,7 @@ def _typecheckingstub__d869d56ce0d1d2e2add2f80bf39b28abbec2752c719e03194ee540bf1
|
|
|
4861
5822
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
4862
5823
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4863
5824
|
visual_reference: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VisualReferenceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5825
|
+
visual_references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VisualReferenceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4864
5826
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VPCConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4865
5827
|
) -> None:
|
|
4866
5828
|
"""Type checking stubs"""
|
|
@@ -4922,7 +5884,7 @@ def _typecheckingstub__02201c2190b076bbceced8708b435fab8189f7f505650002941cc7a50
|
|
|
4922
5884
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
4923
5885
|
display_name: typing.Optional[builtins.str] = None,
|
|
4924
5886
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
4925
|
-
source_kms_key: typing.Optional[
|
|
5887
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
4926
5888
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
4927
5889
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
4928
5890
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -4934,7 +5896,7 @@ def _typecheckingstub__02201c2190b076bbceced8708b435fab8189f7f505650002941cc7a50
|
|
|
4934
5896
|
pass
|
|
4935
5897
|
|
|
4936
5898
|
def _typecheckingstub__449747bf42ca4f0c5864a72ad8bd3bcd8b8dedef173ae2e8a54e213a343068a6(
|
|
4937
|
-
bucket:
|
|
5899
|
+
bucket: _IBucketRef_3debe44e,
|
|
4938
5900
|
key: builtins.str,
|
|
4939
5901
|
object_version: typing.Optional[builtins.str] = None,
|
|
4940
5902
|
) -> None:
|
|
@@ -5006,7 +5968,7 @@ def _typecheckingstub__ba23a2bd20fc9334e4b0fac6e1c104de0f53b4ec265cf53ef1a80ad25
|
|
|
5006
5968
|
pass
|
|
5007
5969
|
|
|
5008
5970
|
def _typecheckingstub__94d1b4f54d462b3f798f1b900a1b75b486a8dc3f4f14650931bf7631ce93a5bd(
|
|
5009
|
-
bucket:
|
|
5971
|
+
bucket: _IBucketRef_3debe44e,
|
|
5010
5972
|
key: builtins.str,
|
|
5011
5973
|
object_version: typing.Optional[builtins.str] = None,
|
|
5012
5974
|
) -> None:
|
|
@@ -5040,7 +6002,7 @@ def _typecheckingstub__60a29a536d66536254f2ca409a65dc32f30e483b29091222d42f32106
|
|
|
5040
6002
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
5041
6003
|
display_name: typing.Optional[builtins.str] = None,
|
|
5042
6004
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
5043
|
-
source_kms_key: typing.Optional[
|
|
6005
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
5044
6006
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
5045
6007
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
5046
6008
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|