def forward_events()

in lambda_function_code/dashboard_connection.py [0:0]


def forward_events(account_id, pattern, name_tag):
    """This creates an EventBridge rule to forward events to the target account id

    Args:
        account_id (str): The target AWS account id
    """

    put_rule_response = event_client.put_rule(
        Name=f"forwardTo{account_id}{name_tag}",
        EventPattern=json.dumps(pattern),
        State="ENABLED",
        Description=f"forwardTo{account_id}{name_tag}",
    )

    if put_rule_response["ResponseMetadata"]["HTTPStatusCode"] not in [200, 204]:
        return put_rule_response

    logger.debug("Response from PutRule:")
    logger.debug(put_rule_response)

    bus_arn = f'arn:aws:events:{os.getenv("AWS_REGION", "eu-west-1")}:{account_id}:event-bus/default'

    target = {"Arn": bus_arn, "Id": f"{account_id}-bus"}

    put_target_response = event_client.put_targets(
        Rule=f"forwardTo{account_id}{name_tag}", Targets=[target]
    )

    logger.debug("Response from PutTargets:")
    logger.debug(put_target_response)

    return put_target_response