in solution/compliance/3.4-sub-resource-changes/python_script/subscription.py [0:0]
def createEventRule(client, logArchiveUid, logArchiveRole, ruleName):
global region_id, event_bridge_bus_name, member_account_eventbridge_filter
try:
create_event_rule_request = event_bridge_models.CreateRuleRequest()
target_entry = event_bridge_models.TargetEntry()
target_entry.id = random.randint(0,10000)
target_entry.type = "acs.eventbridge"
target_entry.endpoint = "acs:eventbridge:" + region_id + ":" + logArchiveUid + ":eventbus/default"
target_entry.push_retry_strategy = "BACKOFF_RETRY"
# 需要使用指定的Model初始化对象
param_list = []
paramObject1 = event_bridge_models.EBTargetParam("AccountType", "CONSTANT", "AnotherAccount", None)
paramObject2 = event_bridge_models.EBTargetParam("AccountId", "CONSTANT", logArchiveUid, None)
paramObject3 = event_bridge_models.EBTargetParam("EventBusName", "CONSTANT", event_bridge_bus_name, None)
paramObject4 = event_bridge_models.EBTargetParam("RAMRoleName", "CONSTANT", logArchiveRole, None)
paramObject5 = event_bridge_models.EBTargetParam("Body", "ORIGINAL", "", None)
param_list.append(paramObject1)
param_list.append(paramObject2)
param_list.append(paramObject3)
param_list.append(paramObject4)
param_list.append(paramObject5)
target_entry.param_list = param_list
# 定义Targets 事件列表
target_entry_list = [
target_entry
]
create_event_rule_request.rule_name = ruleName
create_event_rule_request.event_bus_name = event_bridge_bus_name
# TODO 用户需要参考内部规范,配置对应的过滤条件
create_event_rule_request.filter_pattern = member_account_eventbridge_filter
create_event_rule_request.status = "enable"
create_event_rule_request.targets = target_entry_list
response = client.create_rule(create_event_rule_request)
ConsoleClient.log("--------------------create rule success--------------------")
ConsoleClient.log(UtilClient.to_jsonstring(response.to_map()))
except Exception as error:
ConsoleClient.log(error.message)