diff --git a/mmv1/products/networkservices/AgentGateway.yaml b/mmv1/products/networkservices/AgentGateway.yaml index f7336b1855db..667ac6495d94 100644 --- a/mmv1/products/networkservices/AgentGateway.yaml +++ b/mmv1/products/networkservices/AgentGateway.yaml @@ -175,6 +175,35 @@ properties: diff_suppress_func: 'tpgresource.ProjectNumberDiffSuppress' description: | The URI of the Network Attachment resource. + - name: 'dnsPeeringConfig' + type: NestedObject + description: | + DNS peering configuration for the AgentGateway. When set, the + AgentGateway will resolve queries for the configured `domains` via + Cloud DNS in the specified `targetNetwork`. + properties: + - name: 'domains' + type: Array + required: true + description: | + 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.`). + item_type: + type: String + - name: 'targetProject' + type: String + required: true + description: | + The ID of the project that hosts the target VPC network for DNS + peering. + - name: 'targetNetwork' + type: String + required: true + diff_suppress_func: 'tpgresource.CompareSelfLinkOrResourceName' + description: | + The URI of the target VPC network for DNS peering. Must be of the + form `projects/{project}/global/networks/{network}`. - name: 'agentGatewayCard' type: NestedObject description: | diff --git a/mmv1/templates/terraform/examples/network_services_agent_gateway_full.tf.tmpl b/mmv1/templates/terraform/examples/network_services_agent_gateway_full.tf.tmpl index 5e9eb433f511..d9474ba098da 100644 --- a/mmv1/templates/terraform/examples/network_services_agent_gateway_full.tf.tmpl +++ b/mmv1/templates/terraform/examples/network_services_agent_gateway_full.tf.tmpl @@ -20,5 +20,10 @@ resource "google_network_services_agent_gateway" "{{$.PrimaryResourceId}}" { egress { network_attachment = "projects/{{index $.TestEnvVars "project"}}/regions/us-central1/networkAttachments/my-network-attachment" } + dns_peering_config { + domains = ["example.com."] + target_project = "{{index $.TestEnvVars "project"}}" + target_network = "projects/{{index $.TestEnvVars "project"}}/global/networks/my-network" + } } } diff --git a/mmv1/third_party/terraform/services/networkservices/resource_network_services_agent_gateway_test.go.tmpl b/mmv1/third_party/terraform/services/networkservices/resource_network_services_agent_gateway_test.go.tmpl index 5f22ba605f16..033820a50eee 100644 --- a/mmv1/third_party/terraform/services/networkservices/resource_network_services_agent_gateway_test.go.tmpl +++ b/mmv1/third_party/terraform/services/networkservices/resource_network_services_agent_gateway_test.go.tmpl @@ -100,6 +100,11 @@ resource "google_network_services_agent_gateway" "default" { egress { network_attachment = "projects/%{project}/regions/us-central1/networkAttachments/oh-my-network-attachment" } + dns_peering_config { + domains = ["update.example.com."] + target_project = "%{project}" + target_network = "projects/%{project}/global/networks/oh-my-network" + } } } `, context)