update_module_version
Update Ansible module schemas and documentation to maintain accurate IaC component information in memory storage.
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_schema | Yes | New schema | |
| new_version | No | New version | |
| new_doc_url | No | New documentation URL |
Implementation Reference
- The core database handler function that executes the UPDATE query to modify an Ansible module's schema, version, and documentation URL in the ansible_modules table.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)}")
- JSON schema defining the input parameters for the 'update_module_version' MCP tool, used for validation and tool listing."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"}, }, },
- Wrapper method on DatabaseManager class that imports and delegates to the core update_module_version function from ansible.py.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:4-72 (registration)Re-exports the update_module_version function from ansible.py, making it available at the db package level for use by tool handlers.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", ]