{"id":36981651,"url":"https://github.com/bitbull-team/magento2-module-awseventbridge","last_synced_at":"2026-01-13T22:51:30.460Z","repository":{"id":35072291,"uuid":"203398303","full_name":"bitbull-team/magento2-module-awseventbridge","owner":"bitbull-team","description":"Amazon EventBridge integration module for Magento 2","archived":false,"fork":false,"pushed_at":"2023-04-19T19:23:05.000Z","size":447,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-09-19T03:15:36.718Z","etag":null,"topics":["amazon-eventbridge","aws","aws-cloudwatch-events","aws-eventbridge","magento-events","magento2"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitbull-team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-20T14:56:33.000Z","updated_at":"2022-04-25T16:18:07.000Z","dependencies_parsed_at":"2022-08-08T04:16:11.083Z","dependency_job_id":null,"html_url":"https://github.com/bitbull-team/magento2-module-awseventbridge","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/bitbull-team/magento2-module-awseventbridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbull-team%2Fmagento2-module-awseventbridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbull-team%2Fmagento2-module-awseventbridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbull-team%2Fmagento2-module-awseventbridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbull-team%2Fmagento2-module-awseventbridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitbull-team","download_url":"https://codeload.github.com/bitbull-team/magento2-module-awseventbridge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbull-team%2Fmagento2-module-awseventbridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28402188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-eventbridge","aws","aws-cloudwatch-events","aws-eventbridge","magento-events","magento2"],"created_at":"2026-01-13T22:51:29.866Z","updated_at":"2026-01-13T22:51:30.453Z","avatar_url":"https://github.com/bitbull-team.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amazon EventBridge integration module for Magento 2 \n\nSend Magento events to [Amazon EventBridge](https://aws.amazon.com/eventbridge/) service to be able to integrate Magento with many different AWS serverless services. \n\n![Packagist](https://img.shields.io/packagist/v/bitbull/magento2-module-awseventbridge)\n\n![Magento](https://img.shields.io/badge/magento-~2.3.4-red)\n\n![PHP](https://img.shields.io/packagist/php-v/bitbull/magento2-module-awseventbridge)\n\n## Contents\n\n- [Installation instructions](#installation-instructions)\n- [IAM permissions required](#iam-permissions-required)\n- [Setup](#setup)\n    - [Credentials](#credentials)\n    - [Options](#options)\n- [Events](#events)\n    - [Enable events](#enable-events)\n    - [Create an AWS EventBridge Rule](#create-an-aws-eventbridge-rule)\n    - [Data specification](#data-specification)\n    - [Supported Events](#supported-events)\n- [Debug and local testing](#debug-and-local-testing)\n- [Contributing](#contributing)\n\n## Installation instructions\n\nInstall this module using composer: \n\n```bash\ncomposer require bitbull/magento2-module-awseventbridge\n```\n\nExecute Magento 2 Setup Upgrade:\n\n```bash\nbin/magento setup:upgrade [--keep-generated]\n```\n\n## IAM permissions required\n\nCreate a new [IAM Policy](https://docs.aws.amazon.com/en_us/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) with these content:\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Action\": [\n        \"events:PutEvents\"\n      ],\n      \"Effect\": \"Allow\",\n      \"Resource\": \"*\",\n      \"Condition\": {\n        \"StringEquals\": {\n          \"events:source\": \"example.com\"\n        }\n      }\n    }\n  ]\n}\n```\nchange `events:source` according to your module configuration.\n\nread more about IAM permissions at: \n- https://docs.aws.amazon.com/en_us/AmazonCloudWatch/latest/events/auth-and-access-control-cwe.html\n- https://docs.aws.amazon.com/en_us/AmazonCloudWatch/latest/events/policy-keys-cwe.html\n\nIf you are using EC2 instance add this policy to attached [IAM Role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html).\n\nread more about using IAM Role with EC2 at:\n- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html\n\nIf your are running Magento locally, on-premises or with an other Cloud Provider different from AWS follow these steps:\n\n1. Create a new [AWS IAM User](https://docs.aws.amazon.com/en_us/IAM/latest/UserGuide/id_users.html)\n2. Attach the created policy\n3. Generate access keys for the user\n\nread more about creating IAM users at:\n- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html\n- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html\n- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html\n\n## Setup\n\nGo to \"Stores\" \u003e \"Configuration\" \u003e \"Services\" \u003e \"AWS EventBridge\", then start configuring this module.\n\n### Credentials\n\nYou can set your access keys for IAM Users:  \n\n![Credentials keys](./doc/imgs/config-credentials-keys.png?raw=true)\n\nRetrieving from environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY:\n\n![Credentials env](./doc/imgs/config-credentials-env.png?raw=true)\n\nUsing EC2 Instance Role:\n\n![Credentials ec2](./doc/imgs/config-credentials-ec2.png?raw=true)\n\n### Options\n\nEdit module options:\n\n![Options](./doc/imgs/config-options.png?raw=true)\n\n- Set the correct region where you want to receive events, for example \"eu-west-1\".\n- Set event source name with a value that can be filtered (`events:source`) when you connect to these events.\n- Set event bus name, leave empty to use your account default.\n- Enable tracking to add `tracking` property to data object.\n- Enable debug mode if you want a more verbose logging in `var/log/aws-eventbridge.log` log file.\n- Enable CloudWatch Events fallback to use this service instead of EventBridge (for backward compatibility).\n- Enable dry run mode to activate the module actions and integrations without actually sending events data.\n- Enable Queue mode to send events asynchronously using Magento queue instead of real-time (only available on Magento Enterprise edition).\n\nIf you enable the \"Queue mode\" you also need to enable cron consumer runner into your env.php\n```php\n    'cron_consumers_runner' =\u003e [\n        'max_messages' =\u003e 5,\n        'cron_run' =\u003e true,\n        'consumers' =\u003e [\n            'aws.eventbridge.events.send'\n        ]\n    ]\n```\nN.B. cron events are always executed synchronously without using queue.\n\n## Events \n\nThis module inject observers to listen to Magento 2 events, elaborate the payload and then send the event to AWS services.\n\n### Enable events\n\n![Events](./doc/imgs/config-cart-events.png?raw=true)\n\nThese option sections contain a list of supported events that can be activated and used to trigger Lambda functions, send event to an SNS topic, add message to SQS Queue, execute a StepFunction and so on. \nEnable events you want to receive to be able to trigger your EventBridge Rules.\n\n### Create an AWS EventBridge Rule\n\nIn order to connect to an EventBridge event and trigger a target you need to create an EventBridge Rule that match one or more events.\n\nThe event name is used in `detail-type` section of event data, so if you want to match \"CartProductAdded\" event you need to create a rule like this:\n```json\n{\n  \"source\": [\n    \"example.com\"\n  ],\n  \"detail-type\": [\n    \"CartProductAdded\"\n  ]\n}\n```\nremember to also match `source` name to avoid collision with different Magento environment.\n\nYou can also match multiple event names, for example if you want to react to all cart events:\n```json\n{\n  \"source\": [\n    \"example.com\"\n  ],\n  \"detail-type\": [\n    \"CartProductAdded\",\n    \"CartProductUpdated\",\n    \"CartProductRemoved\"\n  ]\n}\n```\n\nIs it possible to use a more specific matching rule in order to match, for example, all cart events related to a specific product sku:\n```json\n{\n  \"source\": [\n    \"example.com\"\n  ],\n  \"detail-type\": [\n    \"CartProductAdded\",\n    \"CartProductUpdated\",\n    \"CartProductRemoved\"\n  ],\n  \"detail\": {\n    \"sku\": [\n      \"WJ12-S-Blue\"\n    ]\n  }\n}\n```\nread more about content-based filtering with Event Patterns at:\n- https://docs.aws.amazon.com/eventbridge/latest/userguide/content-filtering-with-event-patterns.html\n\n### Data specification\n\nEvent will be pass data into `Details` event property:\n```php\n(\n    [sku] =\u003e WJ12-S-Blue\n    [qty] =\u003e 1\n)\n```\n\nEvery event has a `metadata` property that contain date, timestamp and process mode of the event:\n```php\n(\n    [metadata] =\u003e Array\n        (\n            [date] =\u003e 2020-08-26 08:51:18\n            [timestamp] =\u003e 1598431878\n            [async] =\u003e false // true if event was sent asynchronously using Magento Queue\n        )\n)\n```\n\nAdditionally (activating tracking option in backend options) every event will be enriched with `tracking` property that contain infos about client, session and framework, for example:\n```php\n(\n    [sku] =\u003e WJ12-S-Blue\n    [qty] =\u003e 1\n    [tracking] =\u003e Array\n        (\n            [transport] =\u003e HTTP\n            [hostname] =\u003e f3a501ad4988\n            [time] =\u003e 1566594699836\n            [storeId] =\u003e 1\n            [version] =\u003e Array\n                (\n                    [module] =\u003e dev-master\n                    [php] =\u003e 7.1.27-1+ubuntu16.04.1+deb.sury.org+1\n                    [magento] =\u003e 2.2.7\n                )\n            [user] =\u003e Array\n                (\n                    [id] =\u003e 3\n                    [username] =\u003e fabio.gollinucci\n                    [email] =\u003e fabio.gollinucci@bitbull.it\n                )\n            [ip] =\u003e 172.17.0.1\n            [userAgent] =\u003e Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0\n        )\n)\n```\nwhen using Magento CLI `user` is based on the system user that execute the command:\n```php\n(\n    [sku] =\u003e WJ12-S-Blue\n    [qty] =\u003e 1\n    [tracking] =\u003e Array\n        (\n            [transport] =\u003e SHELL\n            [hostname] =\u003e f3a501ad4988\n            [time] =\u003e 1566821355758\n            [storeId] =\u003e 1\n            [version] =\u003e Array\n                (\n                    [module] =\u003e dev-master\n                    [php] =\u003e 7.1.27-1+ubuntu16.04.1+deb.sury.org+1\n                    [magento] =\u003e 2.2.7\n                )\n            [user] =\u003e Array\n                (\n                    [name] =\u003e www-data\n                    [passwd] =\u003e x\n                    [uid] =\u003e 1000\n                    [gid] =\u003e 33\n                    [gecos] =\u003e www-data\n                    [dir] =\u003e /var/www\n                    [shell] =\u003e /usr/sbin/nologin\n                )\n        )\n)\n``` \n\n### Supported Events\n\nHere a list of supported events that can be enabled:\n\n#### Cart events\n\n`CartProductAdded`\nA product is added to cart by a customer.\n\n```json\n{\n    \"sku\": \"abc-123\",\n    \"qty\": 1\n}\n```\n\n`CartProductUpdated`\nA cart is updated by a customer.\n\n```json\n{\n    \"sku\": \"abc-123\",\n    \"operation\": \"add\",\n    \"value\": 1,\n    \"qty\": {\n        \"from\": 1,\n        \"to\": 2\n    }\n}\n```\n```json\n{\n    \"sku\": \"abc-123\",\n    \"operation\": \"remove\",\n    \"value\": 1,\n    \"qty\": {\n        \"from\": 2,\n        \"to\": 1\n    }\n}\n```\n\n`CartProductRemoved`\nA product is removed from cart by a customer.\n\n```json\n{\n    \"sku\": \"abc-123\",\n    \"qty\": 2\n}\n```\n\n#### Admin user events\n\n`UserLoggedIn`\nAn admin user logged in.\n\n```json\n{\n    \"id\": 1,\n    \"username\": \"admin\",\n    \"email\": \"admin@example.com\"\n}\n```\n\n`UserLoggedOut`\nAn admin user logged out.\n\n```json\n{\n    \"id\": 1,\n    \"username\": \"admin\",\n    \"email\": \"admin@example.com\"\n}\n```\n\n`UserLoginFailed`\nAn admin user failed login.\n\n```json\n{\n    \"username\": \"admin\"\n}\n```\n\n#### Customers events\n\n`CustomerLoggedIn`\nA customer user logged in.\n\n```json\n{\n    \"id\": 1,\n    \"createdAt\": \"2020-08-24 00:00:00\",\n    \"email\": \"test@example.com\",\n    \"firstname\": \"Test\",\n    \"gender\": \"\",\n    \"lastname\": \"Test\",\n    \"middlename\": \"\",\n    \"prefix\": \"\",\n    \"suffix\": \"\"\n}\n```\n\n`CustomerLoggedOut`\nA customer user logged out.\n\n```json\n{\n    \"id\": 1,\n    \"createdAt\": \"2020-08-24 00:00:00\",\n    \"email\": \"test@example.com\",\n    \"firstname\": \"Test\",\n    \"gender\": \"\",\n    \"lastname\": \"Test\",\n    \"middlename\": \"\",\n    \"prefix\": \"\",\n    \"suffix\": \"\"\n}\n```\n\n`CustomerLoginFailed`\nA customer user failed login.\n\n```json\n{\n    \"username\": \"test@example.com\",\n    \"messages\": [\n        \"The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later.\"\n    ]\n}\n```\n\n`CustomerSignedUp`\nA customer user sign up.\n\n```json\n{\n    \"id\": 1,\n    \"createdAt\": \"2020-08-24 00:00:00\",\n    \"email\": \"test@example.com\",\n    \"firstname\": \"Test\",\n    \"gender\": \"\",\n    \"lastname\": \"Test\",\n    \"middlename\": \"\",\n    \"prefix\": \"\",\n    \"suffix\": \"\"\n}\n```\n\n`CustomerSignedUpFailed`\nA customer user failed sign up.\n\n```json\n{\n    \"email\": \"test@example.com\",\n    \"firstname\": \"Test\",\n    \"lastname\": \"Test\",\n    \"messages\": [\n        \"customerAlreadyExistsErrorMessage\"\n    ]\n}\n```\n\n#### Newsletter events\n\n`NewsletterSubscriptionChanged`\nA customer user change newsletter subscription preference.\n\n```json\n{\n    \"customerId\": 1,\n    \"email\": \"test@example.com\",\n    \"isSubscribed\": true,\n    \"status\": \"SUBSCRIBED\",\n    \"unsubscriptionLink\": \"https://..\",\n    \"code\": \"1234\"\n}\n```\n```json\n{\n    \"customerId\": 1,\n    \"email\": \"test@example.com\",\n    \"isSubscribed\": false,\n    \"status\": \"UNSUBSCRIBED\"\n}\n```\n\n#### Order events\n\n`OrderPlaced`\nAn new order was placed.\n\n```json\n{\n  \"id\": \"000000001\",\n  \"status\": \"pending\",\n  \"coupon\": null,\n  \"billingAddress\": {\n    \"country\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAddress\": {\n    \"country\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAmount\": 5,\n  \"taxAmount\": 0,\n  \"total\": 64,\n  \"items\":[{\n    \"sku\": \"24-MB02\",\n    \"name\": \"Fusion Backpack\",\n    \"price\": 59,\n    \"qty\": 1\n  }]\n}\n```\n\n`OrderCreated` / `OrderUpdated`\nAn order was created or updated.\n\n```json\n{\n  \"id\": \"000000001\",\n  \"status\": \"pending\",\n  \"coupon\": null,\n  \"billingAddress\": {\n    \"country\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAddress\": {\n    \"country\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAmount\": 5,\n  \"taxAmount\": 0,\n  \"total\": 64,\n  \"items\":[{\n    \"sku\": \"24-MB02\",\n    \"name\": \"Fusion Backpack\",\n    \"price\": 59,\n    \"qty\": 1\n  }]\n}\n```\n\n`OrderCanceled`\nAn order was canceled.\n\n```json\n{\n  \"id\": \"000000001\",\n  \"status\": \"cancelled\",\n  \"coupon\": null,\n  \"billingAddress\": {\n    \"country\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAddress\": {\n    \"country\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAmount\": 5,\n  \"taxAmount\": 0,\n  \"total\": 64,\n  \"items\":[{\n    \"sku\": \"24-MB02\",\n    \"name\": \"Fusion Backpack\",\n    \"price\": 59,\n    \"qty\": 1\n  }]\n}\n```\n\n`OrderDeleted`\nAn order was deleted.\n\n#### Invoice events\n\n`InvoiceCreated` / `InvoiceUpdated`\nAn invoice was created or updated.\n\n```json\n{\n  \"orderId\": \"000000001\",\n  \"status\": \"OPEN\",\n  \"billingAddress\":{\n    \"countryId\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAmount\": \"10.0000\",\n  \"taxAmount\": 0,\n  \"total\": 77,\n  \"items\": [{\n      \"sku\": \"WS12-M-Purple\",\n      \"name\": \"Radiant Tee\",\n      \"price\": \"22.0000\",\n      \"qty\": 1\n  }]\n}\n```\n\n`InvoicePayed`\nAn invoice was payed.\n\n```json\n{\n  \"orderId\": \"000000001\",\n  \"status\": \"PAID\",\n  \"billingAddress\":{\n    \"countryId\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAmount\": \"10.0000\",\n  \"taxAmount\": 0,\n  \"total\": 77,\n  \"items\": [{\n      \"sku\": \"WS12-M-Purple\",\n      \"name\": \"Radiant Tee\",\n      \"price\": \"22.0000\",\n      \"qty\": 1\n  }]\n}\n```\n\n`InvoiceRegistered`\nAn invoice was registered.\n\n```json\n{\n  \"orderId\": \"000000001\",\n  \"status\": \"PAID\",\n  \"billingAddress\":{\n    \"countryId\": \"IT\",\n    \"region\": null,\n    \"street\": [\n      \"via di test\"\n    ],\n    \"city\": \"Test\",\n    \"postCode\": \"12345\"\n  },\n  \"shippingAmount\": \"10.0000\",\n  \"taxAmount\": 0,\n  \"total\": 77,\n  \"items\": [{\n      \"sku\": \"WS12-M-Purple\",\n      \"name\": \"Radiant Tee\",\n      \"price\": \"22.0000\",\n      \"qty\": 1\n  }]\n}\n```\n\n`OrderDeleted`\nAn invoice was deleted.\n\n#### Credit Memo events\n\n`CreditmemoCreated` / `CreditmemoUpdated`\nA credit memo was created or updated.\n\n```json\n{\n  \"orderId\": \"000000001\",\n  \"shippingAmount\": 10,\n  \"taxAmount\": 0,\n  \"total\": 77,\n  \"status\": \"OPEN\",\n  \"items\": [{\n      \"sku\":\"WS12-M-Purple\",\n      \"name\":\"Radiant Tee\",\n      \"price\":\"22.0000\",\n      \"quantity\":1\n   }]\n}\n```\n\n`CreditmemoRefunded`\nA credit memo was refunded.\n\n```json\n{\n  \"orderId\": \"000000001\",\n  \"shippingAmount\": 10,\n  \"taxAmount\": 0,\n  \"total\": 77,\n  \"status\": \"REFUNDED\",\n  \"items\": [{\n      \"sku\":\"WS12-M-Purple\",\n      \"name\":\"Radiant Tee\",\n      \"price\":\"22.0000\",\n      \"quantity\":1\n   }]\n}\n```\n\n`CreditmemoDeleted`\nA credit memo was deleted.\n\n#### Shipment events\n\n`ShipmentSaved`\nA shipment was saved.\n\n```json\n{\n  \"id\": \"000000016\",\n  \"tracks\": [{\n    \"title\": \"DHL\",\n    \"carrier\": \"dhl\",\n    \"number\": \"123346457\" \n   }],\n  \"comments\": [\n    \"this is a comment\"\n  ],\n  \"qty\": 1,\n  \"weight\": null,\n  \"items\": [{\n    \"sku\": \"MT07-M-Gray\",\n    \"name\": \"Argus All-Weather Tank\",\n    \"price\": \"22.0000\",\n    \"qty\": 1\n  }]\n}\n```\n\n`ShipmentDeleted`\nA shipment was deleted.\n\n#### Cache events\n\n`CacheFlushAll`\nAn admin user flush the cache.\n\n```json\n{}\n```\n\n`CacheFlushSystem`\nAn admin user flush system cache.\n\n```json\n{}\n```\n\n`CacheFlushCatalogImages`\nAn admin user flush catalog images cache.\n\n```json\n{}\n```\n\n`CacheFlushMedia`\nAn admin user flush media cache.\n\n```json\n{}\n```\n\n`CacheFlushStaticFiles`\nAn admin user flush static files cache.\n\n```json\n{}\n```\n\n#### Indexer events\n\n`StateSaved`\nAn index change state.\n\n```json\n{\n  \"index\": \"catalog_product_price\",\n  \"status\": \"working\"\n}\n```\n```json\n{\n  \"index\": \"catalogsearch_fulltext\",\n  \"status\": \"valid\"\n}\n```\n\n## Debug and local testing\n\nModule log are written in `var/log/aws-eventbridge.log` log file.\n\nEnable \"debug mode\" option to increase logging level and retrieve more details about module operations.\n\n```\n[2020-08-26 10:49:36] report.DEBUG: Event 'User/LoginFailed' captured, executing.. [] []\n[2020-08-26 10:49:36] report.DEBUG: Event 'User/LoginFailed' executed in 0.002s [] []\n```\n\nEnable \"dry run mode\" to test module without configuring credentials. \nThis options skip AWS API call and allow you to test locally without need a AWS Account.\n\n```\n[2020-08-26 10:49:36] report.DEBUG: [DryRun] Sending event 'UserLoginFailed' with data: Array\n(\n    [username] =\u003e admin@admin.com\n    [metadata] =\u003e Array\n        (\n            [date] =\u003e 2020-08-26 10:49:36\n            [timestamp] =\u003e 1598438976\n            [async] =\u003e \n        )\n)\n [] []\n[2020-08-26 10:49:36] report.DEBUG: [DryRun] Event 'UserLoginFailed' sent with id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' [] []\n```\n\n## Contributing\n\nAny help is appreciated. If you want to contribute first read the [contribution guide](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitbull-team%2Fmagento2-module-awseventbridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitbull-team%2Fmagento2-module-awseventbridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitbull-team%2Fmagento2-module-awseventbridge/lists"}