#stringify
Вопрос:
У меня есть строковая версия кода python, которую я хочу распаковать, внести в нее некоторые изменения и снова сделать строковой. Есть ли какая-нибудь доступная библиотека, чтобы сделать то же самое?
Ввод Образца:
"import boto3nnSUCCESS_MESSAGE = "Instance patched successfully"
nFAILURE_MESSAGE = "Patching failed and Instance restored to original
state"nnssm = boto3.client('ssm')nndef is_compliant(ec2_id):nt
report = {ntt"is_compliant": None,ntt"items": []nt}ntnoncompliance_found
= Falsenttoken = Nonentwhile 1:nttif token is None:ntttlist_compliance_result
= ssm.list_compliance_items(nttttFilters=[{'Key': 'ComplianceType',
'Values': ['Patch']}],nttttResourceIds=[ec2_id],nttttResourceTypes=["
ManagedInstance"]nttt)nnttelse:ntttlist_compliance_result =
ssm.list_compliance_items(nttttFilters=[{'Key': 'ComplianceType',
'Values': ['Patch']}],nttttResourceIds=[ec2_id],nttttResourceTypes=["
ManagedInstance"],nttttNextToken=tokennttt)nttcompliances =
list_compliance_result["ComplianceItems"]nnttfor a_val in compliances:n
tttpatch_item = {ntttt"PatchId": a_val["Id"],ntttt"Severity"
: a_val["Severity"],ntttt"ComplianceType": a_val["ComplianceType"
],ntttt"State": a_val["Details"]["PatchState"]nttt}ntt
treport["items"].append(patch_item)ntttif a_val["Status"] != "
COMPLIANT" and a_val["Details"]["PatchState"] != "NotApplicable"
:nttttnoncompliance_found = Truennttif "NextToken" in list_compliance_result:n
ttttoken = list_compliance_result["NextToken"]nttelse:ntttbreakn
nttif token is None:ntttbreaknntreport["is_compliant"] = noncompliance_found
is Falsentreturn reportnnndef is_success_case(ec2_id):ntreturn
is_compliant(ec2_id)nnndef handler(event, context):ntcompliance_report
= is_success_case(event["InstanceId"])ntreturn {ntt"Result":
SUCCESS_MESSAGE if compliance_report["is_compliant"] else FAILURE_MESSAGE,n
tt"PatchingSuccess": compliance_report["is_compliant"],ntt"items"
: compliance_report["items"]nt}n"
Выход:
отформатированный код python
примерно так, как показано ниже:
import boto3
SUCCESS_MESSAGE = "Instance patched successfully"
FAILURE_MESSAGE = "Patching failed and Instance restored to original state"
ssm = boto3.client('ssm')
....
и наоборот, чтобы упорядочить приведенный выше код.
Комментарии:
1. вы просите сделать это с помощью bash или python?
2. Все должно быть хорошо
Ответ №1:
Что вы думаете об использовании aws cdk и написании всего этого на python вместо json?
Комментарии:
1. Это совсем другое дело. Это для документа автоматизации AWS SSM.