diff --git a/content/en/docs/marketplace/platform-supported-content/services/event-broker.md b/content/en/docs/marketplace/platform-supported-content/services/event-broker.md index 45f98cfc6d6..188ec966c5e 100644 --- a/content/en/docs/marketplace/platform-supported-content/services/event-broker.md +++ b/content/en/docs/marketplace/platform-supported-content/services/event-broker.md @@ -94,222 +94,7 @@ From here, you can manage the default access settings: * **Publish events it implements** * **Subscribe to events it implements** -## Mendix Event Broker Bridges {#manage-mx-broker-bridge} - -{{% alert color="warning" %}} -This feature is currently in [Private Beta](/releasenotes/release-status/). Contact your Customer Success Manager or Account Manager for further assistance. -{{% /alert %}} - -Mendix Event Broker Bridges facilitate integration between the Mendix Event Broker and external technologies, such as AWS SQS and HTTP. These bridges enable the exchange of events between your Mendix Cloud environment and external systems, ensuring efficient communication across diverse technological landscapes. - -{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/event_broker_bridges.png" class="no-border" >}} - -### Standard Message Format - -Every event must carry four mandatory CloudEvents core attributes, each prefixed with `ce_`: - -* id as `ce_id` -* source as `ce_source` -* specversion as `ce_specversion` -* type as `ce_type` - -See [CloudEvents](https://github.com/cloudevents/spec/blob/v1.0.1/spec.md#required-attributes) for more information on required attributes. - -#### HTTP Bridges Header - -For HTTP Bridges, an additional HTTP header is required for authentication. - -* **Authorization** – The value must be set as a Bearer token using the Personal Access Token (PAT) generated during bridge configuration. -For example: `Authorization: Bearer ` - -This header must be included in all HTTP requests sent to the Mendix Event Broker via the HTTP Bridge. For details on how to obtain your Bearer token, see [Using the HTTP Bridge](#using-the-http-bridge). - -{{% alert color="info" %}} -You can include additional HTTP headers in your request, such as `ce_time: 2025-06-13T15:36:52.148542+02:00`. For example, passing `ce_time` will set the published time of the event. All other custom HTTP headers will be forwarded as Kafka headers by default. -{{% /alert %}} - -### Creating a Bridge - -Technical Contacts with a license to the Mendix Event Broker can manage this feature from the **Event Broker Bridges** tab on the [Event Broker Manager](https://broker.mendix.com/) page. - -{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create.png" class="no-border" >}} - -1. Click **Create a Bridge** to create a new bridge. -2. Select either an **AWS SQS** or an **HTTP** service to configure. - - * An AWS SQS bridge uses the [Amazon Simple Queue Service](https://aws.amazon.com/sqs/). The HTTP Bridge uses HTTP requests to send events from external systems to the Mendix Event Broker. The HTTP bridge is one-way: **HTTP to Event Broker**. - -3. Click **Next** to continue with creating your bridge. - - * For instructions on configuring for AWS SQS, see [Configuring a Bridge with AWS SQS](#bridge-with-aws-sqs) - * For instructions on configuring for HTTP, see [Configuring a Bridge with HTTP](#bridge-with-http) - -### Configuring a Bridge with AWS SQS {#bridge-with-aws-sqs} - -The creation process for AWS SQS bridges includes two further steps on the Mendix side and policies that need to be implemented on the AWS side. - -#### Configuration Details - -1. Select a [Space](#spaces), Name, and Region for the bridge to operate in. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_3_sqs.png" class="no-border" >}} - -2. Click **Next** to continue the configuration. - -#### Choose the Business Events to Integrate - -The user must select events from the Event Broker landscape of events to send to or receive from AWS SQS. To do this, do the following: - -1. Select **Add Business Events** and search for the appropriate events. -2. Select the checkbox for the event(s) you want to add, then click **Select**. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_4_sqs.png" class="no-border" width="400" >}} - -3. Configure each event with its own SQS URL for each direction the event will be integrated. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_5_sqs.png" class="no-border" width="400" >}} - -4. Click **Next** to continue. - -5. Confirm the configuration with the AWS Access Policy. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_6_sqs.png" class="no-border" width="400" >}} - -6. After all events have been configured, click **Start** to start the Mendix Event Broker Bridge. This process will take several minutes to complete. You can also choose to **Start Later**. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_overview_sqs.png" class="no-border" width="400" >}} - - Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page. - -#### Configure AWS Access Policy - -You need to configure AWS access policies for both sending and receiving messages. - -##### Sending Messages to Mendix - -Add this object to the Access Policy of your AWS SQS queue if it is sending messages to Mendix. - -``` -{ - "Sid": "__sender_statement", - "Effect": "Allow", - "Principal": { - "AWS": [ - "arn:aws:iam::044806572671:role/mendix-event-broker-bridge" - ] - }, - "Action": [ - "SQS:SendMessage" - ], - "Resource": "" -} -``` - -##### Receiving Messages from Mendix - -Add this object to your Access Policy of the AWS SQS queue if it is receiving messages from Mendix. - -``` -{ - "Sid": "__receiver_statement", - "Effect": "Allow", - "Principal": { - "AWS": [ - "arn:aws:iam::044806572671:role/mendix-event-broker-bridge" - ] - }, - "Action": [ - "SQS:ChangeMessageVisibility", - "SQS:DeleteMessage", - "SQS:ReceiveMessage" - ], - "Resource": "" -} -``` - -### Configuring a Bridge with HTTP {#bridge-with-http} - -#### Configure Service - -Configure the service by filling out the following: - -* **Event Broker Space** – the space where the bridge will operate -* **Bridge Name** – the name you want to call the bridge -* **AWS region** – the AWS region where your bridge operates - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_3_http.png" class="no-border" width="400" >}} - -Click **Next** to connect events to your bridge. - -#### Connect Events - -Initially, you will have no business events. Choose the business events to integrate by doing the following: - -1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker (including Mendix app-defined and uploaded AsyncAPI events). Only events that can **subscribe** are displayed, as this bridge is one-way. -2. Select the event(s) you want to integrate. Once events are selected, the URL for the HTTP connection is automatically generated. No further configuration is required. -3. Click **Next** to integrate the chosen business events. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_4_http.png" class="no-border" width="400" >}} - -#### Confirmation - -On the confirmation screen you can do the following: - -* Click **Start** to start the bridge immediately -* Click **Start Later** to continue without starting the bridge - -Once The HTTP Bridge has been configured, its configuration and status can be viewed on the **Overview** page. - -{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_6_http.png" class="no-border" >}} - -#### Using the HTTP Bridge {#using-the-http-bridge} - -To run the HTTP bridge from your client, include a Bearer token in the request header. - -1. Open the HTTP bridge details using **Options** ({{% icon name="three-dots-menu-horizontal" %}}) menu on the Overview page. -2. Add the **Bearer token**. - -{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_7_http.png" class="no-border" >}} - -#### Editing an HTTP Bridge - -After creating an HTTP Bridge, you can modify its event configuration by adding or removing events as your integration requirements evolve, without needing to recreate the bridge. - -{{% alert color="info" %}}You can only edit an HTTP Bridge when its status is **Running**.{{% /alert %}} - -To edit an HTTP Bridge: - -1. On the [Event Broker Manager](https://broker.mendix.com/) page, navigate to the **Event Broker Bridges** tab. -2. Click the HTTP Bridge you want to modify. -3. Click **Edit** to enter editing mode. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_overview-edit.png" class="no-border" >}} - - In editing mode, you can perform the following actions: - - * **Add Business Events**: - - 1. Click **Add Business Events** to open a dialog that displays available events. - 2. Select the events you want to add and click **Select**. Added events will display an **Added** badge and can be removed before applying changes. - - * **Remove Business Events**: - - 1. Navigate to the event you want to remove and click **Remove**. Removed events will display a **Removed** badge, and their name and metadata will appear grayed out. - 2. Re-add a removed event by clicking **Add** before applying changes. - - {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_edit_mode.png" class="no-border" >}} - -4. Once you have made your changes, you can: - * Click **Apply** to save and apply the changes. A confirmation message will indicate if the changes were successful. Changes to the event configuration take effect they are applied. - * Click **Cancel** to exit editing mode without saving any changes. - -{{% alert color="info" %}} -The **Apply** button is only enabled when changes have been made to the bridge configuration. -{{% /alert %}} - -{{% alert color="warning" %}} -If an error occurs during the editing process, the bridge will automatically roll back to its previous running state to ensure continuity of service. -{{% /alert %}} +{{< include "/static/_includes/event-broker-bridges.md" >}} ## Externally Defined Events {#externally-defined-events} diff --git a/layouts/shortcodes/include.html b/layouts/shortcodes/include.html new file mode 100644 index 00000000000..8a02fa56d05 --- /dev/null +++ b/layouts/shortcodes/include.html @@ -0,0 +1 @@ +{{ readFile (.Get 0) | markdownify }} diff --git a/static/_includes/event-broker-bridges.md b/static/_includes/event-broker-bridges.md new file mode 100644 index 00000000000..cb6730d8d93 --- /dev/null +++ b/static/_includes/event-broker-bridges.md @@ -0,0 +1,413 @@ +## Mendix Event Broker Bridges {#manage-mx-broker-bridge} + +{{% alert color="warning" %}} +This feature is currently in [Private Beta](/releasenotes/release-status/). Contact your Customer Success Manager or Account Manager for further assistance. +{{% /alert %}} + +Mendix Event Broker Bridges facilitate integration between the Mendix Event Broker and external technologies, such as AWS SQS, HTTP, Azure Blob Storage, and AWS S3. These bridges enable the exchange of events between your Mendix Cloud environment and external systems, ensuring efficient communication across diverse technological landscapes. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/event_broker_bridges.png" class="no-border" >}} + +### Standard Message Format + +Every event must carry four mandatory CloudEvents core attributes, each prefixed with `ce_`: + +* `ce_id` as id +* `ce_source` as source +* `ce_specversion` as specversion +* `ce_type` as type + +See [CloudEvents](https://github.com/cloudevents/spec/blob/v1.0.1/spec.md#required-attributes) for more information on required attributes. + +#### HTTP Bridge Headers + +For HTTP Bridges, specific headers are required for authentication. + +**Required Header:** + +* **Authorization** – Must be set as a Bearer token using the Personal Access Token (PAT) generated during bridge configuration. + + Example: `Authorization: Bearer ` + + For details on how to obtain your Bearer token, see [Using the HTTP Bridge](#using-the-http-bridge). + +**Optional Headers:** + +You can include additional HTTP headers in your request to provide event metadata, such as: + +* `ce_time` – Sets the published time of the event (example: `2025-06-13T15:36:52.148542+02:00`) + +All custom HTTP headers will be forwarded as Kafka headers by default. + +### Creating a Bridge + +Technical Contacts with a license to the Mendix Event Broker can manage this feature from the **Event Broker Bridges** tab on the [Event Broker Manager](https://broker.mendix.com/) page. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create.png" class="no-border" >}} + +1. Click **Create a Bridge** to create a new bridge. + +2. Select one of the following bridge types: + + * **AWS SQS** – Bidirectional bridge using the [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) to send and receive events. + * **HTTP** – One-way bridge that uses HTTP requests to send events from external systems to the Mendix Event Broker. + * **Azure Blob Storage** – One-way bridge that receives events via Azure object storage. + * **AWS S3** – One-way bridge that receives events via AWS object storage. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/ebb_general_bridge_create.png" class="no-border" >}} + +3. Click **Next** to continue with creating your bridge. + + * For instructions on configuring AWS SQS, see [Configuring a Bridge with AWS SQS](#bridge-with-aws-sqs). + * For instructions on configuring HTTP, see [Configuring a Bridge with HTTP](#bridge-with-http). + * For instructions on configuring Azure Blob Storage, see [Configuring a Bridge with Azure Blob Storage](#bridge-with-azure-blob-storage). + * For instructions on configuring AWS S3, see [Configuring a Bridge with AWS S3](#bridge-with-aws-s3). + +4. After configuring the service and connecting events (as described in the bridge-specific sections above), click **Start** on the confirmation screen to deploy the bridge. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/ebb_general_bridge_start.png" class="no-border" >}} + +Once the bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page. + +### Configuring a Bridge with AWS SQS {#bridge-with-aws-sqs} + +The creation process for AWS SQS bridges includes two further steps on the Mendix side and policies that need to be implemented on the AWS side. + +#### Configure Service + +Configure the service by filling out the following: + +* **Event Broker Space** – the space where the bridge will operate +* **Bridge Name** – the name you want to call the bridge +* **AWS Region** – the AWS region where your bridge operates + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_configure.png" class="no-border" width="400" >}} + +Click **Next** to continue the configuration. + +#### Connect Events + +Select the business events to integrate with AWS SQS: + +1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. +2. Select the checkbox for the event(s) you want to add, then click **Select**. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_choose_events.png" class="no-border" width="400" >}} + +3. Configure each event with its own SQS URL for each direction the event will be integrated. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_connect_events.png" class="no-border" width="400" >}} + +4. Click **Next** to continue. + +5. Confirm the configuration with the AWS Access Policy. + + {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_aws_sqs_approve_policy.png" class="no-border" width="400" >}} + +6. After all events have been configured, click **Start** to start the Mendix Event Broker Bridge. This process will take several minutes to complete. + +#### Overview of AWS SQS Bridge + +Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_overview.png" class="no-border" width="400" >}} + +#### Configure AWS Access Policy + +You need to configure AWS access policies for both sending and receiving messages. + +##### Sending Messages to Mendix + +Add this object to the Access Policy of your AWS SQS queue if it is sending messages to Mendix. + +``` +{ + "Sid": "__sender_statement", + "Effect": "Allow", + "Principal": { + "AWS": [ + "arn:aws:iam::044806572671:role/mendix-event-broker-bridge" + ] + }, + "Action": [ + "SQS:SendMessage" + ], + "Resource": "" +} +``` + +##### Receiving Messages from Mendix + +Add this object to your Access Policy of the AWS SQS queue if it is receiving messages from Mendix. + +``` +{ + "Sid": "__receiver_statement", + "Effect": "Allow", + "Principal": { + "AWS": [ + "arn:aws:iam::044806572671:role/mendix-event-broker-bridge" + ] + }, + "Action": [ + "SQS:ChangeMessageVisibility", + "SQS:DeleteMessage", + "SQS:ReceiveMessage" + ], + "Resource": "" +} +``` + +### Configuring a Bridge with HTTP {#bridge-with-http} + +#### Configure Service + +Configure the service by filling out the following: + +* **Event Broker Space** – the space where the bridge will operate +* **Bridge Name** – the name you want to call the bridge +* **AWS Region** – the AWS region where your bridge operates + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_configure.png" class="no-border" width="400" >}} + +Click **Next** to connect events to your bridge. + +#### Connect Events + +Select the business events to integrate with the HTTP Bridge: + +1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. Only events capable of subscribing are shown, as this bridge operates in one direction. +2. Select the event(s) to integrate. Once selected, the URL for the HTTP connection is automatically generated. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_connect_events.png" class="no-border" width="400" >}} + +3. Click **Next** to proceed to the confirmation screen. + +#### Overview of HTTP Bridge + +Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_overview.png" class="no-border" width="400" >}} + +#### Using the HTTP Bridge {#using-the-http-bridge} + +To run the HTTP bridge from your client, include a Bearer token in the request header. + +1. Open the HTTP bridge details using **Options** ({{% icon name="three-dots-menu-horizontal" %}}) menu on the Overview page. +2. Add the **Bearer token**. + +### Configuring a Bridge with Azure Blob Storage {#bridge-with-azure-blob-storage} + +#### Configure Service + +Configure the service by filling out the following: + +* **Event Broker Space** – the space where the bridge will operate +* **Bridge Name** – the name you want to call the bridge +* **Storage Account** – the storage account to access +* **Storage SAS Token** – the storage SAS Token +* **Container Path** – the path of the container where the messages will be stored + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_configure.png" class="no-border" >}} + +Click **Next** to connect events to your bridge. + +#### Connect Events + +Select the business events to integrate with Azure Blob Storage: + +1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. Only events capable of publishing are shown, as this bridge operates in one direction. +2. Select the event(s) to integrate and specify the prefix path for event storage. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_connect_events.png" class="no-border" >}} + +3. Click **Next** to proceed to the confirmation screen. + +#### Overview of Azure Blob Storage Bridge + +Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_overview.png" class="no-border" >}} + + +### Configuring a Bridge with AWS S3 {#bridge-with-aws-s3} + +#### Configure Service + +Configure the service by filling out the following: + +* **Event Broker Space** – the space where the bridge will operate +* **Bridge Name** – the name you want to call the bridge +* **Bucket** – the path of the container where the messages will be stored +* **AWS Region for Bucket** – the AWS region where your S3 bucket is located +* **AWS Role to Assume** – the Amazon Resource Name (ARN) of the IAM role that the Event Broker Bridge will assume to access your S3 bucket. This role must be configured with appropriate permissions and a trust policy allowing the Event Broker to assume it. +* **AWS Role's External ID** – a unique identifier that provides additional security when the Event Broker assumes your AWS role. This shared secret ensures that only authorized Mendix Event Broker instances can assume the role. + +{{% alert color="info" %}} +For detailed instructions on how to create the IAM role and obtain these values, see [Configure AWS Authentication for S3 Bridge](#configure-aws-s3-authentication). +{{% /alert %}} + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_configure.png" class="no-border" >}} + +Click **Next** to connect events to your bridge. + +#### Connect Events + +Select the business events to integrate with AWS S3: + +1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. Only events capable of publishing are shown, as this bridge operates in one direction. +2. Select the event(s) to integrate and specify the prefix path for event storage. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_connect_events.png" class="no-border" >}} + +3. Click **Next** to proceed to the confirmation screen. + +#### Overview of AWS S3 Bridge + +Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page. + +{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_overview.png" class="no-border" >}} + + +#### Configure AWS Authentication for S3 Bridge {#configure-aws-s3-authentication} + +The Mendix Event Broker runs in AWS and uses cross-account authentication to securely access your S3 bucket. This authentication mechanism leverages AWS IAM roles with trust policies and external IDs to ensure secure, controlled access. + +##### Prerequisites + +* Access to your AWS account with permissions to create and manage IAM roles +* An S3 bucket where business events will be stored +* The Mendix Event Broker AWS account ID: `044806572671` + +##### Step 1: Create an IAM Role with a Trust Policy + +The trust policy defines which AWS accounts can assume the role. + +1. Navigate to **IAM** > **Roles** in your AWS Console. +2. Click **Create role**. +3. Select **AWS account** as the trusted entity type. +4. Choose **Another AWS account**. +5. Enter the Mendix Event Broker AWS account ID: `044806572671` +6. Select **Require external ID** and enter a unique external ID of your choice. This external ID will be required when configuring the bridge in the Event Broker Manager. +7. Click **Next**. + +{{% alert color="info" %}} +The external ID acts as a shared secret between Mendix and your AWS account, preventing the confused deputy problem and ensuring that only authorized Event Broker instances can assume your role. +{{% /alert %}} + + + {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/create-a-cross-account-role-in-AWS.png" class="no-border" width="400" >}} + +##### Step 2: Attach Permissions Policy to the Role + +The permissions policy defines what actions the Event Broker can perform once the role is assumed. + +1. Click **Create policy** to create a new policy, or select an existing policy. +2. If creating a new policy, use the following JSON template to grant the necessary S3 permissions: + + ```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "AllowWriteObjects", + "Effect": "Allow", + "Action": [ + "s3:PutObject", + "s3:PutObjectAcl", + "s3:DeleteObject" + ], + "Resource": "arn:aws:s3:::BUCKET_NAME/*" + }, + { + "Sid": "AllowListBucket", + "Effect": "Allow", + "Action": "s3:ListBucket", + "Resource": "arn:aws:s3:::BUCKET_NAME" + } + ] + } + ``` + +3. Replace `BUCKET_NAME` with your actual S3 bucket name. +4. Name your policy (for example, `EventBrokerS3WritePolicy`) and create it. +5. Attach the policy to your IAM role. +6. Click **Next**. + +{{% alert color="info" %}} +The policy above grants the minimum required permissions for the Event Broker to write business events to your S3 bucket. Adjust the permissions as needed based on your security requirements. +{{% /alert %}} + +##### Step 3: Complete Role Creation + +1. Provide a name for your role (for example, `EventBrokerS3AccessRole`). +2. Review the role configuration and click **Create role**. +3. Once created, open the role and copy the **Role ARN** (it will look like `arn:aws:iam::YOUR_ACCOUNT_ID:role/EventBrokerS3AccessRole`). + +##### Step 4: Configure the Bridge + +Use the Role ARN and External ID when configuring your AWS S3 bridge in the Event Broker Manager: + + +### Managing Bridges + +After creating a bridge, you can modify and manage its configuration through the Event Broker Manager. + +#### Editing Bridges + +You can edit HTTP, Azure Blob Storage, and AWS S3 bridges to modify their configuration as your integration requirements evolve, without needing to recreate the bridge. + +{{% alert color="info" %}}You can only edit a bridge when its status is **Running**.{{% /alert %}} + +**What You Can Edit:** + +* **HTTP Bridge** – Add or remove business events +* **Azure Blob Storage Bridge** – Add or remove business events, update Storage Account, Storage SAS Token, Container Path, or Prefix Path +* **AWS S3 Bridge** – Add or remove business events, update Bucket, AWS Region for Bucket, or Prefix Path + +To edit a bridge: + +1. On the [Event Broker Manager](https://broker.mendix.com/) page, navigate to the **Event Broker Bridges** tab. +2. Click the bridge you want to modify. +3. Click **Edit** to enter editing mode. + + In editing mode, you can perform the following actions: + + * **Add Business Events**: + + 1. Click **Add Business Events** to open a dialog that displays available events. + 2. Select the events you want to add and click **Select**. Added events will display an **Added** badge and can be removed before applying changes. + + * **Remove Business Events**: + + 1. Navigate to the event you want to remove and click **Remove**. Removed events will display a **Removed** badge, and their name and metadata will appear grayed out. + 2. Re-add a removed event by clicking **Add** before applying changes. + + {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_edit_mode.png" class="no-border" >}} + + * **Update Service Configuration** (Azure Blob Storage and AWS S3 only): + + * **Azure Blob Storage** – Update the Storage Account, Storage SAS Token, Container Path, or Prefix Path as needed. + * **AWS S3** – Update the Bucket, AWS Region for Bucket, or Prefix Path as needed. + +**HTTP** + {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_http_edit_mode.png" class="no-border" >}} + +**Azure Blob Storage** + {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_azure_blob_edit_mode.png" class="no-border" >}} + +**AWS S3** + {{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_aws_s3_edit_mode.png" class="no-border" >}} + + +4. Once you have made your changes, you can: + * Click **Apply** to save and apply the changes. A confirmation message will indicate if the changes were successful. Changes to the event configuration take effect when applied. After applying changes, the bridge status will change to **Reconfiguring** and will return to **Running** once the reconfiguration is complete. + * Click **Cancel** to exit editing mode without saving any changes. + +{{% alert color="info" %}} +The **Apply** button is only enabled when changes have been made to the bridge configuration. +{{% /alert %}} + +{{% alert color="warning" %}} +If an error occurs during the editing process, the bridge will automatically roll back to its previous running state to ensure continuity of service. +{{% /alert %}} \ No newline at end of file diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_configure.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_configure.png new file mode 100644 index 00000000000..b1ba7c50fba Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_configure.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_connect_events.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_connect_events.png new file mode 100644 index 00000000000..2f62dcd9b58 Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_connect_events.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_create_a_cross_account_role_in_aws.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_create_a_cross_account_role_in_aws.png new file mode 100644 index 00000000000..b6e4c41655f Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_create_a_cross_account_role_in_aws.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_overview.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_overview.png new file mode 100644 index 00000000000..4fe7db52f7f Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_overview.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_6_sqs.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_approve_policy.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_6_sqs.png rename to static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_approve_policy.png diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_4_sqs.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_choose_events.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_4_sqs.png rename to static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_choose_events.png diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_configure.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_configure.png new file mode 100644 index 00000000000..4d7eaf3d84b Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_configure.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_connect_events.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_connect_events.png new file mode 100644 index 00000000000..a1e19942c01 Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_connect_events.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_overview.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_overview.png new file mode 100644 index 00000000000..c8e73ccc8ae Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_overview.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_configure.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_configure.png new file mode 100644 index 00000000000..df9a8334d32 Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_configure.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_connect_events.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_connect_events.png new file mode 100644 index 00000000000..fa6715bee07 Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_connect_events.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_overview.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_overview.png new file mode 100644 index 00000000000..f49bcf1e73e Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_overview.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_general_bridge_create.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_general_bridge_create.png new file mode 100644 index 00000000000..3ff11917c13 Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_general_bridge_create.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_general_bridge_start.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_general_bridge_start.png new file mode 100644 index 00000000000..7d16f88a97d Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/ebb_general_bridge_start.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_aws_s3_edit_mode.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_aws_s3_edit_mode.png new file mode 100644 index 00000000000..8dd1d64c916 Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_aws_s3_edit_mode.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_azure_blob_edit_mode.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_azure_blob_edit_mode.png new file mode 100644 index 00000000000..72c97e29d6a Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_azure_blob_edit_mode.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_edit_mode.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_http_edit_mode.png similarity index 100% rename from static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_edit_mode.png rename to static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/ebb_http_edit_mode.png diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_overview-edit.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_overview-edit.png deleted file mode 100644 index c1ac3168dd3..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/edit-bridge/http_overview-edit.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_3_sqs.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_3_sqs.png deleted file mode 100644 index 3d0b1213d55..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_3_sqs.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_5_sqs.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_5_sqs.png deleted file mode 100644 index eae215a5cd2..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_create_5_sqs.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_overview_sqs.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_overview_sqs.png deleted file mode 100644 index 933cd047b69..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/event_broker_bridges_overview_sqs.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_configure.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_configure.png new file mode 100644 index 00000000000..4f731f7b61c Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_configure.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_connect_events.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_connect_events.png new file mode 100644 index 00000000000..6a8da035d1b Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_connect_events.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_overview.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_overview.png new file mode 100644 index 00000000000..d62c1dd23ae Binary files /dev/null and b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_overview.png differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_3_http.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_3_http.png deleted file mode 100644 index 49ef99b18a8..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_3_http.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_4_http.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_4_http.png deleted file mode 100644 index b0bd3048623..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_4_http.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_6_http.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_6_http.png deleted file mode 100644 index bc416dbc5f2..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_6_http.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_7_http.png b/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_7_http.png deleted file mode 100644 index 5929043cbb2..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/event_broker_bridges_create_7_http.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/services/event-broker/event_broker_bridges.png b/static/attachments/appstore/platform-supported-content/services/event-broker/event_broker_bridges.png index 099ef7cfdc4..83f4ccd69ad 100644 Binary files a/static/attachments/appstore/platform-supported-content/services/event-broker/event_broker_bridges.png and b/static/attachments/appstore/platform-supported-content/services/event-broker/event_broker_bridges.png differ