aws-cdk-lib 2.200.2__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 +1349 -373
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.200.2.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 +1017 -155
- aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
- aws_cdk/aws_appconfig/__init__.py +298 -43
- aws_cdk/aws_appflow/__init__.py +151 -6
- aws_cdk/aws_appintegrations/__init__.py +546 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
- aws_cdk/aws_applicationinsights/__init__.py +13 -2
- aws_cdk/aws_applicationsignals/__init__.py +374 -6
- aws_cdk/aws_appmesh/__init__.py +94 -26
- aws_cdk/aws_apprunner/__init__.py +66 -18
- aws_cdk/aws_appstream/__init__.py +309 -55
- aws_cdk/aws_appsync/__init__.py +227 -53
- aws_cdk/aws_apptest/__init__.py +71 -2
- aws_cdk/aws_aps/__init__.py +1875 -132
- 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 +135 -55
- 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 +317 -28
- aws_cdk/aws_backupgateway/__init__.py +13 -2
- aws_cdk/aws_batch/__init__.py +1405 -178
- aws_cdk/aws_bcmdataexports/__init__.py +21 -2
- aws_cdk/aws_bedrock/__init__.py +6747 -627
- aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
- aws_cdk/aws_billingconductor/__init__.py +197 -11
- aws_cdk/aws_budgets/__init__.py +42 -4
- aws_cdk/aws_cassandra/__init__.py +247 -6
- aws_cdk/aws_ce/__init__.py +35 -6
- aws_cdk/aws_certificatemanager/__init__.py +237 -32
- aws_cdk/aws_chatbot/__init__.py +70 -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 +345 -166
- aws_cdk/aws_cloudfront/__init__.py +2101 -680
- aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
- aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
- aws_cdk/aws_cloudtrail/__init__.py +301 -17
- aws_cdk/aws_cloudwatch/__init__.py +1414 -153
- aws_cdk/aws_codeartifact/__init__.py +35 -6
- aws_cdk/aws_codebuild/__init__.py +1103 -118
- aws_cdk/aws_codecommit/__init__.py +23 -9
- aws_cdk/aws_codeconnections/__init__.py +13 -2
- aws_cdk/aws_codedeploy/__init__.py +67 -6
- aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
- aws_cdk/aws_codegurureviewer/__init__.py +13 -2
- aws_cdk/aws_codepipeline/__init__.py +127 -64
- aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
- aws_cdk/aws_codestar/__init__.py +13 -2
- aws_cdk/aws_codestarconnections/__init__.py +35 -6
- aws_cdk/aws_codestarnotifications/__init__.py +16 -2
- aws_cdk/aws_cognito/__init__.py +814 -80
- aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
- aws_cdk/aws_comprehend/__init__.py +24 -4
- aws_cdk/aws_config/__init__.py +191 -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 +723 -203
- aws_cdk/aws_datazone/__init__.py +4425 -608
- aws_cdk/aws_dax/__init__.py +83 -6
- aws_cdk/aws_deadline/__init__.py +321 -32
- 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 +323 -46
- aws_cdk/aws_docdbelastic/__init__.py +13 -2
- aws_cdk/aws_dsql/__init__.py +340 -12
- aws_cdk/aws_dynamodb/__init__.py +1463 -166
- aws_cdk/aws_ec2/__init__.py +9636 -1120
- aws_cdk/aws_ecr/__init__.py +631 -43
- aws_cdk/aws_ecr_assets/__init__.py +4 -0
- aws_cdk/aws_ecs/__init__.py +6524 -497
- aws_cdk/aws_ecs_patterns/__init__.py +2 -0
- aws_cdk/aws_efs/__init__.py +264 -24
- aws_cdk/aws_eks/__init__.py +1050 -218
- aws_cdk/aws_elasticache/__init__.py +373 -20
- aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
- aws_cdk/aws_elasticsearch/__init__.py +282 -9
- aws_cdk/aws_emr/__init__.py +187 -20
- 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 +969 -124
- aws_cdk/aws_events_targets/__init__.py +310 -54
- 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 +1236 -142
- aws_cdk/aws_gamelift/__init__.py +653 -78
- aws_cdk/aws_gameliftstreams/__init__.py +38 -16
- aws_cdk/aws_globalaccelerator/__init__.py +55 -14
- aws_cdk/aws_glue/__init__.py +1368 -320
- 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 +480 -140
- aws_cdk/aws_identitystore/__init__.py +24 -4
- aws_cdk/aws_imagebuilder/__init__.py +1433 -183
- aws_cdk/aws_inspector/__init__.py +38 -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 +1730 -86
- 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 +622 -22
- aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
- aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
- aws_cdk/aws_kinesisvideo/__init__.py +24 -4
- aws_cdk/aws_kms/__init__.py +188 -41
- aws_cdk/aws_lakeformation/__init__.py +80 -15
- aws_cdk/aws_lambda/__init__.py +2101 -252
- 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 +871 -8
- aws_cdk/aws_licensemanager/__init__.py +24 -4
- aws_cdk/aws_lightsail/__init__.py +2159 -975
- aws_cdk/aws_location/__init__.py +618 -14
- aws_cdk/aws_logs/__init__.py +5904 -956
- 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 +1239 -35
- aws_cdk/aws_mediapackage/__init__.py +59 -12
- aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
- 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 +104 -18
- 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 +1289 -273
- aws_cdk/aws_networkmanager/__init__.py +349 -33
- aws_cdk/aws_nimblestudio/__init__.py +75 -8
- 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 +2495 -529
- aws_cdk/aws_opensearchserverless/__init__.py +312 -37
- aws_cdk/aws_opensearchservice/__init__.py +495 -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 +151 -6
- 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 +387 -68
- 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 +3345 -512
- aws_cdk/aws_redshift/__init__.py +143 -20
- aws_cdk/aws_redshiftserverless/__init__.py +692 -4
- 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 +180 -6
- aws_cdk/aws_route53/__init__.py +3273 -1442
- 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 +226 -36
- aws_cdk/aws_rtbfabric/__init__.py +3498 -0
- aws_cdk/aws_rum/__init__.py +13 -2
- aws_cdk/aws_s3/__init__.py +1291 -158
- aws_cdk/aws_s3_assets/__init__.py +11 -11
- aws_cdk/aws_s3_deployment/__init__.py +147 -11
- aws_cdk/aws_s3_notifications/__init__.py +7 -7
- aws_cdk/aws_s3express/__init__.py +266 -8
- 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 +6617 -363
- aws_cdk/aws_sam/__init__.py +79 -14
- aws_cdk/aws_scheduler/__init__.py +237 -4
- aws_cdk/aws_sdb/__init__.py +12 -2
- aws_cdk/aws_secretsmanager/__init__.py +170 -14
- aws_cdk/aws_securityhub/__init__.py +3121 -176
- aws_cdk/aws_securitylake/__init__.py +46 -8
- aws_cdk/aws_servicecatalog/__init__.py +405 -246
- aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
- aws_cdk/aws_servicediscovery/__init__.py +140 -47
- aws_cdk/aws_ses/__init__.py +1231 -140
- aws_cdk/aws_shield/__init__.py +46 -8
- aws_cdk/aws_signer/__init__.py +27 -4
- aws_cdk/aws_simspaceweaver/__init__.py +42 -2
- aws_cdk/aws_smsvoice/__init__.py +4716 -0
- aws_cdk/aws_sns/__init__.py +245 -29
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
- aws_cdk/aws_sqs/__init__.py +211 -14
- aws_cdk/aws_ssm/__init__.py +401 -58
- aws_cdk/aws_ssmcontacts/__init__.py +46 -8
- aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
- aws_cdk/aws_ssmincidents/__init__.py +24 -4
- aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
- aws_cdk/aws_sso/__init__.py +70 -12
- aws_cdk/aws_stepfunctions/__init__.py +615 -70
- aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
- aws_cdk/aws_supportapp/__init__.py +39 -6
- aws_cdk/aws_synthetics/__init__.py +861 -75
- 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 +145 -17
- aws_cdk/aws_voiceid/__init__.py +41 -2
- aws_cdk/aws_vpclattice/__init__.py +376 -30
- aws_cdk/aws_waf/__init__.py +79 -14
- aws_cdk/aws_wafregional/__init__.py +123 -22
- aws_cdk/aws_wafv2/__init__.py +1179 -60
- aws_cdk/aws_wisdom/__init__.py +1401 -90
- aws_cdk/aws_workspaces/__init__.py +93 -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 +231 -6
- aws_cdk/custom_resources/__init__.py +40 -12
- aws_cdk/cx_api/__init__.py +85 -14
- 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/pipelines/__init__.py +192 -42
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +60 -18
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
- aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
- aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.200.2.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,6 +944,7 @@ 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]))
|
|
@@ -847,12 +1017,16 @@ class Canary(
|
|
|
847
1017
|
"artifact_s3_kms_key": "artifactS3KmsKey",
|
|
848
1018
|
"artifacts_bucket_lifecycle_rules": "artifactsBucketLifecycleRules",
|
|
849
1019
|
"artifacts_bucket_location": "artifactsBucketLocation",
|
|
1020
|
+
"browser_configs": "browserConfigs",
|
|
850
1021
|
"canary_name": "canaryName",
|
|
851
1022
|
"cleanup": "cleanup",
|
|
1023
|
+
"dry_run_and_update": "dryRunAndUpdate",
|
|
852
1024
|
"environment_variables": "environmentVariables",
|
|
853
1025
|
"failure_retention_period": "failureRetentionPeriod",
|
|
1026
|
+
"max_retries": "maxRetries",
|
|
854
1027
|
"memory": "memory",
|
|
855
1028
|
"provisioned_resource_cleanup": "provisionedResourceCleanup",
|
|
1029
|
+
"resources_to_replicate_tags": "resourcesToReplicateTags",
|
|
856
1030
|
"role": "role",
|
|
857
1031
|
"schedule": "schedule",
|
|
858
1032
|
"security_groups": "securityGroups",
|
|
@@ -875,12 +1049,16 @@ class CanaryProps:
|
|
|
875
1049
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
876
1050
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
877
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,
|
|
878
1053
|
canary_name: typing.Optional[builtins.str] = None,
|
|
879
1054
|
cleanup: typing.Optional["Cleanup"] = None,
|
|
1055
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
880
1056
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
881
1057
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
1058
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
882
1059
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
883
1060
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
1061
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence["ResourceToReplicateTags"]] = None,
|
|
884
1062
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
885
1063
|
schedule: typing.Optional["Schedule"] = None,
|
|
886
1064
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -900,12 +1078,16 @@ class CanaryProps:
|
|
|
900
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``.
|
|
901
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.
|
|
902
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
|
|
903
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
|
|
904
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
|
|
905
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.
|
|
906
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
|
|
907
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)
|
|
908
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
|
|
909
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'.
|
|
910
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)'
|
|
911
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.
|
|
@@ -920,17 +1102,14 @@ class CanaryProps:
|
|
|
920
1102
|
|
|
921
1103
|
Example::
|
|
922
1104
|
|
|
923
|
-
import aws_cdk as cdk
|
|
924
|
-
|
|
925
|
-
|
|
926
1105
|
canary = synthetics.Canary(self, "MyCanary",
|
|
927
1106
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
928
1107
|
test=synthetics.Test.custom(
|
|
929
1108
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
930
1109
|
handler="index.handler"
|
|
931
1110
|
),
|
|
932
|
-
runtime=synthetics.Runtime.
|
|
933
|
-
|
|
1111
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
1112
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
934
1113
|
)
|
|
935
1114
|
'''
|
|
936
1115
|
if isinstance(artifacts_bucket_location, dict):
|
|
@@ -946,12 +1125,16 @@ class CanaryProps:
|
|
|
946
1125
|
check_type(argname="argument artifact_s3_kms_key", value=artifact_s3_kms_key, expected_type=type_hints["artifact_s3_kms_key"])
|
|
947
1126
|
check_type(argname="argument artifacts_bucket_lifecycle_rules", value=artifacts_bucket_lifecycle_rules, expected_type=type_hints["artifacts_bucket_lifecycle_rules"])
|
|
948
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"])
|
|
949
1129
|
check_type(argname="argument canary_name", value=canary_name, expected_type=type_hints["canary_name"])
|
|
950
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"])
|
|
951
1132
|
check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
|
|
952
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"])
|
|
953
1135
|
check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
|
|
954
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"])
|
|
955
1138
|
check_type(argname="argument role", value=role, expected_type=type_hints["role"])
|
|
956
1139
|
check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
|
|
957
1140
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
@@ -975,18 +1158,26 @@ class CanaryProps:
|
|
|
975
1158
|
self._values["artifacts_bucket_lifecycle_rules"] = artifacts_bucket_lifecycle_rules
|
|
976
1159
|
if artifacts_bucket_location is not None:
|
|
977
1160
|
self._values["artifacts_bucket_location"] = artifacts_bucket_location
|
|
1161
|
+
if browser_configs is not None:
|
|
1162
|
+
self._values["browser_configs"] = browser_configs
|
|
978
1163
|
if canary_name is not None:
|
|
979
1164
|
self._values["canary_name"] = canary_name
|
|
980
1165
|
if cleanup is not None:
|
|
981
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
|
|
982
1169
|
if environment_variables is not None:
|
|
983
1170
|
self._values["environment_variables"] = environment_variables
|
|
984
1171
|
if failure_retention_period is not None:
|
|
985
1172
|
self._values["failure_retention_period"] = failure_retention_period
|
|
1173
|
+
if max_retries is not None:
|
|
1174
|
+
self._values["max_retries"] = max_retries
|
|
986
1175
|
if memory is not None:
|
|
987
1176
|
self._values["memory"] = memory
|
|
988
1177
|
if provisioned_resource_cleanup is not None:
|
|
989
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
|
|
990
1181
|
if role is not None:
|
|
991
1182
|
self._values["role"] = role
|
|
992
1183
|
if schedule is not None:
|
|
@@ -1090,6 +1281,23 @@ class CanaryProps:
|
|
|
1090
1281
|
result = self._values.get("artifacts_bucket_location")
|
|
1091
1282
|
return typing.cast(typing.Optional[ArtifactsBucketLocation], result)
|
|
1092
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
|
+
|
|
1093
1301
|
@builtins.property
|
|
1094
1302
|
def canary_name(self) -> typing.Optional[builtins.str]:
|
|
1095
1303
|
'''The name of the canary.
|
|
@@ -1122,6 +1330,23 @@ class CanaryProps:
|
|
|
1122
1330
|
result = self._values.get("cleanup")
|
|
1123
1331
|
return typing.cast(typing.Optional["Cleanup"], result)
|
|
1124
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
|
+
|
|
1125
1350
|
@builtins.property
|
|
1126
1351
|
def environment_variables(
|
|
1127
1352
|
self,
|
|
@@ -1146,6 +1371,20 @@ class CanaryProps:
|
|
|
1146
1371
|
result = self._values.get("failure_retention_period")
|
|
1147
1372
|
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
1148
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
|
+
|
|
1149
1388
|
@builtins.property
|
|
1150
1389
|
def memory(self) -> typing.Optional[_Size_7b441c34]:
|
|
1151
1390
|
'''The maximum amount of memory that the canary can use while running.
|
|
@@ -1167,6 +1406,23 @@ class CanaryProps:
|
|
|
1167
1406
|
result = self._values.get("provisioned_resource_cleanup")
|
|
1168
1407
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1169
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
|
+
|
|
1170
1426
|
@builtins.property
|
|
1171
1427
|
def role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
1172
1428
|
'''Canary execution role.
|
|
@@ -1292,7 +1548,7 @@ class CanaryProps:
|
|
|
1292
1548
|
)
|
|
1293
1549
|
|
|
1294
1550
|
|
|
1295
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
1551
|
+
@jsii.implements(_IInspectable_c2943556, _ICanaryRef_cf407e49, _ITaggable_36806126)
|
|
1296
1552
|
class CfnCanary(
|
|
1297
1553
|
_CfnResource_9df397a6,
|
|
1298
1554
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1321,9 +1577,14 @@ class CfnCanary(
|
|
|
1321
1577
|
cfn_canary = synthetics.CfnCanary(self, "MyCfnCanary",
|
|
1322
1578
|
artifact_s3_location="artifactS3Location",
|
|
1323
1579
|
code=synthetics.CfnCanary.CodeProperty(
|
|
1324
|
-
|
|
1580
|
+
blueprint_types=["blueprintTypes"],
|
|
1581
|
+
dependencies=[synthetics.CfnCanary.DependencyProperty(
|
|
1582
|
+
reference="reference",
|
|
1325
1583
|
|
|
1326
|
-
|
|
1584
|
+
# the properties below are optional
|
|
1585
|
+
type="type"
|
|
1586
|
+
)],
|
|
1587
|
+
handler="handler",
|
|
1327
1588
|
s3_bucket="s3Bucket",
|
|
1328
1589
|
s3_key="s3Key",
|
|
1329
1590
|
s3_object_version="s3ObjectVersion",
|
|
@@ -1350,6 +1611,9 @@ class CfnCanary(
|
|
|
1350
1611
|
kms_key_arn="kmsKeyArn"
|
|
1351
1612
|
)
|
|
1352
1613
|
),
|
|
1614
|
+
browser_configs=[synthetics.CfnCanary.BrowserConfigProperty(
|
|
1615
|
+
browser_type="browserType"
|
|
1616
|
+
)],
|
|
1353
1617
|
delete_lambda_resources_on_canary_deletion=False,
|
|
1354
1618
|
dry_run_and_update=False,
|
|
1355
1619
|
failure_retention_period=123,
|
|
@@ -1360,6 +1624,7 @@ class CfnCanary(
|
|
|
1360
1624
|
environment_variables={
|
|
1361
1625
|
"environment_variables_key": "environmentVariables"
|
|
1362
1626
|
},
|
|
1627
|
+
ephemeral_storage=123,
|
|
1363
1628
|
memory_in_mb=123,
|
|
1364
1629
|
timeout_in_seconds=123
|
|
1365
1630
|
),
|
|
@@ -1378,8 +1643,21 @@ class CfnCanary(
|
|
|
1378
1643
|
|
|
1379
1644
|
# the properties below are optional
|
|
1380
1645
|
ignore_coordinates=["ignoreCoordinates"]
|
|
1381
|
-
)]
|
|
1646
|
+
)],
|
|
1647
|
+
browser_type="browserType"
|
|
1382
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
|
+
)],
|
|
1383
1661
|
vpc_config=synthetics.CfnCanary.VPCConfigProperty(
|
|
1384
1662
|
security_group_ids=["securityGroupIds"],
|
|
1385
1663
|
subnet_ids=["subnetIds"],
|
|
@@ -1403,6 +1681,7 @@ class CfnCanary(
|
|
|
1403
1681
|
runtime_version: builtins.str,
|
|
1404
1682
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.ScheduleProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
1405
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,
|
|
1406
1685
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
1407
1686
|
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
1408
1687
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
@@ -1413,9 +1692,11 @@ class CfnCanary(
|
|
|
1413
1692
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
1414
1693
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1415
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,
|
|
1416
1696
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.VPCConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1417
1697
|
) -> None:
|
|
1418
|
-
'''
|
|
1698
|
+
'''Create a new ``AWS::Synthetics::Canary``.
|
|
1699
|
+
|
|
1419
1700
|
:param scope: Scope in which this resource is defined.
|
|
1420
1701
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1421
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.
|
|
@@ -1425,6 +1706,7 @@ class CfnCanary(
|
|
|
1425
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>`_ .
|
|
1426
1707
|
:param schedule: A structure that contains information about how often the canary is to run, and when these runs are to stop.
|
|
1427
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.
|
|
1428
1710
|
:param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
|
|
1429
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>`_ .
|
|
1430
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.
|
|
@@ -1434,7 +1716,8 @@ class CfnCanary(
|
|
|
1434
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.
|
|
1435
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.
|
|
1436
1718
|
:param tags: The list of key-value pairs that are associated with the canary.
|
|
1437
|
-
: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.
|
|
1438
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>`_ .
|
|
1439
1722
|
'''
|
|
1440
1723
|
if __debug__:
|
|
@@ -1449,6 +1732,7 @@ class CfnCanary(
|
|
|
1449
1732
|
runtime_version=runtime_version,
|
|
1450
1733
|
schedule=schedule,
|
|
1451
1734
|
artifact_config=artifact_config,
|
|
1735
|
+
browser_configs=browser_configs,
|
|
1452
1736
|
delete_lambda_resources_on_canary_deletion=delete_lambda_resources_on_canary_deletion,
|
|
1453
1737
|
dry_run_and_update=dry_run_and_update,
|
|
1454
1738
|
failure_retention_period=failure_retention_period,
|
|
@@ -1459,11 +1743,33 @@ class CfnCanary(
|
|
|
1459
1743
|
success_retention_period=success_retention_period,
|
|
1460
1744
|
tags=tags,
|
|
1461
1745
|
visual_reference=visual_reference,
|
|
1746
|
+
visual_references=visual_references,
|
|
1462
1747
|
vpc_config=vpc_config,
|
|
1463
1748
|
)
|
|
1464
1749
|
|
|
1465
1750
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
1466
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
|
+
|
|
1467
1773
|
@jsii.member(jsii_name="inspect")
|
|
1468
1774
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
1469
1775
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -1523,6 +1829,12 @@ class CfnCanary(
|
|
|
1523
1829
|
'''
|
|
1524
1830
|
return typing.cast(builtins.str, jsii.get(self, "attrState"))
|
|
1525
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
|
+
|
|
1526
1838
|
@builtins.property
|
|
1527
1839
|
@jsii.member(jsii_name="cfnProperties")
|
|
1528
1840
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
@@ -1638,6 +1950,24 @@ class CfnCanary(
|
|
|
1638
1950
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1639
1951
|
jsii.set(self, "artifactConfig", value) # pyright: ignore[reportArgumentType]
|
|
1640
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
|
+
|
|
1641
1971
|
@builtins.property
|
|
1642
1972
|
@jsii.member(jsii_name="deleteLambdaResourcesOnCanaryDeletion")
|
|
1643
1973
|
def delete_lambda_resources_on_canary_deletion(
|
|
@@ -1791,7 +2121,11 @@ class CfnCanary(
|
|
|
1791
2121
|
def visual_reference(
|
|
1792
2122
|
self,
|
|
1793
2123
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]]:
|
|
1794
|
-
'''
|
|
2124
|
+
'''
|
|
2125
|
+
:deprecated: this property has been deprecated
|
|
2126
|
+
|
|
2127
|
+
:stability: deprecated
|
|
2128
|
+
'''
|
|
1795
2129
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.VisualReferenceProperty"]], jsii.get(self, "visualReference"))
|
|
1796
2130
|
|
|
1797
2131
|
@visual_reference.setter
|
|
@@ -1804,6 +2138,24 @@ class CfnCanary(
|
|
|
1804
2138
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1805
2139
|
jsii.set(self, "visualReference", value) # pyright: ignore[reportArgumentType]
|
|
1806
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
|
+
|
|
1807
2159
|
@builtins.property
|
|
1808
2160
|
@jsii.member(jsii_name="vpcConfig")
|
|
1809
2161
|
def vpc_config(
|
|
@@ -1964,10 +2316,64 @@ class CfnCanary(
|
|
|
1964
2316
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
1965
2317
|
)
|
|
1966
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
|
+
|
|
1967
2371
|
@jsii.data_type(
|
|
1968
2372
|
jsii_type="aws-cdk-lib.aws_synthetics.CfnCanary.CodeProperty",
|
|
1969
2373
|
jsii_struct_bases=[],
|
|
1970
2374
|
name_mapping={
|
|
2375
|
+
"blueprint_types": "blueprintTypes",
|
|
2376
|
+
"dependencies": "dependencies",
|
|
1971
2377
|
"handler": "handler",
|
|
1972
2378
|
"s3_bucket": "s3Bucket",
|
|
1973
2379
|
"s3_key": "s3Key",
|
|
@@ -1980,7 +2386,9 @@ class CfnCanary(
|
|
|
1980
2386
|
def __init__(
|
|
1981
2387
|
self,
|
|
1982
2388
|
*,
|
|
1983
|
-
|
|
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,
|
|
1984
2392
|
s3_bucket: typing.Optional[builtins.str] = None,
|
|
1985
2393
|
s3_key: typing.Optional[builtins.str] = None,
|
|
1986
2394
|
s3_object_version: typing.Optional[builtins.str] = None,
|
|
@@ -1991,7 +2399,9 @@ class CfnCanary(
|
|
|
1991
2399
|
|
|
1992
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`` .
|
|
1993
2401
|
|
|
1994
|
-
: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`` .
|
|
1995
2405
|
:param s3_bucket: If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
|
|
1996
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>`_ .
|
|
1997
2407
|
:param s3_object_version: The Amazon S3 version ID of your script.
|
|
@@ -2008,9 +2418,14 @@ class CfnCanary(
|
|
|
2008
2418
|
from aws_cdk import aws_synthetics as synthetics
|
|
2009
2419
|
|
|
2010
2420
|
code_property = synthetics.CfnCanary.CodeProperty(
|
|
2011
|
-
|
|
2421
|
+
blueprint_types=["blueprintTypes"],
|
|
2422
|
+
dependencies=[synthetics.CfnCanary.DependencyProperty(
|
|
2423
|
+
reference="reference",
|
|
2012
2424
|
|
|
2013
|
-
|
|
2425
|
+
# the properties below are optional
|
|
2426
|
+
type="type"
|
|
2427
|
+
)],
|
|
2428
|
+
handler="handler",
|
|
2014
2429
|
s3_bucket="s3Bucket",
|
|
2015
2430
|
s3_key="s3Key",
|
|
2016
2431
|
s3_object_version="s3ObjectVersion",
|
|
@@ -2020,15 +2435,21 @@ class CfnCanary(
|
|
|
2020
2435
|
'''
|
|
2021
2436
|
if __debug__:
|
|
2022
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"])
|
|
2023
2440
|
check_type(argname="argument handler", value=handler, expected_type=type_hints["handler"])
|
|
2024
2441
|
check_type(argname="argument s3_bucket", value=s3_bucket, expected_type=type_hints["s3_bucket"])
|
|
2025
2442
|
check_type(argname="argument s3_key", value=s3_key, expected_type=type_hints["s3_key"])
|
|
2026
2443
|
check_type(argname="argument s3_object_version", value=s3_object_version, expected_type=type_hints["s3_object_version"])
|
|
2027
2444
|
check_type(argname="argument script", value=script, expected_type=type_hints["script"])
|
|
2028
2445
|
check_type(argname="argument source_location_arn", value=source_location_arn, expected_type=type_hints["source_location_arn"])
|
|
2029
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2030
|
-
|
|
2031
|
-
|
|
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
|
|
2032
2453
|
if s3_bucket is not None:
|
|
2033
2454
|
self._values["s3_bucket"] = s3_bucket
|
|
2034
2455
|
if s3_key is not None:
|
|
@@ -2041,16 +2462,41 @@ class CfnCanary(
|
|
|
2041
2462
|
self._values["source_location_arn"] = source_location_arn
|
|
2042
2463
|
|
|
2043
2464
|
@builtins.property
|
|
2044
|
-
def
|
|
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]:
|
|
2045
2490
|
'''The entry point to use for the source code when running the canary.
|
|
2046
2491
|
|
|
2047
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*`` .
|
|
2048
2493
|
|
|
2494
|
+
This field is required when you don't specify ``BlueprintTypes`` and is not allowed when you specify ``BlueprintTypes`` .
|
|
2495
|
+
|
|
2049
2496
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-handler
|
|
2050
2497
|
'''
|
|
2051
2498
|
result = self._values.get("handler")
|
|
2052
|
-
|
|
2053
|
-
return typing.cast(builtins.str, result)
|
|
2499
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2054
2500
|
|
|
2055
2501
|
@builtins.property
|
|
2056
2502
|
def s3_bucket(self) -> typing.Optional[builtins.str]:
|
|
@@ -2114,6 +2560,83 @@ class CfnCanary(
|
|
|
2114
2560
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
2115
2561
|
)
|
|
2116
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"])
|
|
2600
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2601
|
+
"reference": reference,
|
|
2602
|
+
}
|
|
2603
|
+
if type is not None:
|
|
2604
|
+
self._values["type"] = type
|
|
2605
|
+
|
|
2606
|
+
@builtins.property
|
|
2607
|
+
def reference(self) -> builtins.str:
|
|
2608
|
+
'''The dependency reference.
|
|
2609
|
+
|
|
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>`_ .
|
|
2611
|
+
|
|
2612
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-dependency.html#cfn-synthetics-canary-dependency-reference
|
|
2613
|
+
'''
|
|
2614
|
+
result = self._values.get("reference")
|
|
2615
|
+
assert result is not None, "Required property 'reference' is missing"
|
|
2616
|
+
return typing.cast(builtins.str, result)
|
|
2617
|
+
|
|
2618
|
+
@builtins.property
|
|
2619
|
+
def type(self) -> typing.Optional[builtins.str]:
|
|
2620
|
+
'''The type of dependency.
|
|
2621
|
+
|
|
2622
|
+
Valid value is ``LambdaLayer`` .
|
|
2623
|
+
|
|
2624
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-dependency.html#cfn-synthetics-canary-dependency-type
|
|
2625
|
+
'''
|
|
2626
|
+
result = self._values.get("type")
|
|
2627
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2628
|
+
|
|
2629
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2630
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2631
|
+
|
|
2632
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2633
|
+
return not (rhs == self)
|
|
2634
|
+
|
|
2635
|
+
def __repr__(self) -> str:
|
|
2636
|
+
return "DependencyProperty(%s)" % ", ".join(
|
|
2637
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2638
|
+
)
|
|
2639
|
+
|
|
2117
2640
|
@jsii.data_type(
|
|
2118
2641
|
jsii_type="aws-cdk-lib.aws_synthetics.CfnCanary.RetryConfigProperty",
|
|
2119
2642
|
jsii_struct_bases=[],
|
|
@@ -2174,6 +2697,7 @@ class CfnCanary(
|
|
|
2174
2697
|
name_mapping={
|
|
2175
2698
|
"active_tracing": "activeTracing",
|
|
2176
2699
|
"environment_variables": "environmentVariables",
|
|
2700
|
+
"ephemeral_storage": "ephemeralStorage",
|
|
2177
2701
|
"memory_in_mb": "memoryInMb",
|
|
2178
2702
|
"timeout_in_seconds": "timeoutInSeconds",
|
|
2179
2703
|
},
|
|
@@ -2184,6 +2708,7 @@ class CfnCanary(
|
|
|
2184
2708
|
*,
|
|
2185
2709
|
active_tracing: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2186
2710
|
environment_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
|
|
2711
|
+
ephemeral_storage: typing.Optional[jsii.Number] = None,
|
|
2187
2712
|
memory_in_mb: typing.Optional[jsii.Number] = None,
|
|
2188
2713
|
timeout_in_seconds: typing.Optional[jsii.Number] = None,
|
|
2189
2714
|
) -> None:
|
|
@@ -2193,6 +2718,7 @@ class CfnCanary(
|
|
|
2193
2718
|
|
|
2194
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.
|
|
2195
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.
|
|
2196
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.
|
|
2197
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.
|
|
2198
2724
|
|
|
@@ -2210,6 +2736,7 @@ class CfnCanary(
|
|
|
2210
2736
|
environment_variables={
|
|
2211
2737
|
"environment_variables_key": "environmentVariables"
|
|
2212
2738
|
},
|
|
2739
|
+
ephemeral_storage=123,
|
|
2213
2740
|
memory_in_mb=123,
|
|
2214
2741
|
timeout_in_seconds=123
|
|
2215
2742
|
)
|
|
@@ -2218,6 +2745,7 @@ class CfnCanary(
|
|
|
2218
2745
|
type_hints = typing.get_type_hints(_typecheckingstub__fa148862e82948accbbe951e7afcee721aa7014754c81106d2648fe1c5cf28e2)
|
|
2219
2746
|
check_type(argname="argument active_tracing", value=active_tracing, expected_type=type_hints["active_tracing"])
|
|
2220
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"])
|
|
2221
2749
|
check_type(argname="argument memory_in_mb", value=memory_in_mb, expected_type=type_hints["memory_in_mb"])
|
|
2222
2750
|
check_type(argname="argument timeout_in_seconds", value=timeout_in_seconds, expected_type=type_hints["timeout_in_seconds"])
|
|
2223
2751
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
@@ -2225,6 +2753,8 @@ class CfnCanary(
|
|
|
2225
2753
|
self._values["active_tracing"] = active_tracing
|
|
2226
2754
|
if environment_variables is not None:
|
|
2227
2755
|
self._values["environment_variables"] = environment_variables
|
|
2756
|
+
if ephemeral_storage is not None:
|
|
2757
|
+
self._values["ephemeral_storage"] = ephemeral_storage
|
|
2228
2758
|
if memory_in_mb is not None:
|
|
2229
2759
|
self._values["memory_in_mb"] = memory_in_mb
|
|
2230
2760
|
if timeout_in_seconds is not None:
|
|
@@ -2262,6 +2792,17 @@ class CfnCanary(
|
|
|
2262
2792
|
result = self._values.get("environment_variables")
|
|
2263
2793
|
return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
|
|
2264
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
|
+
|
|
2265
2806
|
@builtins.property
|
|
2266
2807
|
def memory_in_mb(self) -> typing.Optional[jsii.Number]:
|
|
2267
2808
|
'''The maximum amount of memory that the canary can use while running.
|
|
@@ -2599,6 +3140,7 @@ class CfnCanary(
|
|
|
2599
3140
|
name_mapping={
|
|
2600
3141
|
"base_canary_run_id": "baseCanaryRunId",
|
|
2601
3142
|
"base_screenshots": "baseScreenshots",
|
|
3143
|
+
"browser_type": "browserType",
|
|
2602
3144
|
},
|
|
2603
3145
|
)
|
|
2604
3146
|
class VisualReferenceProperty:
|
|
@@ -2607,6 +3149,7 @@ class CfnCanary(
|
|
|
2607
3149
|
*,
|
|
2608
3150
|
base_canary_run_id: builtins.str,
|
|
2609
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,
|
|
2610
3153
|
) -> None:
|
|
2611
3154
|
'''Defines the screenshots to use as the baseline for comparisons during visual monitoring comparisons during future runs of this canary.
|
|
2612
3155
|
|
|
@@ -2616,6 +3159,7 @@ class CfnCanary(
|
|
|
2616
3159
|
|
|
2617
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.
|
|
2618
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`` .
|
|
2619
3163
|
|
|
2620
3164
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-visualreference.html
|
|
2621
3165
|
:exampleMetadata: fixture=_generated
|
|
@@ -2635,18 +3179,22 @@ class CfnCanary(
|
|
|
2635
3179
|
|
|
2636
3180
|
# the properties below are optional
|
|
2637
3181
|
ignore_coordinates=["ignoreCoordinates"]
|
|
2638
|
-
)]
|
|
3182
|
+
)],
|
|
3183
|
+
browser_type="browserType"
|
|
2639
3184
|
)
|
|
2640
3185
|
'''
|
|
2641
3186
|
if __debug__:
|
|
2642
3187
|
type_hints = typing.get_type_hints(_typecheckingstub__f52b6b7318141dc99f6bd36c21b91cda286b67d7dea805791a6132a2cd794526)
|
|
2643
3188
|
check_type(argname="argument base_canary_run_id", value=base_canary_run_id, expected_type=type_hints["base_canary_run_id"])
|
|
2644
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"])
|
|
2645
3191
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2646
3192
|
"base_canary_run_id": base_canary_run_id,
|
|
2647
3193
|
}
|
|
2648
3194
|
if base_screenshots is not None:
|
|
2649
3195
|
self._values["base_screenshots"] = base_screenshots
|
|
3196
|
+
if browser_type is not None:
|
|
3197
|
+
self._values["browser_type"] = browser_type
|
|
2650
3198
|
|
|
2651
3199
|
@builtins.property
|
|
2652
3200
|
def base_canary_run_id(self) -> builtins.str:
|
|
@@ -2671,6 +3219,17 @@ class CfnCanary(
|
|
|
2671
3219
|
result = self._values.get("base_screenshots")
|
|
2672
3220
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCanary.BaseScreenshotProperty"]]]], result)
|
|
2673
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
|
+
|
|
2674
3233
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2675
3234
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2676
3235
|
|
|
@@ -2694,6 +3253,7 @@ class CfnCanary(
|
|
|
2694
3253
|
"runtime_version": "runtimeVersion",
|
|
2695
3254
|
"schedule": "schedule",
|
|
2696
3255
|
"artifact_config": "artifactConfig",
|
|
3256
|
+
"browser_configs": "browserConfigs",
|
|
2697
3257
|
"delete_lambda_resources_on_canary_deletion": "deleteLambdaResourcesOnCanaryDeletion",
|
|
2698
3258
|
"dry_run_and_update": "dryRunAndUpdate",
|
|
2699
3259
|
"failure_retention_period": "failureRetentionPeriod",
|
|
@@ -2704,6 +3264,7 @@ class CfnCanary(
|
|
|
2704
3264
|
"success_retention_period": "successRetentionPeriod",
|
|
2705
3265
|
"tags": "tags",
|
|
2706
3266
|
"visual_reference": "visualReference",
|
|
3267
|
+
"visual_references": "visualReferences",
|
|
2707
3268
|
"vpc_config": "vpcConfig",
|
|
2708
3269
|
},
|
|
2709
3270
|
)
|
|
@@ -2718,6 +3279,7 @@ class CfnCanaryProps:
|
|
|
2718
3279
|
runtime_version: builtins.str,
|
|
2719
3280
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
2720
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,
|
|
2721
3283
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2722
3284
|
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2723
3285
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
@@ -2728,6 +3290,7 @@ class CfnCanaryProps:
|
|
|
2728
3290
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
2729
3291
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2730
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,
|
|
2731
3294
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VPCConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2732
3295
|
) -> None:
|
|
2733
3296
|
'''Properties for defining a ``CfnCanary``.
|
|
@@ -2739,6 +3302,7 @@ class CfnCanaryProps:
|
|
|
2739
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>`_ .
|
|
2740
3303
|
:param schedule: A structure that contains information about how often the canary is to run, and when these runs are to stop.
|
|
2741
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.
|
|
2742
3306
|
:param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
|
|
2743
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>`_ .
|
|
2744
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.
|
|
@@ -2748,7 +3312,8 @@ class CfnCanaryProps:
|
|
|
2748
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.
|
|
2749
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.
|
|
2750
3314
|
:param tags: The list of key-value pairs that are associated with the canary.
|
|
2751
|
-
: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.
|
|
2752
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>`_ .
|
|
2753
3318
|
|
|
2754
3319
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html
|
|
@@ -2763,9 +3328,14 @@ class CfnCanaryProps:
|
|
|
2763
3328
|
cfn_canary_props = synthetics.CfnCanaryProps(
|
|
2764
3329
|
artifact_s3_location="artifactS3Location",
|
|
2765
3330
|
code=synthetics.CfnCanary.CodeProperty(
|
|
2766
|
-
|
|
3331
|
+
blueprint_types=["blueprintTypes"],
|
|
3332
|
+
dependencies=[synthetics.CfnCanary.DependencyProperty(
|
|
3333
|
+
reference="reference",
|
|
2767
3334
|
|
|
2768
|
-
|
|
3335
|
+
# the properties below are optional
|
|
3336
|
+
type="type"
|
|
3337
|
+
)],
|
|
3338
|
+
handler="handler",
|
|
2769
3339
|
s3_bucket="s3Bucket",
|
|
2770
3340
|
s3_key="s3Key",
|
|
2771
3341
|
s3_object_version="s3ObjectVersion",
|
|
@@ -2792,6 +3362,9 @@ class CfnCanaryProps:
|
|
|
2792
3362
|
kms_key_arn="kmsKeyArn"
|
|
2793
3363
|
)
|
|
2794
3364
|
),
|
|
3365
|
+
browser_configs=[synthetics.CfnCanary.BrowserConfigProperty(
|
|
3366
|
+
browser_type="browserType"
|
|
3367
|
+
)],
|
|
2795
3368
|
delete_lambda_resources_on_canary_deletion=False,
|
|
2796
3369
|
dry_run_and_update=False,
|
|
2797
3370
|
failure_retention_period=123,
|
|
@@ -2802,6 +3375,7 @@ class CfnCanaryProps:
|
|
|
2802
3375
|
environment_variables={
|
|
2803
3376
|
"environment_variables_key": "environmentVariables"
|
|
2804
3377
|
},
|
|
3378
|
+
ephemeral_storage=123,
|
|
2805
3379
|
memory_in_mb=123,
|
|
2806
3380
|
timeout_in_seconds=123
|
|
2807
3381
|
),
|
|
@@ -2820,8 +3394,21 @@ class CfnCanaryProps:
|
|
|
2820
3394
|
|
|
2821
3395
|
# the properties below are optional
|
|
2822
3396
|
ignore_coordinates=["ignoreCoordinates"]
|
|
2823
|
-
)]
|
|
3397
|
+
)],
|
|
3398
|
+
browser_type="browserType"
|
|
2824
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
|
+
)],
|
|
2825
3412
|
vpc_config=synthetics.CfnCanary.VPCConfigProperty(
|
|
2826
3413
|
security_group_ids=["securityGroupIds"],
|
|
2827
3414
|
subnet_ids=["subnetIds"],
|
|
@@ -2841,6 +3428,7 @@ class CfnCanaryProps:
|
|
|
2841
3428
|
check_type(argname="argument runtime_version", value=runtime_version, expected_type=type_hints["runtime_version"])
|
|
2842
3429
|
check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
|
|
2843
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"])
|
|
2844
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"])
|
|
2845
3433
|
check_type(argname="argument dry_run_and_update", value=dry_run_and_update, expected_type=type_hints["dry_run_and_update"])
|
|
2846
3434
|
check_type(argname="argument failure_retention_period", value=failure_retention_period, expected_type=type_hints["failure_retention_period"])
|
|
@@ -2851,6 +3439,7 @@ class CfnCanaryProps:
|
|
|
2851
3439
|
check_type(argname="argument success_retention_period", value=success_retention_period, expected_type=type_hints["success_retention_period"])
|
|
2852
3440
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
2853
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"])
|
|
2854
3443
|
check_type(argname="argument vpc_config", value=vpc_config, expected_type=type_hints["vpc_config"])
|
|
2855
3444
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2856
3445
|
"artifact_s3_location": artifact_s3_location,
|
|
@@ -2862,6 +3451,8 @@ class CfnCanaryProps:
|
|
|
2862
3451
|
}
|
|
2863
3452
|
if artifact_config is not None:
|
|
2864
3453
|
self._values["artifact_config"] = artifact_config
|
|
3454
|
+
if browser_configs is not None:
|
|
3455
|
+
self._values["browser_configs"] = browser_configs
|
|
2865
3456
|
if delete_lambda_resources_on_canary_deletion is not None:
|
|
2866
3457
|
self._values["delete_lambda_resources_on_canary_deletion"] = delete_lambda_resources_on_canary_deletion
|
|
2867
3458
|
if dry_run_and_update is not None:
|
|
@@ -2882,6 +3473,8 @@ class CfnCanaryProps:
|
|
|
2882
3473
|
self._values["tags"] = tags
|
|
2883
3474
|
if visual_reference is not None:
|
|
2884
3475
|
self._values["visual_reference"] = visual_reference
|
|
3476
|
+
if visual_references is not None:
|
|
3477
|
+
self._values["visual_references"] = visual_references
|
|
2885
3478
|
if vpc_config is not None:
|
|
2886
3479
|
self._values["vpc_config"] = vpc_config
|
|
2887
3480
|
|
|
@@ -2978,6 +3571,22 @@ class CfnCanaryProps:
|
|
|
2978
3571
|
result = self._values.get("artifact_config")
|
|
2979
3572
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.ArtifactConfigProperty]], result)
|
|
2980
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
|
+
|
|
2981
3590
|
@builtins.property
|
|
2982
3591
|
def delete_lambda_resources_on_canary_deletion(
|
|
2983
3592
|
self,
|
|
@@ -3100,13 +3709,32 @@ class CfnCanaryProps:
|
|
|
3100
3709
|
def visual_reference(
|
|
3101
3710
|
self,
|
|
3102
3711
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]]:
|
|
3103
|
-
'''
|
|
3712
|
+
'''
|
|
3713
|
+
:deprecated: this property has been deprecated
|
|
3104
3714
|
|
|
3105
3715
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-visualreference
|
|
3716
|
+
:stability: deprecated
|
|
3106
3717
|
'''
|
|
3107
3718
|
result = self._values.get("visual_reference")
|
|
3108
3719
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.VisualReferenceProperty]], result)
|
|
3109
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
|
+
|
|
3110
3738
|
@builtins.property
|
|
3111
3739
|
def vpc_config(
|
|
3112
3740
|
self,
|
|
@@ -3132,7 +3760,7 @@ class CfnCanaryProps:
|
|
|
3132
3760
|
)
|
|
3133
3761
|
|
|
3134
3762
|
|
|
3135
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
3763
|
+
@jsii.implements(_IInspectable_c2943556, _IGroupRef_4fc55162, _ITaggable_36806126)
|
|
3136
3764
|
class CfnGroup(
|
|
3137
3765
|
_CfnResource_9df397a6,
|
|
3138
3766
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3177,7 +3805,8 @@ class CfnGroup(
|
|
|
3177
3805
|
resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3178
3806
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3179
3807
|
) -> None:
|
|
3180
|
-
'''
|
|
3808
|
+
'''Create a new ``AWS::Synthetics::Group``.
|
|
3809
|
+
|
|
3181
3810
|
:param scope: Scope in which this resource is defined.
|
|
3182
3811
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3183
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.
|
|
@@ -3236,6 +3865,12 @@ class CfnGroup(
|
|
|
3236
3865
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3237
3866
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3238
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
|
+
|
|
3239
3874
|
@builtins.property
|
|
3240
3875
|
@jsii.member(jsii_name="tags")
|
|
3241
3876
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -3408,17 +4043,14 @@ class Code(
|
|
|
3408
4043
|
|
|
3409
4044
|
Example::
|
|
3410
4045
|
|
|
3411
|
-
import aws_cdk as cdk
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
4046
|
canary = synthetics.Canary(self, "MyCanary",
|
|
3415
4047
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
3416
4048
|
test=synthetics.Test.custom(
|
|
3417
4049
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
3418
4050
|
handler="index.handler"
|
|
3419
4051
|
),
|
|
3420
|
-
runtime=synthetics.Runtime.
|
|
3421
|
-
|
|
4052
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4053
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
3422
4054
|
)
|
|
3423
4055
|
'''
|
|
3424
4056
|
|
|
@@ -3434,7 +4066,7 @@ class Code(
|
|
|
3434
4066
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
3435
4067
|
display_name: typing.Optional[builtins.str] = None,
|
|
3436
4068
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
3437
|
-
source_kms_key: typing.Optional[
|
|
4069
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
3438
4070
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
3439
4071
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
3440
4072
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -3484,7 +4116,7 @@ class Code(
|
|
|
3484
4116
|
@builtins.classmethod
|
|
3485
4117
|
def from_bucket(
|
|
3486
4118
|
cls,
|
|
3487
|
-
bucket:
|
|
4119
|
+
bucket: _IBucketRef_3debe44e,
|
|
3488
4120
|
key: builtins.str,
|
|
3489
4121
|
object_version: typing.Optional[builtins.str] = None,
|
|
3490
4122
|
) -> "S3Code":
|
|
@@ -3784,17 +4416,14 @@ class CustomTestOptions:
|
|
|
3784
4416
|
|
|
3785
4417
|
Example::
|
|
3786
4418
|
|
|
3787
|
-
import aws_cdk as cdk
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
4419
|
canary = synthetics.Canary(self, "MyCanary",
|
|
3791
4420
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
3792
4421
|
test=synthetics.Test.custom(
|
|
3793
4422
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
3794
4423
|
handler="index.handler"
|
|
3795
4424
|
),
|
|
3796
|
-
runtime=synthetics.Runtime.
|
|
3797
|
-
|
|
4425
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4426
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
3798
4427
|
)
|
|
3799
4428
|
'''
|
|
3800
4429
|
if __debug__:
|
|
@@ -3886,6 +4515,34 @@ class InlineCode(
|
|
|
3886
4515
|
return typing.cast(CodeConfig, jsii.invoke(self, "bind", [scope, handler, _family, _runtime_name]))
|
|
3887
4516
|
|
|
3888
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
|
+
|
|
3889
4546
|
class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Runtime"):
|
|
3890
4547
|
'''Runtime options for a canary.
|
|
3891
4548
|
|
|
@@ -3893,17 +4550,14 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
|
|
|
3893
4550
|
|
|
3894
4551
|
Example::
|
|
3895
4552
|
|
|
3896
|
-
import aws_cdk as cdk
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
4553
|
canary = synthetics.Canary(self, "MyCanary",
|
|
3900
4554
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
3901
4555
|
test=synthetics.Test.custom(
|
|
3902
4556
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
3903
4557
|
handler="index.handler"
|
|
3904
4558
|
),
|
|
3905
|
-
runtime=synthetics.Runtime.
|
|
3906
|
-
|
|
4559
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
4560
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
3907
4561
|
)
|
|
3908
4562
|
'''
|
|
3909
4563
|
|
|
@@ -3935,6 +4589,70 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
|
|
|
3935
4589
|
'''
|
|
3936
4590
|
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PLAYWRIGHT_1_0"))
|
|
3937
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
|
+
|
|
3938
4656
|
@jsii.python.classproperty
|
|
3939
4657
|
@jsii.member(jsii_name="SYNTHETICS_NODEJS_PUPPETEER_3_5")
|
|
3940
4658
|
def SYNTHETICS_NODEJS_PUPPETEER_3_5(cls) -> "Runtime":
|
|
@@ -4345,6 +5063,24 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
|
|
|
4345
5063
|
'''
|
|
4346
5064
|
return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_5_1"))
|
|
4347
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
|
+
|
|
4348
5084
|
@builtins.property
|
|
4349
5085
|
@jsii.member(jsii_name="family")
|
|
4350
5086
|
def family(self) -> "RuntimeFamily":
|
|
@@ -4383,17 +5119,17 @@ class S3Code(
|
|
|
4383
5119
|
|
|
4384
5120
|
# The code below shows an example of how to instantiate this type.
|
|
4385
5121
|
# The values are placeholders you should change.
|
|
4386
|
-
from aws_cdk import aws_s3 as s3
|
|
4387
5122
|
from aws_cdk import aws_synthetics as synthetics
|
|
5123
|
+
from aws_cdk.interfaces import aws_s3 as interfaces_aws_s3
|
|
4388
5124
|
|
|
4389
|
-
#
|
|
5125
|
+
# bucket_ref: interfaces_aws_s3.IBucketRef
|
|
4390
5126
|
|
|
4391
|
-
s3_code = synthetics.S3Code(
|
|
5127
|
+
s3_code = synthetics.S3Code(bucket_ref, "key", "objectVersion")
|
|
4392
5128
|
'''
|
|
4393
5129
|
|
|
4394
5130
|
def __init__(
|
|
4395
5131
|
self,
|
|
4396
|
-
bucket:
|
|
5132
|
+
bucket: _IBucketRef_3debe44e,
|
|
4397
5133
|
key: builtins.str,
|
|
4398
5134
|
object_version: typing.Optional[builtins.str] = None,
|
|
4399
5135
|
) -> None:
|
|
@@ -4446,11 +5182,11 @@ class Schedule(
|
|
|
4446
5182
|
canary = synthetics.Canary(self, "MyCanary",
|
|
4447
5183
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
4448
5184
|
test=synthetics.Test.custom(
|
|
4449
|
-
|
|
4450
|
-
|
|
5185
|
+
handler="canary.handler",
|
|
5186
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canaries"))
|
|
4451
5187
|
),
|
|
4452
|
-
runtime=synthetics.Runtime.
|
|
4453
|
-
|
|
5188
|
+
runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
|
|
5189
|
+
max_retries=2
|
|
4454
5190
|
)
|
|
4455
5191
|
'''
|
|
4456
5192
|
|
|
@@ -4529,17 +5265,14 @@ class Test(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Test")
|
|
|
4529
5265
|
|
|
4530
5266
|
Example::
|
|
4531
5267
|
|
|
4532
|
-
import aws_cdk as cdk
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
5268
|
canary = synthetics.Canary(self, "MyCanary",
|
|
4536
5269
|
schedule=synthetics.Schedule.rate(Duration.minutes(5)),
|
|
4537
5270
|
test=synthetics.Test.custom(
|
|
4538
5271
|
code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
|
|
4539
5272
|
handler="index.handler"
|
|
4540
5273
|
),
|
|
4541
|
-
runtime=synthetics.Runtime.
|
|
4542
|
-
|
|
5274
|
+
runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
|
|
5275
|
+
resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
|
|
4543
5276
|
)
|
|
4544
5277
|
'''
|
|
4545
5278
|
|
|
@@ -4585,12 +5318,12 @@ class AssetCode(
|
|
|
4585
5318
|
# The values are placeholders you should change.
|
|
4586
5319
|
import aws_cdk as cdk
|
|
4587
5320
|
from aws_cdk import aws_iam as iam
|
|
4588
|
-
from aws_cdk import aws_kms as kms
|
|
4589
5321
|
from aws_cdk import aws_synthetics as synthetics
|
|
5322
|
+
from aws_cdk.interfaces import aws_kms as interfaces_aws_kms
|
|
4590
5323
|
|
|
4591
5324
|
# docker_image: cdk.DockerImage
|
|
4592
5325
|
# grantable: iam.IGrantable
|
|
4593
|
-
#
|
|
5326
|
+
# key_ref: interfaces_aws_kms.IKeyRef
|
|
4594
5327
|
# local_bundling: cdk.ILocalBundling
|
|
4595
5328
|
|
|
4596
5329
|
asset_code = synthetics.AssetCode("assetPath",
|
|
@@ -4628,7 +5361,7 @@ class AssetCode(
|
|
|
4628
5361
|
follow_symlinks=cdk.SymlinkFollowMode.NEVER,
|
|
4629
5362
|
ignore_mode=cdk.IgnoreMode.GLOB,
|
|
4630
5363
|
readers=[grantable],
|
|
4631
|
-
source_kMSKey=
|
|
5364
|
+
source_kMSKey=key_ref
|
|
4632
5365
|
)
|
|
4633
5366
|
'''
|
|
4634
5367
|
|
|
@@ -4639,7 +5372,7 @@ class AssetCode(
|
|
|
4639
5372
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
4640
5373
|
display_name: typing.Optional[builtins.str] = None,
|
|
4641
5374
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
4642
|
-
source_kms_key: typing.Optional[
|
|
5375
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
4643
5376
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
4644
5377
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
4645
5378
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -4706,6 +5439,7 @@ __all__ = [
|
|
|
4706
5439
|
"ArtifactsBucketLocation",
|
|
4707
5440
|
"ArtifactsEncryptionMode",
|
|
4708
5441
|
"AssetCode",
|
|
5442
|
+
"BrowserType",
|
|
4709
5443
|
"Canary",
|
|
4710
5444
|
"CanaryProps",
|
|
4711
5445
|
"CfnCanary",
|
|
@@ -4718,6 +5452,7 @@ __all__ = [
|
|
|
4718
5452
|
"CronOptions",
|
|
4719
5453
|
"CustomTestOptions",
|
|
4720
5454
|
"InlineCode",
|
|
5455
|
+
"ResourceToReplicateTags",
|
|
4721
5456
|
"Runtime",
|
|
4722
5457
|
"RuntimeFamily",
|
|
4723
5458
|
"S3Code",
|
|
@@ -4746,12 +5481,16 @@ def _typecheckingstub__b3b6d76e5f93e31884e16cc00a9b4fc93e6782ff7db09c74aa1ef9346
|
|
|
4746
5481
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4747
5482
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4748
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,
|
|
4749
5485
|
canary_name: typing.Optional[builtins.str] = None,
|
|
4750
5486
|
cleanup: typing.Optional[Cleanup] = None,
|
|
5487
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
4751
5488
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4752
5489
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
5490
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
4753
5491
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
4754
5492
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
5493
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence[ResourceToReplicateTags]] = None,
|
|
4755
5494
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
4756
5495
|
schedule: typing.Optional[Schedule] = None,
|
|
4757
5496
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -4774,12 +5513,16 @@ def _typecheckingstub__44ec0b14d52b66927d4daebe6f97bb070f3629bb0eb86e21668ca7862
|
|
|
4774
5513
|
artifact_s3_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
4775
5514
|
artifacts_bucket_lifecycle_rules: typing.Optional[typing.Sequence[typing.Union[_LifecycleRule_bb74e6ff, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4776
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,
|
|
4777
5517
|
canary_name: typing.Optional[builtins.str] = None,
|
|
4778
5518
|
cleanup: typing.Optional[Cleanup] = None,
|
|
5519
|
+
dry_run_and_update: typing.Optional[builtins.bool] = None,
|
|
4779
5520
|
environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4780
5521
|
failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
|
|
5522
|
+
max_retries: typing.Optional[jsii.Number] = None,
|
|
4781
5523
|
memory: typing.Optional[_Size_7b441c34] = None,
|
|
4782
5524
|
provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
|
|
5525
|
+
resources_to_replicate_tags: typing.Optional[typing.Sequence[ResourceToReplicateTags]] = None,
|
|
4783
5526
|
role: typing.Optional[_IRole_235f5d8e] = None,
|
|
4784
5527
|
schedule: typing.Optional[Schedule] = None,
|
|
4785
5528
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -4804,6 +5547,7 @@ def _typecheckingstub__b8fcb3f48eca9399b4d1d31a5ef709e22f9fa52ad1e174b75d8313ef2
|
|
|
4804
5547
|
runtime_version: builtins.str,
|
|
4805
5548
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
4806
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,
|
|
4807
5551
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4808
5552
|
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4809
5553
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
@@ -4814,11 +5558,20 @@ def _typecheckingstub__b8fcb3f48eca9399b4d1d31a5ef709e22f9fa52ad1e174b75d8313ef2
|
|
|
4814
5558
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
4815
5559
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4816
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,
|
|
4817
5562
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VPCConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4818
5563
|
) -> None:
|
|
4819
5564
|
"""Type checking stubs"""
|
|
4820
5565
|
pass
|
|
4821
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
|
+
|
|
4822
5575
|
def _typecheckingstub__bc166bab0fcf177897c1dbb233203e39458428064bc6ff7215b01b2b3ec6f3a2(
|
|
4823
5576
|
inspector: _TreeInspector_488e0dd5,
|
|
4824
5577
|
) -> None:
|
|
@@ -4873,6 +5626,12 @@ def _typecheckingstub__5946ee35eff32e4581a6d2e3e0c69d62cdc3c17f079123211f7251bc1
|
|
|
4873
5626
|
"""Type checking stubs"""
|
|
4874
5627
|
pass
|
|
4875
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
|
+
|
|
4876
5635
|
def _typecheckingstub__442577c2c36e4274dca25b3d866e1aeec3f4ffc18732e01050131a31f768f2b3(
|
|
4877
5636
|
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
4878
5637
|
) -> None:
|
|
@@ -4933,6 +5692,12 @@ def _typecheckingstub__21e93a70969fa03a3f0aa85f6b1615a26d9a0afef8a0cf27f0888fc59
|
|
|
4933
5692
|
"""Type checking stubs"""
|
|
4934
5693
|
pass
|
|
4935
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
|
+
|
|
4936
5701
|
def _typecheckingstub__be63ed6816e3043aef63f6e7c0d0dfcc35f1249735acd4eff8530f8c2253b747(
|
|
4937
5702
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCanary.VPCConfigProperty]],
|
|
4938
5703
|
) -> None:
|
|
@@ -4954,9 +5719,18 @@ def _typecheckingstub__8d401a2416919aef18322e23fb875fc37ad8f90f34f8f5708a245f22f
|
|
|
4954
5719
|
"""Type checking stubs"""
|
|
4955
5720
|
pass
|
|
4956
5721
|
|
|
5722
|
+
def _typecheckingstub__c91e35c3c240434fee052d7f899893609a9c027813412eb6312483e200412435(
|
|
5723
|
+
*,
|
|
5724
|
+
browser_type: builtins.str,
|
|
5725
|
+
) -> None:
|
|
5726
|
+
"""Type checking stubs"""
|
|
5727
|
+
pass
|
|
5728
|
+
|
|
4957
5729
|
def _typecheckingstub__3d403372a613babc1ab10717d050ec9a7f4055961f3545f2d0600d89c7b3dcc3(
|
|
4958
5730
|
*,
|
|
4959
|
-
|
|
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,
|
|
4960
5734
|
s3_bucket: typing.Optional[builtins.str] = None,
|
|
4961
5735
|
s3_key: typing.Optional[builtins.str] = None,
|
|
4962
5736
|
s3_object_version: typing.Optional[builtins.str] = None,
|
|
@@ -4966,6 +5740,14 @@ def _typecheckingstub__3d403372a613babc1ab10717d050ec9a7f4055961f3545f2d0600d89c
|
|
|
4966
5740
|
"""Type checking stubs"""
|
|
4967
5741
|
pass
|
|
4968
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
|
+
|
|
4969
5751
|
def _typecheckingstub__e7a2c989ca2c701e49af0e8032c8c49bb52546c68c9e6359df8e7a9f2c4cf9a1(
|
|
4970
5752
|
*,
|
|
4971
5753
|
max_retries: jsii.Number,
|
|
@@ -4977,6 +5759,7 @@ def _typecheckingstub__fa148862e82948accbbe951e7afcee721aa7014754c81106d2648fe1c
|
|
|
4977
5759
|
*,
|
|
4978
5760
|
active_tracing: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4979
5761
|
environment_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
|
|
5762
|
+
ephemeral_storage: typing.Optional[jsii.Number] = None,
|
|
4980
5763
|
memory_in_mb: typing.Optional[jsii.Number] = None,
|
|
4981
5764
|
timeout_in_seconds: typing.Optional[jsii.Number] = None,
|
|
4982
5765
|
) -> None:
|
|
@@ -5014,6 +5797,7 @@ def _typecheckingstub__f52b6b7318141dc99f6bd36c21b91cda286b67d7dea805791a6132a2c
|
|
|
5014
5797
|
*,
|
|
5015
5798
|
base_canary_run_id: builtins.str,
|
|
5016
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,
|
|
5017
5801
|
) -> None:
|
|
5018
5802
|
"""Type checking stubs"""
|
|
5019
5803
|
pass
|
|
@@ -5027,6 +5811,7 @@ def _typecheckingstub__d869d56ce0d1d2e2add2f80bf39b28abbec2752c719e03194ee540bf1
|
|
|
5027
5811
|
runtime_version: builtins.str,
|
|
5028
5812
|
schedule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ScheduleProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
5029
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,
|
|
5030
5815
|
delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
5031
5816
|
dry_run_and_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
5032
5817
|
failure_retention_period: typing.Optional[jsii.Number] = None,
|
|
@@ -5037,6 +5822,7 @@ def _typecheckingstub__d869d56ce0d1d2e2add2f80bf39b28abbec2752c719e03194ee540bf1
|
|
|
5037
5822
|
success_retention_period: typing.Optional[jsii.Number] = None,
|
|
5038
5823
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5039
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,
|
|
5040
5826
|
vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.VPCConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5041
5827
|
) -> None:
|
|
5042
5828
|
"""Type checking stubs"""
|
|
@@ -5098,7 +5884,7 @@ def _typecheckingstub__02201c2190b076bbceced8708b435fab8189f7f505650002941cc7a50
|
|
|
5098
5884
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
5099
5885
|
display_name: typing.Optional[builtins.str] = None,
|
|
5100
5886
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
5101
|
-
source_kms_key: typing.Optional[
|
|
5887
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
5102
5888
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
5103
5889
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
5104
5890
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5110,7 +5896,7 @@ def _typecheckingstub__02201c2190b076bbceced8708b435fab8189f7f505650002941cc7a50
|
|
|
5110
5896
|
pass
|
|
5111
5897
|
|
|
5112
5898
|
def _typecheckingstub__449747bf42ca4f0c5864a72ad8bd3bcd8b8dedef173ae2e8a54e213a343068a6(
|
|
5113
|
-
bucket:
|
|
5899
|
+
bucket: _IBucketRef_3debe44e,
|
|
5114
5900
|
key: builtins.str,
|
|
5115
5901
|
object_version: typing.Optional[builtins.str] = None,
|
|
5116
5902
|
) -> None:
|
|
@@ -5182,7 +5968,7 @@ def _typecheckingstub__ba23a2bd20fc9334e4b0fac6e1c104de0f53b4ec265cf53ef1a80ad25
|
|
|
5182
5968
|
pass
|
|
5183
5969
|
|
|
5184
5970
|
def _typecheckingstub__94d1b4f54d462b3f798f1b900a1b75b486a8dc3f4f14650931bf7631ce93a5bd(
|
|
5185
|
-
bucket:
|
|
5971
|
+
bucket: _IBucketRef_3debe44e,
|
|
5186
5972
|
key: builtins.str,
|
|
5187
5973
|
object_version: typing.Optional[builtins.str] = None,
|
|
5188
5974
|
) -> None:
|
|
@@ -5216,7 +6002,7 @@ def _typecheckingstub__60a29a536d66536254f2ca409a65dc32f30e483b29091222d42f32106
|
|
|
5216
6002
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
5217
6003
|
display_name: typing.Optional[builtins.str] = None,
|
|
5218
6004
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
5219
|
-
source_kms_key: typing.Optional[
|
|
6005
|
+
source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
|
|
5220
6006
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
5221
6007
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
5222
6008
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|