update_module_version
Update the schema, version, and documentation URL of an existing Ansible module. Facilitates maintaining accurate and current module information within the IaC Memory MCP Server.
Instructions
Update an existing Ansible module's schema and related information
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| module_id | Yes | Module ID | |
| new_doc_url | No | New documentation URL | |
| new_schema | Yes | New schema | |
| new_version | No | New version |
Implementation Reference
- Core handler function that executes the SQL UPDATE to modify an Ansible module's schema, version, and documentation in the database.def update_module_version( db: DatabaseManager, module_id: str, new_schema: str, new_version: Optional[str] = None, new_doc_url: Optional[str] = None, ) -> bool: """Update an Ansible module's schema and optional fields.""" try: with db.get_connection() as conn: conn.execute("BEGIN IMMEDIATE") # Start transaction try: updates = ["schema = ?"] params = [new_schema] if new_version: updates.append("version = ?") params.append(new_version) if new_doc_url: updates.append("doc_url = ?") params.append(new_doc_url) updates.append("updated_at = CURRENT_TIMESTAMP") params.append(module_id) cursor = conn.execute( f"""UPDATE ansible_modules SET {', '.join(updates)} WHERE id = ?""", tuple(params), ) conn.commit() return cursor.rowcount > 0 except Exception: conn.rollback() raise except sqlite3.Error as e: raise DatabaseError(f"Failed to update module version: {str(e)}")
- Input schema definition used for validating tool arguments in the MCP tool implementation."update_module_version": { "type": "object", "description": "Update an existing Ansible module's schema and related information", "required": ["module_id", "new_schema"], "properties": { "module_id": {"type": "string", "description": "Module ID"}, "new_schema": {"type": "string", "description": "New schema"}, "new_version": {"type": "string", "description": "New version"}, "new_doc_url": {"type": "string", "description": "New documentation URL"}, }, },
- DatabaseManager wrapper method that imports and delegates to the core ansible.py implementation.def update_module_version( self, module_id: str, new_schema: str, new_version: str = None, new_doc_url: str = None, ) -> bool: """Update a module's version and schema.""" from .ansible import update_module_version return update_module_version( self, module_id, new_schema, new_version, new_doc_url )
- src/iac_memory_mcp_server/db/__init__.py:1-72 (registration)Re-exports the update_module_version function and includes it in __all__ for package-level access, facilitating tool registration."""Database package for IaC Memory MCP Server.""" from .ansible import ( add_ansible_collection, add_ansible_module, get_collection_modules, get_module_info, update_collection_version, update_module_version, ) from .connection import DatabaseError, DatabaseManager, UniqueConstraintError from .core import execute_query, execute_write, get_db, reset_database from .entities import ( create_entity, delete_entity, get_entity, get_entity_with_observation, update_entity, ) from .resources import ( get_ansible_collections, get_ansible_modules, get_entities, get_entity_relationships, get_terraform_providers, get_terraform_resources, ) from .terraform import ( add_terraform_provider, add_terraform_resource, get_provider_resources, get_resource_info, update_provider_version, update_resource_schema, ) __all__ = [ "DatabaseManager", "DatabaseError", "UniqueConstraintError", "get_db", "execute_query", "execute_write", "reset_database", # Entity operations "create_entity", "update_entity", "delete_entity", "get_entity", "get_entity_relationships", "get_entity_with_observation", # Resource operations "get_terraform_resources", "get_terraform_providers", "get_ansible_modules", "get_ansible_collections", "get_entities", # Terraform operations "add_terraform_provider", "get_provider_resources", "update_provider_version", "add_terraform_resource", "get_resource_info", "update_resource_schema", # Ansible operations "add_ansible_collection", "get_collection_modules", "update_collection_version", "add_ansible_module", "get_module_info", "update_module_version", ]