From 9a35575867b569e2994e688a0a401783f065e293 Mon Sep 17 00:00:00 2001 From: Avichay Marciano Date: Thu, 14 May 2026 15:57:29 +0300 Subject: [PATCH] [FLINK-AGENTS][api] Add ResourceName constants for AWS integrations The Bedrock chat / Bedrock embedding (PR #534) and OpenSearch / S3 Vectors (PR #533) integrations were merged without ResourceName constants. Users currently have to reference these implementations via fully-qualified class name strings, e.g. BedrockChatModelConnection.class.getName() while every other built-in provider gets a constant under ResourceName, e.g. ResourceName.ChatModel.OLLAMA_CONNECTION Add the missing constants so AWS integrations match the established pattern, both for Java agents: ResourceName.ChatModel.BEDROCK_CONNECTION / BEDROCK_SETUP ResourceName.EmbeddingModel.BEDROCK_CONNECTION / BEDROCK_SETUP ResourceName.VectorStore.OPENSEARCH_VECTOR_STORE ResourceName.VectorStore.S3_VECTORS_VECTOR_STORE and Python agents using these via the cross-language wrapper: ResourceName.ChatModel.Java.BEDROCK_CONNECTION / BEDROCK_SETUP ResourceName.EmbeddingModel.Java.BEDROCK_CONNECTION / BEDROCK_SETUP ResourceName.VectorStore.Java.OPENSEARCH_VECTOR_STORE ResourceName.VectorStore.Java.S3_VECTORS_VECTOR_STORE This is purely additive; existing code that references the FQCN string continues to work unchanged. --- .../agents/api/resource/ResourceName.java | 20 +++++++++++++++++++ python/flink_agents/api/resource.py | 14 +++++++++++++ 2 files changed, 34 insertions(+) diff --git a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java b/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java index e4002be7c..0d6ee413e 100644 --- a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java +++ b/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java @@ -59,6 +59,12 @@ public static final class ChatModel { public static final String AZURE_SETUP = "org.apache.flink.agents.integrations.chatmodels.azureai.AzureAIChatModelSetup"; + // Bedrock + public static final String BEDROCK_CONNECTION = + "org.apache.flink.agents.integrations.chatmodels.bedrock.BedrockChatModelConnection"; + public static final String BEDROCK_SETUP = + "org.apache.flink.agents.integrations.chatmodels.bedrock.BedrockChatModelSetup"; + // Ollama public static final String OLLAMA_CONNECTION = "org.apache.flink.agents.integrations.chatmodels.ollama.OllamaChatModelConnection"; @@ -131,6 +137,12 @@ public static final class EmbeddingModel { public static final String OLLAMA_SETUP = "org.apache.flink.agents.integrations.embeddingmodels.ollama.OllamaEmbeddingModelSetup"; + // Bedrock + public static final String BEDROCK_CONNECTION = + "org.apache.flink.agents.integrations.embeddingmodels.bedrock.BedrockEmbeddingModelConnection"; + public static final String BEDROCK_SETUP = + "org.apache.flink.agents.integrations.embeddingmodels.bedrock.BedrockEmbeddingModelSetup"; + // Python Wrapper public static final String PYTHON_WRAPPER_CONNECTION = "org.apache.flink.agents.api.embedding.model.python.PythonEmbeddingModelConnection"; @@ -171,6 +183,14 @@ public static final class VectorStore { public static final String ELASTICSEARCH_VECTOR_STORE = "org.apache.flink.agents.integrations.vectorstores.elasticsearch.ElasticsearchVectorStore"; + // Amazon OpenSearch (Serverless or Service domains) + public static final String OPENSEARCH_VECTOR_STORE = + "org.apache.flink.agents.integrations.vectorstores.opensearch.OpenSearchVectorStore"; + + // Amazon S3 Vectors + public static final String S3_VECTORS_VECTOR_STORE = + "org.apache.flink.agents.integrations.vectorstores.s3vectors.S3VectorsVectorStore"; + // Python Wrapper public static final String PYTHON_WRAPPER_VECTOR_STORE = "org.apache.flink.agents.api.vectorstores.python.PythonVectorStore"; diff --git a/python/flink_agents/api/resource.py b/python/flink_agents/api/resource.py index f8d7741a0..f481edcf1 100644 --- a/python/flink_agents/api/resource.py +++ b/python/flink_agents/api/resource.py @@ -276,6 +276,10 @@ class Java: AZURE_CONNECTION = "org.apache.flink.agents.integrations.chatmodels.azureai.AzureAIChatModelConnection" AZURE_SETUP = "org.apache.flink.agents.integrations.chatmodels.azureai.AzureAIChatModelSetup" + # Bedrock + BEDROCK_CONNECTION = "org.apache.flink.agents.integrations.chatmodels.bedrock.BedrockChatModelConnection" + BEDROCK_SETUP = "org.apache.flink.agents.integrations.chatmodels.bedrock.BedrockChatModelSetup" + # Ollama OLLAMA_CONNECTION = "org.apache.flink.agents.integrations.chatmodels.ollama.OllamaChatModelConnection" OLLAMA_SETUP = "org.apache.flink.agents.integrations.chatmodels.ollama.OllamaChatModelSetup" @@ -313,6 +317,10 @@ class Java: OLLAMA_CONNECTION = "org.apache.flink.agents.integrations.embeddingmodels.ollama.OllamaEmbeddingModelConnection" OLLAMA_SETUP = "org.apache.flink.agents.integrations.embeddingmodels.ollama.OllamaEmbeddingModelSetup" + # Bedrock + BEDROCK_CONNECTION = "org.apache.flink.agents.integrations.embeddingmodels.bedrock.BedrockEmbeddingModelConnection" + BEDROCK_SETUP = "org.apache.flink.agents.integrations.embeddingmodels.bedrock.BedrockEmbeddingModelSetup" + class VectorStore: """VectorStore resource names.""" @@ -331,5 +339,11 @@ class Java: # Elasticsearch ELASTICSEARCH_VECTOR_STORE = "org.apache.flink.agents.integrations.vectorstores.elasticsearch.ElasticsearchVectorStore" + # Amazon OpenSearch (Serverless or Service domains) + OPENSEARCH_VECTOR_STORE = "org.apache.flink.agents.integrations.vectorstores.opensearch.OpenSearchVectorStore" + + # Amazon S3 Vectors + S3_VECTORS_VECTOR_STORE = "org.apache.flink.agents.integrations.vectorstores.s3vectors.S3VectorsVectorStore" + # MCP resource names MCP_SERVER = "flink_agents.integrations.mcp.mcp.MCPServer"