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