in remediation/config_rule_and_remediation_sample.py [0:0]
def create_rule_remediation(ak, sk, config_rule_id, 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('CreateRemediation')
request.set_method('POST')
request.add_body_params("ConfigRuleId", config_rule_id)
request.add_body_params("RemediationType", 'OOS')
request.add_body_params("RemediationTemplateId", 'ACS-TAG-TagResources')
request.add_body_params("InvokeType", 'MANUAL_EXECUTION')
request.add_body_params("SourceType", 'ALIYUN')
tags = {
tag_key: tag_value
}
params = {
"properties": [
{
"name": "regionId",
"type": "STRING",
"value": "{regionId}",
"allowedValues": [],
"description": "[Required]地域ID。"
},
{
"name": "tags",
"type": "OBJECT",
"value": json.dumps(tags),
"allowedValues": [],
"description": "[Required]资源标签(例:{\"k1\":\"v1\",\"k2\":\"v2\"})。"
},
{
"name": "resourceType",
"type": "STRING",
"value": "{resourceType}",
"allowedValues": [],
"description": "[Required]资源类型。"
},
{
"name": "resourceIds",
"type": "ARRAY",
"value": "[\"{resourceId}\"]",
"allowedValues": [],
"description": "[Required]资源ID。"
}
]
}
request.add_body_params("Params", json.dumps(params))
response = client.do_action_with_exception(request)
resource_result = str(response, encoding='utf-8')
json_res = json.loads(resource_result)
return json_res['RemediationId']