modify_parameter
Modify RDS instance parameters to optimize database performance, adjust configurations, or apply parameter templates with flexible timing options.
Instructions
Modify RDS instance parameters.
Args:
region_id: The region ID of the RDS instance.
dbinstance_id: The ID of the RDS instance.
parameters (Dict[str, str], optional): Parameters and their values in JSON format.
Example: {"delayed_insert_timeout": "600", "max_length_for_sort_data": "2048"}
parameter_group_id: Parameter template ID.
forcerestart: Whether to force restart the database. Default: False.
switch_time_mode: Execution time mode. Values: Immediate, MaintainTime, ScheduleTime. Default: Immediate.
switch_time: Scheduled execution time in format: yyyy-MM-ddTHH:mm:ssZ (UTC time).
client_token: Client token for idempotency, max 64 ASCII characters.
Returns:
Dict[str, Any]: The response containing the request ID.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| region_id | Yes | ||
| dbinstance_id | Yes | ||
| parameters | No | ||
| parameter_group_id | No | ||
| forcerestart | No | ||
| switch_time_mode | No | Immediate | |
| switch_time | No | ||
| client_token | No |
Implementation Reference
- The core handler implementation for the 'modify_parameter' MCP tool. This async function takes parameters like region_id, dbinstance_id, and a dict of parameters to modify, constructs a ModifyParameterRequest using Alibaba Cloud RDS SDK, and executes the API call via get_rds_client.@mcp.tool() async def modify_parameter( region_id: str, dbinstance_id: str, parameters: Dict[str, str] = None, parameter_group_id: str = None, forcerestart: bool = False, switch_time_mode: str = "Immediate", switch_time: str = None, client_token: str = None ) -> Dict[str, Any]: """Modify RDS instance parameters. Args: region_id: The region ID of the RDS instance. dbinstance_id: The ID of the RDS instance. parameters (Dict[str, str], optional): Parameters and their values in JSON format. Example: {"delayed_insert_timeout": "600", "max_length_for_sort_data": "2048"} parameter_group_id: Parameter template ID. forcerestart: Whether to force restart the database. Default: False. switch_time_mode: Execution time mode. Values: Immediate, MaintainTime, ScheduleTime. Default: Immediate. switch_time: Scheduled execution time in format: yyyy-MM-ddTHH:mm:ssZ (UTC time). client_token: Client token for idempotency, max 64 ASCII characters. Returns: Dict[str, Any]: The response containing the request ID. """ try: # Initialize the client client = get_rds_client(region_id) # Create request request = rds_20140815_models.ModifyParameterRequest( dbinstance_id=dbinstance_id, forcerestart=forcerestart, switch_time_mode=switch_time_mode ) # Add optional parameters if provided if parameters: request.parameters = json.dumps(parameters) if parameter_group_id: request.parameter_group_id = parameter_group_id if switch_time: request.switch_time = switch_time if client_token: request.client_token = client_token # Make the API request response = client.modify_parameter(request) return response.body.to_map() except Exception as e: logger.error(f"Error occurred while modifying parameters: {str(e)}") raise OpenAPIError(f"Failed to modify RDS instance parameters: {str(e)}")
- src/alibabacloud_rds_openapi_mcp_server/server.py:171-172 (registration)The @mcp.tool() decorator registers the 'modify_parameter' function as an MCP tool in the 'rds' group (default). Registration occurs during the activation phase in RdsMCP.activate() when the 'rds' group is enabled.@mcp.tool() async def modify_parameter(