in remediation/config_rule_and_remediation_sample.py [0:0]
def create_config_rule(ak, sk, tag_key, tag_value):
credentials = AccessKeyCredential(ak, sk)
# use STS Token
# credentials = StsTokenCredential('<your-access-key-id>', '<your-access-key-secret>', '<your-sts-token>')
client = AcsClient(region_id='cn-shanghai', credential=credentials)
request = CommonRequest()
request.set_domain(CONFIG_SERVICE_ENDPOINT)
request.set_version('2020-09-07')
request.set_action_name('CreateConfigRule')
request.set_method('POST')
request.add_body_params("ConfigRuleName", "存在所有指定标签By SDK")
request.add_body_params("Description", "最多可定义6组标签,资源需同时具有指定的所有标签,视为“合规”。标签输入大小写敏感,每组最多只能输入一个值。")
request.add_body_params("ResourceTypesScope", "ACS::ECS::Disk")
tags_tuples = {
"tag1Value": tag_key,
"tag1Key": tag_value,
"tag6Value": "",
"tag6Key": "",
"tag5Value": "",
"tag5Key": "",
"tag4Value": "",
"tag4Key": "",
"tag3Value": "",
"tag3Key": "",
"tag2Value": "",
"tag2Key": ""
}
request.add_body_params("InputParameters", tags_tuples)
request.add_body_params("ConfigRuleTriggerTypes", 'ConfigurationItemChangeNotification')
request.add_body_params("RiskLevel", 1)
request.add_body_params("SourceOwner", 'ALIYUN')
request.add_body_params("SourceIdentifier", 'required-tags')
response = client.do_action_with_exception(request)
resource_result = str(response, encoding='utf-8')
json_res = json.loads(resource_result)
return json_res['ConfigRuleId']