vendor_connectors.google.tools
AI framework tools for Google Cloud and Workspace operations.
This module provides tools for Google Cloud and Workspace operations that work with multiple AI agent frameworks. The core functions are framework-agnostic Python functions, with native wrappers for each supported framework.
Supported Frameworks:
- LangChain (via langchain-core) - get_langchain_tools()
- CrewAI - get_crewai_tools()
- AWS Strands - get_strands_tools() (plain functions)
- Auto-detection - get_tools() picks the best available
Tools provided:
- google_list_projects: List GCP projects
- google_list_folders: List GCP folders under a parent
- google_list_enabled_services: List enabled services in a project
- google_list_billing_accounts: List billing accounts
- google_list_workspace_users: List Workspace users
- google_list_workspace_groups: List Workspace groups
Usage: from vendor_connectors.google.tools import get_tools tools = get_tools() # Returns best format for installed framework
Module Contents
Section titled “Module Contents”Classes
Section titled “Classes”ListProjectsSchema | Schema for listing Google Cloud projects. |
|---|---|
ListFoldersSchema | Schema for listing Google Cloud folders. |
ListEnabledServicesSchema | Schema for listing enabled services in a project. |
ListBillingAccountsSchema | Schema for listing Google Cloud billing accounts. |
ListWorkspaceUsersSchema | Schema for listing Google Workspace users. |
ListWorkspaceGroupsSchema | Schema for listing Google Workspace groups. |
Functions
Section titled “Functions”list_projects | List Google Cloud projects. |
|---|---|
list_folders | List folders under a parent resource. |
list_enabled_services | List enabled services in a Google Cloud project. |
list_billing_accounts | List Google Cloud billing accounts. |
list_workspace_users | List users from Google Workspace. |
list_workspace_groups | List groups from Google Workspace. |
get_langchain_tools | Get all Google tools as LangChain StructuredTools. |
get_crewai_tools | Get all Google tools as CrewAI tools. |
get_strands_tools | Get all Google tools as plain Python functions for AWS Strands. |
get_tools | Get Google tools for the specified or auto-detected framework. |
TOOL_DEFINITIONS |
|---|
class vendor_connectors.google.tools.ListProjectsSchema
Section titled “class vendor_connectors.google.tools.ListProjectsSchema”Bases: pydantic.BaseModel
Schema for listing Google Cloud projects.
parent : str
Section titled “parent : str”‘Field(…)’
max_results : int
Section titled “max_results : int”‘Field(…)’
class vendor_connectors.google.tools.ListFoldersSchema
Section titled “class vendor_connectors.google.tools.ListFoldersSchema”Bases: pydantic.BaseModel
Schema for listing Google Cloud folders.
parent : str
Section titled “parent : str”‘Field(…)’
max_results : int
Section titled “max_results : int”‘Field(…)’
class vendor_connectors.google.tools.ListEnabledServicesSchema
Section titled “class vendor_connectors.google.tools.ListEnabledServicesSchema”Bases: pydantic.BaseModel
Schema for listing enabled services in a project.
project_id : str
Section titled “project_id : str”‘Field(…)’
max_results : int
Section titled “max_results : int”‘Field(…)’
class vendor_connectors.google.tools.ListBillingAccountsSchema
Section titled “class vendor_connectors.google.tools.ListBillingAccountsSchema”Bases: pydantic.BaseModel
Schema for listing Google Cloud billing accounts.
max_results : int
Section titled “max_results : int”‘Field(…)’
class vendor_connectors.google.tools.ListWorkspaceUsersSchema
Section titled “class vendor_connectors.google.tools.ListWorkspaceUsersSchema”Bases: pydantic.BaseModel
Schema for listing Google Workspace users.
domain : str
Section titled “domain : str”‘Field(…)’
max_results : int
Section titled “max_results : int”‘Field(…)’
class vendor_connectors.google.tools.ListWorkspaceGroupsSchema
Section titled “class vendor_connectors.google.tools.ListWorkspaceGroupsSchema”Bases: pydantic.BaseModel
Schema for listing Google Workspace groups.
domain : str
Section titled “domain : str”‘Field(…)’
max_results : int
Section titled “max_results : int”‘Field(…)’
vendor_connectors.google.tools.list_projects(parent: str = ”, max_results: int = 100) → list[dict[str, Any]]
Section titled “vendor_connectors.google.tools.list_projects(parent: str = ”, max_results: int = 100) → list[dict[str, Any]]”List Google Cloud projects.
Args: parent: Parent resource (e.g., ‘organizations/123’ or ‘folders/456’). Leave empty to list all accessible projects. max_results: Maximum number of projects to return.
Returns: List of project info (project_id, name, state, parent).
vendor_connectors.google.tools.list_folders(parent: str, max_results: int = 100) → list[dict[str, Any]]
Section titled “vendor_connectors.google.tools.list_folders(parent: str, max_results: int = 100) → list[dict[str, Any]]”List folders under a parent resource.
Args: parent: Parent resource (organizations/ORG_ID or folders/FOLDER_ID). max_results: Maximum number of folders to return.
Returns: List of folder info (name, display_name, state, parent).
vendor_connectors.google.tools.list_enabled_services(project_id: str, max_results: int = 100) → list[dict[str, Any]]
Section titled “vendor_connectors.google.tools.list_enabled_services(project_id: str, max_results: int = 100) → list[dict[str, Any]]”List enabled services in a Google Cloud project.
Args: project_id: The GCP project ID to list services for. max_results: Maximum number of services to return.
Returns: List of service info (name, title, state).
vendor_connectors.google.tools.list_billing_accounts(max_results: int = 100) → list[dict[str, Any]]
Section titled “vendor_connectors.google.tools.list_billing_accounts(max_results: int = 100) → list[dict[str, Any]]”List Google Cloud billing accounts.
Args: max_results: Maximum number of billing accounts to return.
Returns: List of billing account info (name, display_name, open, master_billing_account).
vendor_connectors.google.tools.list_workspace_users(domain: str = ”, max_results: int = 100) → list[dict[str, Any]]
Section titled “vendor_connectors.google.tools.list_workspace_users(domain: str = ”, max_results: int = 100) → list[dict[str, Any]]”List users from Google Workspace.
Args: domain: Domain to list users from. Leave empty for default domain. max_results: Maximum number of users to return.
Returns: List of user info (email, name, full_name, suspended, org_unit_path).
vendor_connectors.google.tools.list_workspace_groups(domain: str = ”, max_results: int = 100) → list[dict[str, Any]]
Section titled “vendor_connectors.google.tools.list_workspace_groups(domain: str = ”, max_results: int = 100) → list[dict[str, Any]]”List groups from Google Workspace.
Args: domain: Domain to list groups from. Leave empty for default domain. max_results: Maximum number of groups to return.
Returns: List of group info (email, name, description, direct_members_count).
vendor_connectors.google.tools.TOOL_DEFINITIONS
Section titled “vendor_connectors.google.tools.TOOL_DEFINITIONS”None
vendor_connectors.google.tools.get_langchain_tools() → list[Any]
Section titled “vendor_connectors.google.tools.get_langchain_tools() → list[Any]”Get all Google tools as LangChain StructuredTools.
Returns: List of LangChain StructuredTool objects.
Raises: ImportError: If langchain-core is not installed.
vendor_connectors.google.tools.get_crewai_tools() → list[Any]
Section titled “vendor_connectors.google.tools.get_crewai_tools() → list[Any]”Get all Google tools as CrewAI tools.
Returns: List of CrewAI BaseTool objects.
Raises: ImportError: If crewai is not installed.
vendor_connectors.google.tools.get_strands_tools() → list[Any]
Section titled “vendor_connectors.google.tools.get_strands_tools() → list[Any]”Get all Google tools as plain Python functions for AWS Strands.
Returns: List of callable functions.
vendor_connectors.google.tools.get_tools(framework: str = ‘auto’) → list[Any]
Section titled “vendor_connectors.google.tools.get_tools(framework: str = ‘auto’) → list[Any]”Get Google tools for the specified or auto-detected framework.
Args: framework: Framework to use. Options:
- “auto” (default): Auto-detect based on installed packages
- “langchain”: Force LangChain StructuredTools
- “crewai”: Force CrewAI tools
- “strands”: Force plain functions for Strands
- “functions”: Force plain functions (alias for strands)
Returns: List of tools in the appropriate format for the framework.
Raises: ImportError: If the requested framework is not installed. ValueError: If an unknown framework is specified.