published on Wednesday, Jun 24, 2026 by Pulumi
published on Wednesday, Jun 24, 2026 by Pulumi
AgentGateway represents the agent gateway resource.
To get more information about AgentGateway, see:
Example Usage
Network Services Agent Gateway Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const project = gcp.organizations.getProject({});
const agentRegistry = new gcp.projects.Service("agent_registry", {
service: "agentregistry.googleapis.com",
disableOnDestroy: false,
});
const defaultNetwork = new gcp.compute.Network("default", {
name: "my-gateway-network",
autoCreateSubnetworks: false,
});
const defaultSubnetwork = new gcp.compute.Subnetwork("default", {
name: "my-gateway-subnetwork",
region: "us-central1",
network: defaultNetwork.id,
ipCidrRange: "10.0.0.0/16",
});
const defaultNetworkAttachment = new gcp.compute.NetworkAttachment("default", {
name: "my-gateway-attachment",
region: "us-central1",
connectionPreference: "ACCEPT_MANUAL",
subnetworks: [defaultSubnetwork.id],
});
const defaultManagedZone = new gcp.dns.ManagedZone("default", {
name: "my-gateway-zone",
dnsName: "example.com.",
description: "Private zone used by AgentGateway DNS peering",
visibility: "private",
privateVisibilityConfig: {
networks: [{
networkUrl: defaultNetwork.id,
}],
},
});
const _default = new gcp.networkservices.AgentGateway("default", {
name: "my-full-agent-gateway",
location: "us-central1",
description: "A full configuration for Agent Gateway",
labels: {
env: "test",
tier: "gold",
},
protocols: ["MCP"],
googleManaged: {
governedAccessPath: "AGENT_TO_ANYWHERE",
},
registries: ["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"],
networkConfig: {
egress: {
networkAttachment: defaultNetworkAttachment.id,
},
dnsPeeringConfig: {
domains: [defaultManagedZone.dnsName],
targetProject: project.then(project => project.projectId),
targetNetwork: defaultNetwork.id,
},
},
}, {
dependsOn: [agentRegistry],
});
import pulumi
import pulumi_gcp as gcp
project = gcp.organizations.get_project()
agent_registry = gcp.projects.Service("agent_registry",
service="agentregistry.googleapis.com",
disable_on_destroy=False)
default_network = gcp.compute.Network("default",
name="my-gateway-network",
auto_create_subnetworks=False)
default_subnetwork = gcp.compute.Subnetwork("default",
name="my-gateway-subnetwork",
region="us-central1",
network=default_network.id,
ip_cidr_range="10.0.0.0/16")
default_network_attachment = gcp.compute.NetworkAttachment("default",
name="my-gateway-attachment",
region="us-central1",
connection_preference="ACCEPT_MANUAL",
subnetworks=[default_subnetwork.id])
default_managed_zone = gcp.dns.ManagedZone("default",
name="my-gateway-zone",
dns_name="example.com.",
description="Private zone used by AgentGateway DNS peering",
visibility="private",
private_visibility_config={
"networks": [{
"network_url": default_network.id,
}],
})
default = gcp.networkservices.AgentGateway("default",
name="my-full-agent-gateway",
location="us-central1",
description="A full configuration for Agent Gateway",
labels={
"env": "test",
"tier": "gold",
},
protocols=["MCP"],
google_managed={
"governed_access_path": "AGENT_TO_ANYWHERE",
},
registries=["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"],
network_config={
"egress": {
"network_attachment": default_network_attachment.id,
},
"dns_peering_config": {
"domains": [default_managed_zone.dns_name],
"target_project": project.project_id,
"target_network": default_network.id,
},
},
opts = pulumi.ResourceOptions(depends_on=[agent_registry]))
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/networkservices"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/projects"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
if err != nil {
return err
}
agentRegistry, err := projects.NewService(ctx, "agent_registry", &projects.ServiceArgs{
Service: pulumi.String("agentregistry.googleapis.com"),
DisableOnDestroy: pulumi.Bool(false),
})
if err != nil {
return err
}
defaultNetwork, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
Name: pulumi.String("my-gateway-network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
Name: pulumi.String("my-gateway-subnetwork"),
Region: pulumi.String("us-central1"),
Network: defaultNetwork.ID(),
IpCidrRange: pulumi.String("10.0.0.0/16"),
})
if err != nil {
return err
}
defaultNetworkAttachment, err := compute.NewNetworkAttachment(ctx, "default", &compute.NetworkAttachmentArgs{
Name: pulumi.String("my-gateway-attachment"),
Region: pulumi.String("us-central1"),
ConnectionPreference: pulumi.String("ACCEPT_MANUAL"),
Subnetworks: pulumi.StringArray{
defaultSubnetwork.ID(),
},
})
if err != nil {
return err
}
defaultManagedZone, err := dns.NewManagedZone(ctx, "default", &dns.ManagedZoneArgs{
Name: pulumi.String("my-gateway-zone"),
DnsName: pulumi.String("example.com."),
Description: pulumi.String("Private zone used by AgentGateway DNS peering"),
Visibility: pulumi.String("private"),
PrivateVisibilityConfig: &dns.ManagedZonePrivateVisibilityConfigArgs{
Networks: dns.ManagedZonePrivateVisibilityConfigNetworkArray{
&dns.ManagedZonePrivateVisibilityConfigNetworkArgs{
NetworkUrl: defaultNetwork.ID(),
},
},
},
})
if err != nil {
return err
}
_, err = networkservices.NewAgentGateway(ctx, "default", &networkservices.AgentGatewayArgs{
Name: pulumi.String("my-full-agent-gateway"),
Location: pulumi.String("us-central1"),
Description: pulumi.String("A full configuration for Agent Gateway"),
Labels: pulumi.StringMap{
"env": pulumi.String("test"),
"tier": pulumi.String("gold"),
},
Protocols: pulumi.StringArray{
pulumi.String("MCP"),
},
GoogleManaged: &networkservices.AgentGatewayGoogleManagedArgs{
GovernedAccessPath: pulumi.String("AGENT_TO_ANYWHERE"),
},
Registries: pulumi.StringArray{
pulumi.String("//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"),
},
NetworkConfig: &networkservices.AgentGatewayNetworkConfigArgs{
Egress: &networkservices.AgentGatewayNetworkConfigEgressArgs{
NetworkAttachment: defaultNetworkAttachment.ID(),
},
DnsPeeringConfig: &networkservices.AgentGatewayNetworkConfigDnsPeeringConfigArgs{
Domains: pulumi.StringArray{
defaultManagedZone.DnsName,
},
TargetProject: pulumi.String(project.ProjectId),
TargetNetwork: defaultNetwork.ID(),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
agentRegistry,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var project = Gcp.Organizations.GetProject.Invoke();
var agentRegistry = new Gcp.Projects.Service("agent_registry", new()
{
ServiceName = "agentregistry.googleapis.com",
DisableOnDestroy = false,
});
var defaultNetwork = new Gcp.Compute.Network("default", new()
{
Name = "my-gateway-network",
AutoCreateSubnetworks = false,
});
var defaultSubnetwork = new Gcp.Compute.Subnetwork("default", new()
{
Name = "my-gateway-subnetwork",
Region = "us-central1",
Network = defaultNetwork.Id,
IpCidrRange = "10.0.0.0/16",
});
var defaultNetworkAttachment = new Gcp.Compute.NetworkAttachment("default", new()
{
Name = "my-gateway-attachment",
Region = "us-central1",
ConnectionPreference = "ACCEPT_MANUAL",
Subnetworks = new[]
{
defaultSubnetwork.Id,
},
});
var defaultManagedZone = new Gcp.Dns.ManagedZone("default", new()
{
Name = "my-gateway-zone",
DnsName = "example.com.",
Description = "Private zone used by AgentGateway DNS peering",
Visibility = "private",
PrivateVisibilityConfig = new Gcp.Dns.Inputs.ManagedZonePrivateVisibilityConfigArgs
{
Networks = new[]
{
new Gcp.Dns.Inputs.ManagedZonePrivateVisibilityConfigNetworkArgs
{
NetworkUrl = defaultNetwork.Id,
},
},
},
});
var @default = new Gcp.NetworkServices.AgentGateway("default", new()
{
Name = "my-full-agent-gateway",
Location = "us-central1",
Description = "A full configuration for Agent Gateway",
Labels =
{
{ "env", "test" },
{ "tier", "gold" },
},
Protocols = new[]
{
"MCP",
},
GoogleManaged = new Gcp.NetworkServices.Inputs.AgentGatewayGoogleManagedArgs
{
GovernedAccessPath = "AGENT_TO_ANYWHERE",
},
Registries = new[]
{
"//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1",
},
NetworkConfig = new Gcp.NetworkServices.Inputs.AgentGatewayNetworkConfigArgs
{
Egress = new Gcp.NetworkServices.Inputs.AgentGatewayNetworkConfigEgressArgs
{
NetworkAttachment = defaultNetworkAttachment.Id,
},
DnsPeeringConfig = new Gcp.NetworkServices.Inputs.AgentGatewayNetworkConfigDnsPeeringConfigArgs
{
Domains = new[]
{
defaultManagedZone.DnsName,
},
TargetProject = project.Apply(getProjectResult => getProjectResult.ProjectId),
TargetNetwork = defaultNetwork.Id,
},
},
}, new CustomResourceOptions
{
DependsOn =
{
agentRegistry,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.compute.NetworkAttachment;
import com.pulumi.gcp.compute.NetworkAttachmentArgs;
import com.pulumi.gcp.dns.ManagedZone;
import com.pulumi.gcp.dns.ManagedZoneArgs;
import com.pulumi.gcp.dns.inputs.ManagedZonePrivateVisibilityConfigArgs;
import com.pulumi.gcp.dns.inputs.ManagedZonePrivateVisibilityConfigNetworkArgs;
import com.pulumi.gcp.networkservices.AgentGateway;
import com.pulumi.gcp.networkservices.AgentGatewayArgs;
import com.pulumi.gcp.networkservices.inputs.AgentGatewayGoogleManagedArgs;
import com.pulumi.gcp.networkservices.inputs.AgentGatewayNetworkConfigArgs;
import com.pulumi.gcp.networkservices.inputs.AgentGatewayNetworkConfigEgressArgs;
import com.pulumi.gcp.networkservices.inputs.AgentGatewayNetworkConfigDnsPeeringConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
.build());
var agentRegistry = new Service("agentRegistry", ServiceArgs.builder()
.service("agentregistry.googleapis.com")
.disableOnDestroy(false)
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.name("my-gateway-network")
.autoCreateSubnetworks(false)
.build());
var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
.name("my-gateway-subnetwork")
.region("us-central1")
.network(defaultNetwork.id())
.ipCidrRange("10.0.0.0/16")
.build());
var defaultNetworkAttachment = new NetworkAttachment("defaultNetworkAttachment", NetworkAttachmentArgs.builder()
.name("my-gateway-attachment")
.region("us-central1")
.connectionPreference("ACCEPT_MANUAL")
.subnetworks(defaultSubnetwork.id())
.build());
var defaultManagedZone = new ManagedZone("defaultManagedZone", ManagedZoneArgs.builder()
.name("my-gateway-zone")
.dnsName("example.com.")
.description("Private zone used by AgentGateway DNS peering")
.visibility("private")
.privateVisibilityConfig(ManagedZonePrivateVisibilityConfigArgs.builder()
.networks(ManagedZonePrivateVisibilityConfigNetworkArgs.builder()
.networkUrl(defaultNetwork.id())
.build())
.build())
.build());
var default_ = new AgentGateway("default", AgentGatewayArgs.builder()
.name("my-full-agent-gateway")
.location("us-central1")
.description("A full configuration for Agent Gateway")
.labels(Map.ofEntries(
Map.entry("env", "test"),
Map.entry("tier", "gold")
))
.protocols("MCP")
.googleManaged(AgentGatewayGoogleManagedArgs.builder()
.governedAccessPath("AGENT_TO_ANYWHERE")
.build())
.registries("//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1")
.networkConfig(AgentGatewayNetworkConfigArgs.builder()
.egress(AgentGatewayNetworkConfigEgressArgs.builder()
.networkAttachment(defaultNetworkAttachment.id())
.build())
.dnsPeeringConfig(AgentGatewayNetworkConfigDnsPeeringConfigArgs.builder()
.domains(defaultManagedZone.dnsName())
.targetProject(project.projectId())
.targetNetwork(defaultNetwork.id())
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(agentRegistry)
.build());
}
}
resources:
default:
type: gcp:networkservices:AgentGateway
properties:
name: my-full-agent-gateway
location: us-central1
description: A full configuration for Agent Gateway
labels:
env: test
tier: gold
protocols:
- MCP
googleManaged:
governedAccessPath: AGENT_TO_ANYWHERE
registries:
- //agentregistry.googleapis.com/projects/my-project-name/locations/us-central1
networkConfig:
egress:
networkAttachment: ${defaultNetworkAttachment.id}
dnsPeeringConfig:
domains:
- ${defaultManagedZone.dnsName}
targetProject: ${project.projectId}
targetNetwork: ${defaultNetwork.id}
options:
dependsOn:
- ${agentRegistry}
agentRegistry:
type: gcp:projects:Service
name: agent_registry
properties:
service: agentregistry.googleapis.com
disableOnDestroy: false
defaultNetwork:
type: gcp:compute:Network
name: default
properties:
name: my-gateway-network
autoCreateSubnetworks: false
defaultSubnetwork:
type: gcp:compute:Subnetwork
name: default
properties:
name: my-gateway-subnetwork
region: us-central1
network: ${defaultNetwork.id}
ipCidrRange: 10.0.0.0/16
defaultNetworkAttachment:
type: gcp:compute:NetworkAttachment
name: default
properties:
name: my-gateway-attachment
region: us-central1
connectionPreference: ACCEPT_MANUAL
subnetworks:
- ${defaultSubnetwork.id}
defaultManagedZone:
type: gcp:dns:ManagedZone
name: default
properties:
name: my-gateway-zone
dnsName: example.com.
description: Private zone used by AgentGateway DNS peering
visibility: private
privateVisibilityConfig:
networks:
- networkUrl: ${defaultNetwork.id}
variables:
project:
fn::invoke:
function: gcp:organizations:getProject
arguments: {}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
data "gcp_organizations_getproject" "project" {
}
resource "gcp_networkservices_agentgateway" "default" {
depends_on = [gcp_projects_service.agent_registry]
name = "my-full-agent-gateway"
location = "us-central1"
description = "A full configuration for Agent Gateway"
labels = {
"env" = "test"
"tier" = "gold"
}
protocols = ["MCP"]
google_managed = {
governed_access_path = "AGENT_TO_ANYWHERE"
}
registries = ["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"]
network_config = {
egress = {
network_attachment = gcp_compute_networkattachment.default.id
}
dns_peering_config = {
domains = [gcp_dns_managedzone.default.dns_name]
target_project = data.gcp_organizations_getproject.project.project_id
target_network = gcp_compute_network.default.id
}
}
}
resource "gcp_projects_service" "agent_registry" {
service = "agentregistry.googleapis.com"
disable_on_destroy = false
}
resource "gcp_compute_network" "default" {
name = "my-gateway-network"
auto_create_subnetworks = false
}
resource "gcp_compute_subnetwork" "default" {
name = "my-gateway-subnetwork"
region = "us-central1"
network = gcp_compute_network.default.id
ip_cidr_range = "10.0.0.0/16"
}
resource "gcp_compute_networkattachment" "default" {
name = "my-gateway-attachment"
region = "us-central1"
connection_preference = "ACCEPT_MANUAL"
subnetworks = [gcp_compute_subnetwork.default.id]
}
resource "gcp_dns_managedzone" "default" {
name = "my-gateway-zone"
dns_name = "example.com."
description = "Private zone used by AgentGateway DNS peering"
visibility = "private"
private_visibility_config = {
networks = [{
"networkUrl" = gcp_compute_network.default.id
}]
}
}
Network Services Agent Gateway Client To Agent
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const agentRegistry = new gcp.projects.Service("agent_registry", {
service: "agentregistry.googleapis.com",
disableOnDestroy: false,
});
const _default = new gcp.networkservices.AgentGateway("default", {
name: "my-client-to-agent-gateway",
location: "us-central1",
googleManaged: {
governedAccessPath: "CLIENT_TO_AGENT",
},
registries: ["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"],
}, {
dependsOn: [agentRegistry],
});
import pulumi
import pulumi_gcp as gcp
agent_registry = gcp.projects.Service("agent_registry",
service="agentregistry.googleapis.com",
disable_on_destroy=False)
default = gcp.networkservices.AgentGateway("default",
name="my-client-to-agent-gateway",
location="us-central1",
google_managed={
"governed_access_path": "CLIENT_TO_AGENT",
},
registries=["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"],
opts = pulumi.ResourceOptions(depends_on=[agent_registry]))
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/networkservices"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/projects"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
agentRegistry, err := projects.NewService(ctx, "agent_registry", &projects.ServiceArgs{
Service: pulumi.String("agentregistry.googleapis.com"),
DisableOnDestroy: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = networkservices.NewAgentGateway(ctx, "default", &networkservices.AgentGatewayArgs{
Name: pulumi.String("my-client-to-agent-gateway"),
Location: pulumi.String("us-central1"),
GoogleManaged: &networkservices.AgentGatewayGoogleManagedArgs{
GovernedAccessPath: pulumi.String("CLIENT_TO_AGENT"),
},
Registries: pulumi.StringArray{
pulumi.String("//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"),
},
}, pulumi.DependsOn([]pulumi.Resource{
agentRegistry,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var agentRegistry = new Gcp.Projects.Service("agent_registry", new()
{
ServiceName = "agentregistry.googleapis.com",
DisableOnDestroy = false,
});
var @default = new Gcp.NetworkServices.AgentGateway("default", new()
{
Name = "my-client-to-agent-gateway",
Location = "us-central1",
GoogleManaged = new Gcp.NetworkServices.Inputs.AgentGatewayGoogleManagedArgs
{
GovernedAccessPath = "CLIENT_TO_AGENT",
},
Registries = new[]
{
"//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1",
},
}, new CustomResourceOptions
{
DependsOn =
{
agentRegistry,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.networkservices.AgentGateway;
import com.pulumi.gcp.networkservices.AgentGatewayArgs;
import com.pulumi.gcp.networkservices.inputs.AgentGatewayGoogleManagedArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var agentRegistry = new Service("agentRegistry", ServiceArgs.builder()
.service("agentregistry.googleapis.com")
.disableOnDestroy(false)
.build());
var default_ = new AgentGateway("default", AgentGatewayArgs.builder()
.name("my-client-to-agent-gateway")
.location("us-central1")
.googleManaged(AgentGatewayGoogleManagedArgs.builder()
.governedAccessPath("CLIENT_TO_AGENT")
.build())
.registries("//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1")
.build(), CustomResourceOptions.builder()
.dependsOn(agentRegistry)
.build());
}
}
resources:
default:
type: gcp:networkservices:AgentGateway
properties:
name: my-client-to-agent-gateway
location: us-central1
googleManaged:
governedAccessPath: CLIENT_TO_AGENT
registries:
- //agentregistry.googleapis.com/projects/my-project-name/locations/us-central1
options:
dependsOn:
- ${agentRegistry}
agentRegistry:
type: gcp:projects:Service
name: agent_registry
properties:
service: agentregistry.googleapis.com
disableOnDestroy: false
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_networkservices_agentgateway" "default" {
depends_on = [gcp_projects_service.agent_registry]
name = "my-client-to-agent-gateway"
location = "us-central1"
google_managed = {
governed_access_path = "CLIENT_TO_AGENT"
}
registries = ["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"]
}
resource "gcp_projects_service" "agent_registry" {
service = "agentregistry.googleapis.com"
disable_on_destroy = false
}
Network Services Agent Gateway Self Managed
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.networkservices.AgentGateway("default", {
name: "my-self-managed-agent-gateway",
location: "us-central1",
selfManaged: {
resourceUri: "projects/my-project-name/locations/us-central1/gateways/my-gateway",
},
registries: ["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"],
});
import pulumi
import pulumi_gcp as gcp
default = gcp.networkservices.AgentGateway("default",
name="my-self-managed-agent-gateway",
location="us-central1",
self_managed={
"resource_uri": "projects/my-project-name/locations/us-central1/gateways/my-gateway",
},
registries=["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/networkservices"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := networkservices.NewAgentGateway(ctx, "default", &networkservices.AgentGatewayArgs{
Name: pulumi.String("my-self-managed-agent-gateway"),
Location: pulumi.String("us-central1"),
SelfManaged: &networkservices.AgentGatewaySelfManagedArgs{
ResourceUri: pulumi.String("projects/my-project-name/locations/us-central1/gateways/my-gateway"),
},
Registries: pulumi.StringArray{
pulumi.String("//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.NetworkServices.AgentGateway("default", new()
{
Name = "my-self-managed-agent-gateway",
Location = "us-central1",
SelfManaged = new Gcp.NetworkServices.Inputs.AgentGatewaySelfManagedArgs
{
ResourceUri = "projects/my-project-name/locations/us-central1/gateways/my-gateway",
},
Registries = new[]
{
"//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networkservices.AgentGateway;
import com.pulumi.gcp.networkservices.AgentGatewayArgs;
import com.pulumi.gcp.networkservices.inputs.AgentGatewaySelfManagedArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new AgentGateway("default", AgentGatewayArgs.builder()
.name("my-self-managed-agent-gateway")
.location("us-central1")
.selfManaged(AgentGatewaySelfManagedArgs.builder()
.resourceUri("projects/my-project-name/locations/us-central1/gateways/my-gateway")
.build())
.registries("//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1")
.build());
}
}
resources:
default:
type: gcp:networkservices:AgentGateway
properties:
name: my-self-managed-agent-gateway
location: us-central1
selfManaged:
resourceUri: projects/my-project-name/locations/us-central1/gateways/my-gateway
registries:
- //agentregistry.googleapis.com/projects/my-project-name/locations/us-central1
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_networkservices_agentgateway" "default" {
name = "my-self-managed-agent-gateway"
location = "us-central1"
self_managed = {
resource_uri = "projects/my-project-name/locations/us-central1/gateways/my-gateway"
}
registries = ["//agentregistry.googleapis.com/projects/my-project-name/locations/us-central1"]
}
Create AgentGateway Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new AgentGateway(name: string, args: AgentGatewayArgs, opts?: CustomResourceOptions);@overload
def AgentGateway(resource_name: str,
args: AgentGatewayArgs,
opts: Optional[ResourceOptions] = None)
@overload
def AgentGateway(resource_name: str,
opts: Optional[ResourceOptions] = None,
location: Optional[str] = None,
deletion_policy: Optional[str] = None,
description: Optional[str] = None,
google_managed: Optional[AgentGatewayGoogleManagedArgs] = None,
labels: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
network_config: Optional[AgentGatewayNetworkConfigArgs] = None,
project: Optional[str] = None,
protocols: Optional[Sequence[str]] = None,
registries: Optional[Sequence[str]] = None,
self_managed: Optional[AgentGatewaySelfManagedArgs] = None)func NewAgentGateway(ctx *Context, name string, args AgentGatewayArgs, opts ...ResourceOption) (*AgentGateway, error)public AgentGateway(string name, AgentGatewayArgs args, CustomResourceOptions? opts = null)
public AgentGateway(String name, AgentGatewayArgs args)
public AgentGateway(String name, AgentGatewayArgs args, CustomResourceOptions options)
type: gcp:networkservices:AgentGateway
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "gcp_networkservices_agentgateway" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args AgentGatewayArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args AgentGatewayArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args AgentGatewayArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AgentGatewayArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AgentGatewayArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var agentGatewayResource = new Gcp.NetworkServices.AgentGateway("agentGatewayResource", new()
{
Location = "string",
DeletionPolicy = "string",
Description = "string",
GoogleManaged = new Gcp.NetworkServices.Inputs.AgentGatewayGoogleManagedArgs
{
GovernedAccessPath = "string",
},
Labels =
{
{ "string", "string" },
},
Name = "string",
NetworkConfig = new Gcp.NetworkServices.Inputs.AgentGatewayNetworkConfigArgs
{
Egress = new Gcp.NetworkServices.Inputs.AgentGatewayNetworkConfigEgressArgs
{
NetworkAttachment = "string",
},
DnsPeeringConfig = new Gcp.NetworkServices.Inputs.AgentGatewayNetworkConfigDnsPeeringConfigArgs
{
Domains = new[]
{
"string",
},
TargetNetwork = "string",
TargetProject = "string",
},
},
Project = "string",
Registries = new[]
{
"string",
},
SelfManaged = new Gcp.NetworkServices.Inputs.AgentGatewaySelfManagedArgs
{
ResourceUri = "string",
},
});
example, err := networkservices.NewAgentGateway(ctx, "agentGatewayResource", &networkservices.AgentGatewayArgs{
Location: pulumi.String("string"),
DeletionPolicy: pulumi.String("string"),
Description: pulumi.String("string"),
GoogleManaged: &networkservices.AgentGatewayGoogleManagedArgs{
GovernedAccessPath: pulumi.String("string"),
},
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
NetworkConfig: &networkservices.AgentGatewayNetworkConfigArgs{
Egress: &networkservices.AgentGatewayNetworkConfigEgressArgs{
NetworkAttachment: pulumi.String("string"),
},
DnsPeeringConfig: &networkservices.AgentGatewayNetworkConfigDnsPeeringConfigArgs{
Domains: pulumi.StringArray{
pulumi.String("string"),
},
TargetNetwork: pulumi.String("string"),
TargetProject: pulumi.String("string"),
},
},
Project: pulumi.String("string"),
Registries: pulumi.StringArray{
pulumi.String("string"),
},
SelfManaged: &networkservices.AgentGatewaySelfManagedArgs{
ResourceUri: pulumi.String("string"),
},
})
resource "gcp_networkservices_agentgateway" "agentGatewayResource" {
location = "string"
deletion_policy = "string"
description = "string"
google_managed = {
governed_access_path = "string"
}
labels = {
"string" = "string"
}
name = "string"
network_config = {
egress = {
network_attachment = "string"
}
dns_peering_config = {
domains = ["string"]
target_network = "string"
target_project = "string"
}
}
project = "string"
registries = ["string"]
self_managed = {
resource_uri = "string"
}
}
var agentGatewayResource = new AgentGateway("agentGatewayResource", AgentGatewayArgs.builder()
.location("string")
.deletionPolicy("string")
.description("string")
.googleManaged(AgentGatewayGoogleManagedArgs.builder()
.governedAccessPath("string")
.build())
.labels(Map.of("string", "string"))
.name("string")
.networkConfig(AgentGatewayNetworkConfigArgs.builder()
.egress(AgentGatewayNetworkConfigEgressArgs.builder()
.networkAttachment("string")
.build())
.dnsPeeringConfig(AgentGatewayNetworkConfigDnsPeeringConfigArgs.builder()
.domains("string")
.targetNetwork("string")
.targetProject("string")
.build())
.build())
.project("string")
.registries("string")
.selfManaged(AgentGatewaySelfManagedArgs.builder()
.resourceUri("string")
.build())
.build());
agent_gateway_resource = gcp.networkservices.AgentGateway("agentGatewayResource",
location="string",
deletion_policy="string",
description="string",
google_managed={
"governed_access_path": "string",
},
labels={
"string": "string",
},
name="string",
network_config={
"egress": {
"network_attachment": "string",
},
"dns_peering_config": {
"domains": ["string"],
"target_network": "string",
"target_project": "string",
},
},
project="string",
registries=["string"],
self_managed={
"resource_uri": "string",
})
const agentGatewayResource = new gcp.networkservices.AgentGateway("agentGatewayResource", {
location: "string",
deletionPolicy: "string",
description: "string",
googleManaged: {
governedAccessPath: "string",
},
labels: {
string: "string",
},
name: "string",
networkConfig: {
egress: {
networkAttachment: "string",
},
dnsPeeringConfig: {
domains: ["string"],
targetNetwork: "string",
targetProject: "string",
},
},
project: "string",
registries: ["string"],
selfManaged: {
resourceUri: "string",
},
});
type: gcp:networkservices:AgentGateway
properties:
deletionPolicy: string
description: string
googleManaged:
governedAccessPath: string
labels:
string: string
location: string
name: string
networkConfig:
dnsPeeringConfig:
domains:
- string
targetNetwork: string
targetProject: string
egress:
networkAttachment: string
project: string
registries:
- string
selfManaged:
resourceUri: string
AgentGateway Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The AgentGateway resource accepts the following input properties:
- Location string
- The location of the agent gateway.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- Google
Managed AgentGateway Google Managed - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- Labels Dictionary<string, string>
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- Name string
- Name of the AgentGateway resource.
- Network
Config AgentGateway Network Config - Network configuration for the AgentGateway. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Protocols List<string>
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- Registries List<string>
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - Self
Managed AgentGateway Self Managed - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- Location string
- The location of the agent gateway.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- Google
Managed AgentGateway Google Managed Args - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- Labels map[string]string
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- Name string
- Name of the AgentGateway resource.
- Network
Config AgentGateway Network Config Args - Network configuration for the AgentGateway. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Protocols []string
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- Registries []string
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - Self
Managed AgentGateway Self Managed Args - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- location string
- The location of the agent gateway.
- deletion_
policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A free-text description of the resource. Max length 1024 characters.
- google_
managed object - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels map(string)
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- name string
- Name of the AgentGateway resource.
- network_
config object - Network configuration for the AgentGateway. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols list(string)
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- registries list(string)
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self_
managed object - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- location String
- The location of the agent gateway.
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A free-text description of the resource. Max length 1024 characters.
- google
Managed AgentGateway Google Managed - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels Map<String,String>
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- name String
- Name of the AgentGateway resource.
- network
Config AgentGateway Network Config - Network configuration for the AgentGateway. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols List<String>
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- registries List<String>
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self
Managed AgentGateway Self Managed - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- location string
- The location of the agent gateway.
- deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A free-text description of the resource. Max length 1024 characters.
- google
Managed AgentGateway Google Managed - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels {[key: string]: string}
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- name string
- Name of the AgentGateway resource.
- network
Config AgentGateway Network Config - Network configuration for the AgentGateway. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols string[]
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- registries string[]
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self
Managed AgentGateway Self Managed - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- location str
- The location of the agent gateway.
- deletion_
policy str - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description str
- A free-text description of the resource. Max length 1024 characters.
- google_
managed AgentGateway Google Managed Args - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels Mapping[str, str]
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- name str
- Name of the AgentGateway resource.
- network_
config AgentGateway Network Config Args - Network configuration for the AgentGateway. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols Sequence[str]
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- registries Sequence[str]
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self_
managed AgentGateway Self Managed Args - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- location String
- The location of the agent gateway.
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A free-text description of the resource. Max length 1024 characters.
- google
Managed Property Map - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels Map<String>
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- name String
- Name of the AgentGateway resource.
- network
Config Property Map - Network configuration for the AgentGateway. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols List<String>
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- registries List<String>
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self
Managed Property Map - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the AgentGateway resource produces the following output properties:
- Agent
Gateway List<AgentCards Gateway Agent Gateway Card> - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- Create
Time string - The timestamp when the resource was created.
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- Id string
- The provider-assigned unique ID for this managed resource.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Update
Time string - The timestamp when the resource was updated.
- Agent
Gateway []AgentCards Gateway Agent Gateway Card - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- Create
Time string - The timestamp when the resource was created.
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- Id string
- The provider-assigned unique ID for this managed resource.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Update
Time string - The timestamp when the resource was updated.
- agent_
gateway_ list(object)cards - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create_
time string - The timestamp when the resource was created.
- effective_
labels map(string) - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- id string
- The provider-assigned unique ID for this managed resource.
- pulumi_
labels map(string) - The combination of labels configured directly on the resource and default labels configured on the provider.
- update_
time string - The timestamp when the resource was updated.
- agent
Gateway List<AgentCards Gateway Agent Gateway Card> - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create
Time String - The timestamp when the resource was created.
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- id String
- The provider-assigned unique ID for this managed resource.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- update
Time String - The timestamp when the resource was updated.
- agent
Gateway AgentCards Gateway Agent Gateway Card[] - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create
Time string - The timestamp when the resource was created.
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- id string
- The provider-assigned unique ID for this managed resource.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- update
Time string - The timestamp when the resource was updated.
- agent_
gateway_ Sequence[Agentcards Gateway Agent Gateway Card] - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create_
time str - The timestamp when the resource was created.
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag str
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- id str
- The provider-assigned unique ID for this managed resource.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- update_
time str - The timestamp when the resource was updated.
- agent
Gateway List<Property Map>Cards - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create
Time String - The timestamp when the resource was created.
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- id String
- The provider-assigned unique ID for this managed resource.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- update
Time String - The timestamp when the resource was updated.
Look up Existing AgentGateway Resource
Get an existing AgentGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: AgentGatewayState, opts?: CustomResourceOptions): AgentGateway@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
agent_gateway_cards: Optional[Sequence[AgentGatewayAgentGatewayCardArgs]] = None,
create_time: Optional[str] = None,
deletion_policy: Optional[str] = None,
description: Optional[str] = None,
effective_labels: Optional[Mapping[str, str]] = None,
etag: Optional[str] = None,
google_managed: Optional[AgentGatewayGoogleManagedArgs] = None,
labels: Optional[Mapping[str, str]] = None,
location: Optional[str] = None,
name: Optional[str] = None,
network_config: Optional[AgentGatewayNetworkConfigArgs] = None,
project: Optional[str] = None,
protocols: Optional[Sequence[str]] = None,
pulumi_labels: Optional[Mapping[str, str]] = None,
registries: Optional[Sequence[str]] = None,
self_managed: Optional[AgentGatewaySelfManagedArgs] = None,
update_time: Optional[str] = None) -> AgentGatewayfunc GetAgentGateway(ctx *Context, name string, id IDInput, state *AgentGatewayState, opts ...ResourceOption) (*AgentGateway, error)public static AgentGateway Get(string name, Input<string> id, AgentGatewayState? state, CustomResourceOptions? opts = null)public static AgentGateway get(String name, Output<String> id, AgentGatewayState state, CustomResourceOptions options)resources: _: type: gcp:networkservices:AgentGateway get: id: ${id}import {
to = gcp_networkservices_agentgateway.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Agent
Gateway List<AgentCards Gateway Agent Gateway Card> - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- Create
Time string - The timestamp when the resource was created.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- Google
Managed AgentGateway Google Managed - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- Labels Dictionary<string, string>
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- Location string
- The location of the agent gateway.
- Name string
- Name of the AgentGateway resource.
- Network
Config AgentGateway Network Config - Network configuration for the AgentGateway. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Protocols List<string>
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Registries List<string>
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - Self
Managed AgentGateway Self Managed - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- Update
Time string - The timestamp when the resource was updated.
- Agent
Gateway []AgentCards Gateway Agent Gateway Card Args - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- Create
Time string - The timestamp when the resource was created.
- Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- Google
Managed AgentGateway Google Managed Args - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- Labels map[string]string
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- Location string
- The location of the agent gateway.
- Name string
- Name of the AgentGateway resource.
- Network
Config AgentGateway Network Config Args - Network configuration for the AgentGateway. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Protocols []string
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Registries []string
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - Self
Managed AgentGateway Self Managed Args - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- Update
Time string - The timestamp when the resource was updated.
- agent_
gateway_ list(object)cards - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create_
time string - The timestamp when the resource was created.
- deletion_
policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A free-text description of the resource. Max length 1024 characters.
- effective_
labels map(string) - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- google_
managed object - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels map(string)
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- location string
- The location of the agent gateway.
- name string
- Name of the AgentGateway resource.
- network_
config object - Network configuration for the AgentGateway. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols list(string)
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- pulumi_
labels map(string) - The combination of labels configured directly on the resource and default labels configured on the provider.
- registries list(string)
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self_
managed object - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- update_
time string - The timestamp when the resource was updated.
- agent
Gateway List<AgentCards Gateway Agent Gateway Card> - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create
Time String - The timestamp when the resource was created.
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A free-text description of the resource. Max length 1024 characters.
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- google
Managed AgentGateway Google Managed - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels Map<String,String>
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- location String
- The location of the agent gateway.
- name String
- Name of the AgentGateway resource.
- network
Config AgentGateway Network Config - Network configuration for the AgentGateway. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols List<String>
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- registries List<String>
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self
Managed AgentGateway Self Managed - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- update
Time String - The timestamp when the resource was updated.
- agent
Gateway AgentCards Gateway Agent Gateway Card[] - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create
Time string - The timestamp when the resource was created.
- deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A free-text description of the resource. Max length 1024 characters.
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- google
Managed AgentGateway Google Managed - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels {[key: string]: string}
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- location string
- The location of the agent gateway.
- name string
- Name of the AgentGateway resource.
- network
Config AgentGateway Network Config - Network configuration for the AgentGateway. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols string[]
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- registries string[]
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self
Managed AgentGateway Self Managed - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- update
Time string - The timestamp when the resource was updated.
- agent_
gateway_ Sequence[Agentcards Gateway Agent Gateway Card Args] - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create_
time str - The timestamp when the resource was created.
- deletion_
policy str - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description str
- A free-text description of the resource. Max length 1024 characters.
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag str
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- google_
managed AgentGateway Google Managed Args - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels Mapping[str, str]
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- location str
- The location of the agent gateway.
- name str
- Name of the AgentGateway resource.
- network_
config AgentGateway Network Config Args - Network configuration for the AgentGateway. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols Sequence[str]
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- registries Sequence[str]
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self_
managed AgentGateway Self Managed Args - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- update_
time str - The timestamp when the resource was updated.
- agent
Gateway List<Property Map>Cards - AgentGatewayOutputCard contains informational output-only fields. Structure is documented below.
- create
Time String - The timestamp when the resource was created.
- deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A free-text description of the resource. Max length 1024 characters.
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
- google
Managed Property Map - Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. Structure is documented below.
- labels Map<String>
Set of label tags associated with the AgentGateway resource.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effectiveLabelsfor all of the labels present on the resource.- location String
- The location of the agent gateway.
- name String
- Name of the AgentGateway resource.
- network
Config Property Map - Network configuration for the AgentGateway. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- protocols List<String>
(Optional, Deprecated) List of protocols supported by an Agent Gateway. Each value may be one of:
MCP.Warning:
protocolsis deprecated and will be removed in a future major release.- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- registries List<String>
- A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway.
Note: Currently limited to project-scoped registries Must be of format
//agentregistry.googleapis.com/{version}/projects/{{project}}/locations/{{location}} - self
Managed Property Map - Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. Structure is documented below.
- update
Time String - The timestamp when the resource was updated.
Supporting Types
AgentGatewayAgentGatewayCard, AgentGatewayAgentGatewayCardArgs
- Mtls
Endpoint string - (Output) mTLS Endpoint associated with this AgentGateway.
- Root
Certificates List<string> - (Output) Root Certificates for Agents to validate this AgentGateway.
- Service
Extensions stringService Account - (Output) Service Account used by Service Extensions to operate.
- Mtls
Endpoint string - (Output) mTLS Endpoint associated with this AgentGateway.
- Root
Certificates []string - (Output) Root Certificates for Agents to validate this AgentGateway.
- Service
Extensions stringService Account - (Output) Service Account used by Service Extensions to operate.
- mtls_
endpoint string - (Output) mTLS Endpoint associated with this AgentGateway.
- root_
certificates list(string) - (Output) Root Certificates for Agents to validate this AgentGateway.
- service_
extensions_ stringservice_ account - (Output) Service Account used by Service Extensions to operate.
- mtls
Endpoint String - (Output) mTLS Endpoint associated with this AgentGateway.
- root
Certificates List<String> - (Output) Root Certificates for Agents to validate this AgentGateway.
- service
Extensions StringService Account - (Output) Service Account used by Service Extensions to operate.
- mtls
Endpoint string - (Output) mTLS Endpoint associated with this AgentGateway.
- root
Certificates string[] - (Output) Root Certificates for Agents to validate this AgentGateway.
- service
Extensions stringService Account - (Output) Service Account used by Service Extensions to operate.
- mtls_
endpoint str - (Output) mTLS Endpoint associated with this AgentGateway.
- root_
certificates Sequence[str] - (Output) Root Certificates for Agents to validate this AgentGateway.
- service_
extensions_ strservice_ account - (Output) Service Account used by Service Extensions to operate.
- mtls
Endpoint String - (Output) mTLS Endpoint associated with this AgentGateway.
- root
Certificates List<String> - (Output) Root Certificates for Agents to validate this AgentGateway.
- service
Extensions StringService Account - (Output) Service Account used by Service Extensions to operate.
AgentGatewayGoogleManaged, AgentGatewayGoogleManagedArgs
- Governed
Access stringPath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
- Governed
Access stringPath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
- governed_
access_ stringpath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
- governed
Access StringPath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
- governed
Access stringPath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
- governed_
access_ strpath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
- governed
Access StringPath - Operating Mode of Agent Gateway.
Possible values are:
AGENT_TO_ANYWHERE,CLIENT_TO_AGENT.
AgentGatewayNetworkConfig, AgentGatewayNetworkConfigArgs
- Egress
Agent
Gateway Network Config Egress - Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- Dns
Peering AgentConfig Gateway Network Config Dns Peering Config - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
- Egress
Agent
Gateway Network Config Egress - Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- Dns
Peering AgentConfig Gateway Network Config Dns Peering Config - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
- egress object
- Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- dns_
peering_ objectconfig - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
- egress
Agent
Gateway Network Config Egress - Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- dns
Peering AgentConfig Gateway Network Config Dns Peering Config - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
- egress
Agent
Gateway Network Config Egress - Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- dns
Peering AgentConfig Gateway Network Config Dns Peering Config - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
- egress
Agent
Gateway Network Config Egress - Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- dns_
peering_ Agentconfig Gateway Network Config Dns Peering Config - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
- egress Property Map
- Optional PSC-Interface network attachment for connectivity to your private VPCs network. Structure is documented below.
- dns
Peering Property MapConfig - DNS peering configuration for the AgentGateway. When set, the
AgentGateway will resolve queries for the configured
domainsvia Cloud DNS in the specifiedtargetNetwork. Structure is documented below.
AgentGatewayNetworkConfigDnsPeeringConfig, AgentGatewayNetworkConfigDnsPeeringConfigArgs
- Domains List<string>
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - Target
Network string - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - Target
Project string - The ID of the project that hosts the target VPC network for DNS peering.
- Domains []string
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - Target
Network string - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - Target
Project string - The ID of the project that hosts the target VPC network for DNS peering.
- domains list(string)
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - target_
network string - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - target_
project string - The ID of the project that hosts the target VPC network for DNS peering.
- domains List<String>
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - target
Network String - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - target
Project String - The ID of the project that hosts the target VPC network for DNS peering.
- domains string[]
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - target
Network string - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - target
Project string - The ID of the project that hosts the target VPC network for DNS peering.
- domains Sequence[str]
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - target_
network str - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - target_
project str - The ID of the project that hosts the target VPC network for DNS peering.
- domains List<String>
- The list of domain names to peer for DNS resolution. Each entry
must be a fully qualified domain name ending with a dot
(for example,
example.com.). - target
Network String - The URI of the target VPC network for DNS peering. Must be of the
form
projects/{project}/global/networks/{network}. - target
Project String - The ID of the project that hosts the target VPC network for DNS peering.
AgentGatewayNetworkConfigEgress, AgentGatewayNetworkConfigEgressArgs
- Network
Attachment string - The URI of the Network Attachment resource.
- Network
Attachment string - The URI of the Network Attachment resource.
- network_
attachment string - The URI of the Network Attachment resource.
- network
Attachment String - The URI of the Network Attachment resource.
- network
Attachment string - The URI of the Network Attachment resource.
- network_
attachment str - The URI of the Network Attachment resource.
- network
Attachment String - The URI of the Network Attachment resource.
AgentGatewaySelfManaged, AgentGatewaySelfManagedArgs
- Resource
Uri string - A supported Google Cloud networking proxy in the Project and Location.
- Resource
Uri string - A supported Google Cloud networking proxy in the Project and Location.
- resource_
uri string - A supported Google Cloud networking proxy in the Project and Location.
- resource
Uri String - A supported Google Cloud networking proxy in the Project and Location.
- resource
Uri string - A supported Google Cloud networking proxy in the Project and Location.
- resource_
uri str - A supported Google Cloud networking proxy in the Project and Location.
- resource
Uri String - A supported Google Cloud networking proxy in the Project and Location.
Import
AgentGateway can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/agentGateways/{{name}}{{project}}/{{location}}/{{name}}{{location}}/{{name}}
When using the pulumi import command, AgentGateway can be imported using one of the formats above. For example:
$ pulumi import gcp:networkservices/agentGateway:AgentGateway default projects/{{project}}/locations/{{location}}/agentGateways/{{name}}
$ pulumi import gcp:networkservices/agentGateway:AgentGateway default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:networkservices/agentGateway:AgentGateway default {{location}}/{{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-betaTerraform Provider.
published on Wednesday, Jun 24, 2026 by Pulumi