describe_db_instance_parameters
Retrieve parameter details for multiple Alibaba Cloud RDS instances in a specific region, including configurations and running parameters, using instance IDs and parameter names.
Instructions
Batch retrieves parameter information for multiple RDS instances.
Args:
region_id: The region ID of the RDS instance.
db_instance_ids: List of DB instance identifiers (e.g., ["rm-uf6wjk5****", "db-instance-01"])
paramters: List of parameter names (e.g., ["max_connections", "innodb_buffer_pool_size"])
Returns:
list[dict]: A list of dictionaries containing parameter information(ParamGroupInfo,ConfigParameters,RunningParameters) foreach instance.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| db_instance_ids | Yes | ||
| paramters | No | ||
| region_id | Yes |
Input Schema (JSON Schema)
{
"properties": {
"db_instance_ids": {
"items": {
"type": "string"
},
"title": "Db Instance Ids",
"type": "array"
},
"paramters": {
"default": null,
"items": {
"type": "string"
},
"title": "Paramters",
"type": "array"
},
"region_id": {
"title": "Region Id",
"type": "string"
}
},
"required": [
"region_id",
"db_instance_ids"
],
"title": "describe_db_instance_parametersArguments",
"type": "object"
}
Implementation Reference
- Handler function that implements the 'describe_db_instance_parameters' tool by calling the Alibaba Cloud RDS DescribeParameters API for batches of DB instances, optionally filtering by specific parameter names, and formatting the output with parameter group info, config parameters, and running parameters.@mcp.tool(annotations=READ_ONLY_TOOL) async def describe_db_instance_parameters( region_id: str, db_instance_ids: list[str], paramters: list[str] = None ) -> dict[str, dict[str, Any]]: """ Batch retrieves parameter information for multiple RDS instances. Args: region_id: The region ID of the RDS instance. db_instance_ids: List of DB instance identifiers (e.g., ["rm-uf6wjk5****", "db-instance-01"]) paramters: List of parameter names (e.g., ["max_connections", "innodb_buffer_pool_size"]) Returns: list[dict]: A list of dictionaries containing parameter information(ParamGroupInfo,ConfigParameters,RunningParameters) foreach instance. """ try: client = get_rds_client(region_id) db_instance_parameters = {} for db_instance_id in db_instance_ids: request = rds_20140815_models.DescribeParametersRequest( dbinstance_id=db_instance_id ) response = await client.describe_parameters_async(request) if paramters: response.body.config_parameters.dbinstance_parameter = [ config_parameter for config_parameter in response.body.config_parameters.dbinstance_parameter if config_parameter.parameter_name in paramters ] response.body.running_parameters.dbinstance_parameter = [ running_parameter for running_parameter in response.body.running_parameters.dbinstance_parameter if running_parameter.parameter_name in paramters ] db_instance_parameters[db_instance_id] = { "ParamGroupInfo": response.body.param_group_info.to_map(), "ConfigParameters": json_array_to_csv(response.body.config_parameters.dbinstance_parameter), "RunningParameters": json_array_to_csv(response.body.running_parameters.dbinstance_parameter) } return db_instance_parameters except Exception as e: raise e