{"id":23405,"library":"cdk-serverless-clamscan","title":"cdk-serverless-clamscan","description":"An AWS CDK construct library that provides a serverless architecture to scan objects in Amazon S3 for viruses using ClamAV. Current version 2.13.47, requires Python ~=3.9. Development is active with frequent releases (multiple per week).","status":"active","version":"2.13.47","language":"python","source_language":"en","source_url":"https://github.com/awslabs/cdk-serverless-clamscan","tags":["cdk","aws","clamav","serverless","s3","virus-scanning"],"install":[{"cmd":"pip install cdk-serverless-clamscan","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"The construct extends CDK constructs and requires CDK to deploy.","package":"aws-cdk-lib","optional":false}],"imports":[{"wrong":"from cdk_serverless_clamscan import ClamScan","symbol":"ServerlessClamscan","correct":"from cdk_serverless_clamscan import ServerlessClamscan"},{"symbol":"ServerlessClamscanLoggingProps","correct":"from cdk_serverless_clamscan import ServerlessClamscanLoggingProps"},{"symbol":"ServerlessClamscanProps","correct":"from cdk_serverless_clamscan import ServerlessClamscanProps"}],"quickstart":{"code":"from constructs import Construct\nfrom aws_cdk import Stack\nfrom cdk_serverless_clamscan import ClamScan, ClamScanProps\n\nclass ScanStack(Stack):\n    def __init__(self, scope: Construct, id: str, **kwargs):\n        super().__init__(scope, id, **kwargs)\n        ClamScan(\n            self,\n            'ClamScan',\n            props=ClamScanProps(\n                definition_pipeline_schedule='rate(1 hour)'\n            )\n        )","lang":"python","description":"Deploys the serverless ClamAV scanning infrastructure in a CDK stack."},"warnings":[{"fix":"Use ClamScan(self, 'Id', props=ClamScanProps(...)).","message":"Constructor signature changed in v2.0.0: 'ClamScanProps' is now passed as 'props' keyword argument, not as positional dict.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Pass an existing role via 'scan_role_arn' in ClamScanProps.","message":"In v2, the 'scan_role_arn' property is no longer automatically created; you must supply a role with appropriate IAM permissions if you need custom scanning roles.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Set ClamScanProps(add_event_notifications=False) and manually add the S3 notification.","message":"The construct automatically attaches to S3 buckets via S3 Event Notifications. If you already have event notifications on the bucket, you must explicitly set 'add_event_notifications: False' in ClamScanProps to avoid duplication.","severity":"gotcha","affected_versions":"all"},{"fix":"Always specify definition_pipeline_schedule as a rate or cron expression, e.g., 'rate(1 hour)'.","message":"The ClamAV virus definitions update pipeline requires 'definition_pipeline_schedule' - if omitted, it defaults to no schedule and definitions might become stale.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'2.13.47':27 '3.9':30 'activ':33 'amazon':19 'architectur':14 'aw':6,41 'cdk':2,7,40 'cdk-serverless-clamscan':1 'clamav':24,42 'clamscan':4 'construct':8 'current':25 'develop':31 'frequent':35 'librari':9 'multipl':37 'object':17 'per':38 'provid':11 'python':29 'releas':36 'requir':28 's3':20,44 'scan':16,47 'serverless':3,13,43 'use':23 'version':26 'virus':22,46 'virus-scan':45 'week':39","created_at":"2026-05-01T08:07:36.567327+00:00","updated_at":"2026-05-01T08:07:36.567327+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.13.47","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/awslabs/cdk-serverless-clamscan","docs":null,"changelog":null,"pypi":"https://pypi.org/project/cdk-serverless-clamscan/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["aws","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}