in src/alibaba_cloud_ops_mcp_server/tools/api_tools.py [0:0]
def _tools_api_call(service: str, api: str, parameters: dict, ctx: Context):
service = service.lower()
api_meta, _ = ApiMetaClient.get_api_meta(service, api)
version = ApiMetaClient.get_service_version(service)
method = 'POST' if api_meta.get('methods', [])[0] == 'post' else 'GET'
path = api_meta.get('path', '/')
style = ApiMetaClient.get_service_style(service)
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(parameters)
)
params = open_api_models.Params(
action=api,
version=version,
protocol='HTTPS',
pathname=path,
method=method,
auth_type='AK',
style=style,
req_body_type='formData',
body_type='json'
)
client = create_client(service, parameters.get('RegionId', 'cn-hangzhou'))
runtime = util_models.RuntimeOptions()
return client.call_api(params, req, runtime)