Skip to content

Commit 2f15b70

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Support Agent Gateway in AE
PiperOrigin-RevId: 886194959
1 parent 24f626c commit 2f15b70

3 files changed

Lines changed: 160 additions & 0 deletions

File tree

vertexai/_genai/agent_engines.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,13 @@ def _CreateAgentEngineConfig_to_vertex(
110110
if getv(from_object, ["python_version"]) is not None:
111111
setv(parent_object, ["pythonVersion"], getv(from_object, ["python_version"]))
112112

113+
if getv(from_object, ["agent_gateway_config"]) is not None:
114+
setv(
115+
parent_object,
116+
["agentGatewayConfig"],
117+
getv(from_object, ["agent_gateway_config"]),
118+
)
119+
113120
return to_object
114121

115122

@@ -284,6 +291,13 @@ def _UpdateAgentEngineConfig_to_vertex(
284291
if getv(from_object, ["python_version"]) is not None:
285292
setv(parent_object, ["pythonVersion"], getv(from_object, ["python_version"]))
286293

294+
if getv(from_object, ["agent_gateway_config"]) is not None:
295+
setv(
296+
parent_object,
297+
["agentGatewayConfig"],
298+
getv(from_object, ["agent_gateway_config"]),
299+
)
300+
287301
if getv(from_object, ["update_mask"]) is not None:
288302
setv(
289303
parent_object, ["_query", "updateMask"], getv(from_object, ["update_mask"])

vertexai/_genai/types/__init__.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,27 @@
776776
from .common import ReasoningEngineOrDict
777777
from .common import ReasoningEngineSpec
778778
from .common import ReasoningEngineSpecDeploymentSpec
779+
from .common import ReasoningEngineSpecDeploymentSpecAgentGatewayConfig
780+
from .common import (
781+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig,
782+
)
783+
from .common import (
784+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigDict,
785+
)
786+
from .common import (
787+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigOrDict,
788+
)
789+
from .common import (
790+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig,
791+
)
792+
from .common import (
793+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigDict,
794+
)
795+
from .common import (
796+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigOrDict,
797+
)
798+
from .common import ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict
799+
from .common import ReasoningEngineSpecDeploymentSpecAgentGatewayConfigOrDict
779800
from .common import ReasoningEngineSpecDeploymentSpecDict
780801
from .common import ReasoningEngineSpecDeploymentSpecOrDict
781802
from .common import ReasoningEngineSpecDict
@@ -1526,6 +1547,15 @@
15261547
"SecretEnvVar",
15271548
"SecretEnvVarDict",
15281549
"SecretEnvVarOrDict",
1550+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig",
1551+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigDict",
1552+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigOrDict",
1553+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig",
1554+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigDict",
1555+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigOrDict",
1556+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfig",
1557+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict",
1558+
"ReasoningEngineSpecDeploymentSpecAgentGatewayConfigOrDict",
15291559
"ReasoningEngineSpecDeploymentSpec",
15301560
"ReasoningEngineSpecDeploymentSpecDict",
15311561
"ReasoningEngineSpecDeploymentSpecOrDict",

vertexai/_genai/types/common.py

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5857,6 +5857,95 @@ class SecretEnvVarDict(TypedDict, total=False):
58575857
SecretEnvVarOrDict = Union[SecretEnvVar, SecretEnvVarDict]
58585858

58595859

5860+
class ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig(
5861+
_common.BaseModel
5862+
):
5863+
"""Configuration for traffic targeting a Reasoning Engine."""
5864+
5865+
agent_gateway: Optional[str] = Field(
5866+
default=None,
5867+
description="""Required. The resource name of the Agent Gateway to use for inbound traffic. It must be set to a Google-managed gateway whose `governed_access_path` is `CLIENT_TO_AGENT`. Format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`""",
5868+
)
5869+
5870+
5871+
class ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigDict(
5872+
TypedDict, total=False
5873+
):
5874+
"""Configuration for traffic targeting a Reasoning Engine."""
5875+
5876+
agent_gateway: Optional[str]
5877+
"""Required. The resource name of the Agent Gateway to use for inbound traffic. It must be set to a Google-managed gateway whose `governed_access_path` is `CLIENT_TO_AGENT`. Format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`"""
5878+
5879+
5880+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigOrDict = Union[
5881+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig,
5882+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigDict,
5883+
]
5884+
5885+
5886+
class ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig(
5887+
_common.BaseModel
5888+
):
5889+
"""Configuration for traffic originating from a Reasoning Engine."""
5890+
5891+
agent_gateway: Optional[str] = Field(
5892+
default=None,
5893+
description="""Required. The resource name of the Agent Gateway for outbound traffic. It must be set to a Google-managed gateway whose `governed_access_path` is `AGENT_TO_ANYWHERE`. Format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`""",
5894+
)
5895+
5896+
5897+
class ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigDict(
5898+
TypedDict, total=False
5899+
):
5900+
"""Configuration for traffic originating from a Reasoning Engine."""
5901+
5902+
agent_gateway: Optional[str]
5903+
"""Required. The resource name of the Agent Gateway for outbound traffic. It must be set to a Google-managed gateway whose `governed_access_path` is `AGENT_TO_ANYWHERE`. Format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`"""
5904+
5905+
5906+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigOrDict = Union[
5907+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig,
5908+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigDict,
5909+
]
5910+
5911+
5912+
class ReasoningEngineSpecDeploymentSpecAgentGatewayConfig(_common.BaseModel):
5913+
"""FUCK."""
5914+
5915+
client_to_agent_config: Optional[
5916+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig
5917+
] = Field(
5918+
default=None,
5919+
description="""Optional. Configuration for traffic targeting the Reasoning Engine. When unset, incoming traffic is not routed through an Agent Gateway.""",
5920+
)
5921+
agent_to_anywhere_config: Optional[
5922+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig
5923+
] = Field(
5924+
default=None,
5925+
description="""Optional. Configuration for traffic originating from the Reasoning Engine. When unset, outgoing traffic is not routed through an Agent Gateway.""",
5926+
)
5927+
5928+
5929+
class ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict(TypedDict, total=False):
5930+
"""FUCK."""
5931+
5932+
client_to_agent_config: Optional[
5933+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfigDict
5934+
]
5935+
"""Optional. Configuration for traffic targeting the Reasoning Engine. When unset, incoming traffic is not routed through an Agent Gateway."""
5936+
5937+
agent_to_anywhere_config: Optional[
5938+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfigDict
5939+
]
5940+
"""Optional. Configuration for traffic originating from the Reasoning Engine. When unset, outgoing traffic is not routed through an Agent Gateway."""
5941+
5942+
5943+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigOrDict = Union[
5944+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfig,
5945+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict,
5946+
]
5947+
5948+
58605949
class ReasoningEngineSpecDeploymentSpec(_common.BaseModel):
58615950
"""The specification of a Reasoning Engine deployment."""
58625951

@@ -5890,6 +5979,12 @@ class ReasoningEngineSpecDeploymentSpec(_common.BaseModel):
58905979
default=None,
58915980
description="""Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent.""",
58925981
)
5982+
agent_gateway_config: Optional[
5983+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfig
5984+
] = Field(
5985+
default=None,
5986+
description="""Optional. Agent Gateway configuration for the Reasoning Engine deployment.""",
5987+
)
58935988

58945989

58955990
class ReasoningEngineSpecDeploymentSpecDict(TypedDict, total=False):
@@ -5919,6 +6014,11 @@ class ReasoningEngineSpecDeploymentSpecDict(TypedDict, total=False):
59196014
secret_env: Optional[list[SecretEnvVarDict]]
59206015
"""Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent."""
59216016

6017+
agent_gateway_config: Optional[
6018+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict
6019+
]
6020+
"""Optional. Agent Gateway configuration for the Reasoning Engine deployment."""
6021+
59226022

59236023
ReasoningEngineSpecDeploymentSpecOrDict = Union[
59246024
ReasoningEngineSpecDeploymentSpec, ReasoningEngineSpecDeploymentSpecDict
@@ -6953,6 +7053,9 @@ class CreateAgentEngineConfig(_common.BaseModel):
69537053
subdirectory and the path must be added to `extra_packages`.
69547054
""",
69557055
)
7056+
agent_gateway_config: Optional[
7057+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfig
7058+
] = Field(default=None, description="""Optional. FUCK.""")
69567059

69577060

69587061
class CreateAgentEngineConfigDict(TypedDict, total=False):
@@ -7084,6 +7187,11 @@ class CreateAgentEngineConfigDict(TypedDict, total=False):
70847187
subdirectory and the path must be added to `extra_packages`.
70857188
"""
70867189

7190+
agent_gateway_config: Optional[
7191+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict
7192+
]
7193+
"""Optional. FUCK."""
7194+
70877195

70887196
CreateAgentEngineConfigOrDict = Union[
70897197
CreateAgentEngineConfig, CreateAgentEngineConfigDict
@@ -7726,6 +7834,9 @@ class UpdateAgentEngineConfig(_common.BaseModel):
77267834
subdirectory and the path must be added to `extra_packages`.
77277835
""",
77287836
)
7837+
agent_gateway_config: Optional[
7838+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfig
7839+
] = Field(default=None, description="""Optional. FUCK.""")
77297840
update_mask: Optional[str] = Field(
77307841
default=None,
77317842
description="""The update mask to apply. For the `FieldMask` definition, see
@@ -7862,6 +7973,11 @@ class UpdateAgentEngineConfigDict(TypedDict, total=False):
78627973
subdirectory and the path must be added to `extra_packages`.
78637974
"""
78647975

7976+
agent_gateway_config: Optional[
7977+
ReasoningEngineSpecDeploymentSpecAgentGatewayConfigDict
7978+
]
7979+
"""Optional. FUCK."""
7980+
78657981
update_mask: Optional[str]
78667982
"""The update mask to apply. For the `FieldMask` definition, see
78677983
https://protobuf.dev/reference/protobuf/google.protobuf/#field-mask."""

0 commit comments

Comments
 (0)