From 619435c32e6659b5d0e9f34f63ad1a95b39f6700 Mon Sep 17 00:00:00 2001
From: sarna
Date: Wed, 9 Sep 2026 15:43:36 -0700
Subject: [PATCH] Add docs for managing Google deployments via F5 ADS TF
provider
This commit basic instructions on how a customer
can leverage our terraform provider to create a GCP
deployment with a frontend type.
---
.../google/terraform-prerequisites.md | 6 +
content/nginxaas/changelog.md | 11 ++
.../create-deployment/deploy-terraform.md | 147 ++++++++++++++++++
.../nginx-configuration-console.md | 10 ++
4 files changed, 174 insertions(+)
create mode 100644 content/nginxaas/google/deploy/create-deployment/deploy-terraform.md
diff --git a/content/includes/nginxaas/google/terraform-prerequisites.md b/content/includes/nginxaas/google/terraform-prerequisites.md
index c33c49777..d504534f8 100644
--- a/content/includes/nginxaas/google/terraform-prerequisites.md
+++ b/content/includes/nginxaas/google/terraform-prerequisites.md
@@ -6,4 +6,10 @@ f5-files:
---
- Confirm that you meet the [NGINXaaS Prerequisites]({{< ref "/nginxaas/google/deploy/prerequisites.md" >}}).
+- Access to a Google Cloud project to manage your network resources.
+- Access to the F5 NGINXaaS console to create client credentials. See [Programmatic authentication with client credentials]({{< ref "/nginxaas/overview/client-credentials.md" >}}).
+- [Install Terraform](https://learn.hashicorp.com/tutorials/terraform/install).
+{{< call-out class="important" >}}
+The `F5Networks/f5ads` provider is in alpha (`0.1.0-alpha.1`). Pin this exact version in your `required_providers` block, since breaking changes can occur between alpha releases.
+{{< /call-out >}}
diff --git a/content/nginxaas/changelog.md b/content/nginxaas/changelog.md
index 42c3ac736..c33082b6a 100644
--- a/content/nginxaas/changelog.md
+++ b/content/nginxaas/changelog.md
@@ -13,6 +13,17 @@ Learn about the latest updates, new features, and resolved bugs in F5 NGINXaaS.
To see a list of currently active issues, visit the [Known issues]({{< ref "/nginxaas/google/known-issues.md" >}}) page.
+## September 9, 2026
+
+- {{% icon-feature %}} **F5 ADS Terraform provider is now available (Alpha)**
+
+You can now manage NGINXaaS for Google Cloud deployments with the first release of the `F5Networks/f5ads` Terraform provider, version `0.1.0-alpha.1`.
+
+- [Provider docs](https://registry.terraform.io/providers/F5Networks/f5ads/latest/docs)
+- [`f5ads_deployment` resource docs](https://registry.terraform.io/providers/F5Networks/f5ads/latest/docs/resources/deployment)
+- [`f5ads_deployment` data source docs](https://registry.terraform.io/providers/F5Networks/f5ads/latest/docs/data-sources/deployment)
+- [Deploy using the F5 ADS Terraform provider]({{< ref "/nginxaas/google/deploy/create-deployment/deploy-terraform.md" >}})
+
## September 4, 2026
- {{% icon-feature %}} **NGINXaaS for Google is now generally available in more regions**
diff --git a/content/nginxaas/google/deploy/create-deployment/deploy-terraform.md b/content/nginxaas/google/deploy/create-deployment/deploy-terraform.md
new file mode 100644
index 000000000..a4a6c434b
--- /dev/null
+++ b/content/nginxaas/google/deploy/create-deployment/deploy-terraform.md
@@ -0,0 +1,147 @@
+---
+title: Deploy using the Terraform provider
+weight: 100
+toc: true
+f5-docs: DOCS-000
+url: /nginxaas/google/deploy/create-deployment/deploy-terraform/
+f5-content-type: how-to
+f5-product: NGINXaaS for Google Cloud
+---
+
+## Overview
+
+This guide explains how to create an F5 NGINXaaS for Google Cloud (NGINXaaS) deployment using the [`F5Networks/f5ads` Terraform provider](https://registry.terraform.io/providers/F5Networks/f5ads/latest/docs). This guide only covers creating a deployment.
+
+## Prerequisites
+
+{{< include "/nginxaas/google/terraform-prerequisites.md" >}}
+
+## Configure the provider
+
+Add the `f5ads` provider to your Terraform configuration and pin it to the exact alpha version:
+
+```hcl
+terraform {
+ required_providers {
+ f5ads = {
+ source = "F5Networks/f5ads"
+ version = "0.1.0-alpha.1"
+ }
+ }
+}
+
+provider "f5ads" {
+ geo = "us"
+}
+```
+
+The provider needs your F5 ADS client credentials to authenticate. You can supply them in the provider block, or with environment variables:
+
+```hcl
+provider "f5ads" {
+ geo = "us"
+ client_id = "your-client-id"
+ client_secret = "your-client-secret"
+}
+```
+
+```shell
+export F5ADS_GEO="us"
+export F5ADS_CLIENT_ID="your-client-id"
+export F5ADS_CLIENT_SECRET="your-client-secret"
+```
+
+## Create GCP network resources
+
+Include the following snippet if you need to create a VPC, subnet, and [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) for your deployment. Add the [`hashicorp/google` provider](https://registry.terraform.io/providers/hashicorp/google/latest/docs) to authenticate to your GCP project.
+
+```hcl
+provider "google" {
+ region = "us-east1"
+}
+
+resource "google_compute_network" "vpc" {
+ name = "my-vpc"
+ auto_create_subnetworks = false
+}
+
+resource "google_compute_subnetwork" "subnet" {
+ name = "my-subnet"
+ ip_cidr_range = "10.0.0.0/24"
+ region = "us-east1"
+ network = google_compute_network.vpc.id
+}
+
+resource "google_compute_network_attachment" "attachment" {
+ name = "my-network-attachment"
+ region = "us-east1"
+ connection_preference = "ACCEPT_AUTOMATIC"
+ subnetworks = [google_compute_subnetwork.subnet.id]
+}
+```
+
+{{< call-out class="caution" >}}
+The `f5ads` provider currently only supports network attachments with `connection_preference` set to `ACCEPT_AUTOMATIC`, which accepts connections from all projects. Support for `ACCEPT_MANUAL` is planned for an upcoming release. See [Google's documentation on creating a network attachment](https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments) for details.
+{{< /call-out >}}
+
+## Create a deployment
+
+{{< call-out class="important" >}}
+Create or reuse an existing configuration in the [F5 ADS Console]({{< ref "/nginxaas/google/deploy/nginx-configuration/nginx-configuration-console.md" >}}) first, then supply its [Configuration ID and Configuration Version ID]({{< ref "/nginxaas/google/deploy/nginx-configuration/nginx-configuration-console.md#get-nginx-configuration-version-information" >}}) below.
+{{< /call-out >}}
+
+Choose a frontend type for your deployment. Refer to [Service frontend]({{< ref "/nginxaas/google/overview.md#service-frontend" >}}) for more information on these two frontend types.
+
+To use a managed public endpoint:
+
+```hcl
+resource "f5ads_deployment" "example" {
+ name = "my-deployment"
+ capacity = 20
+ waf_enabled = true
+ nginx_config_id = "cfg_example123"
+ nginx_config_version_id = "cv_example456"
+
+ google_cloud_properties = {
+ region = "us-east1"
+ network_attachment = google_compute_network_attachment.attachment.id
+
+ frontend = {
+ managed_public_endpoint = {
+ acl = [
+ {
+ source_prefixes = ["0.0.0.0/0"]
+ port_range = "80"
+ protocol = "tcp"
+ },
+ {
+ source_prefixes = ["0.0.0.0/0"]
+ port_range = "443"
+ protocol = "tcp"
+ },
+ ]
+ }
+ }
+ }
+}
+```
+
+To use a private endpoint instead, replace the `managed_public_endpoint` block with a `private_endpoint` block:
+
+```hcl
+ frontend = {
+ private_endpoint = {
+ service_attachment_accept_list = [
+ "my-gcp-project",
+ ]
+ }
+ }
+```
+
+Create the deployment:
+
+```shell
+terraform init
+terraform plan
+terraform apply
+```
diff --git a/content/nginxaas/overview/nginx-configuration/nginx-configuration-console.md b/content/nginxaas/overview/nginx-configuration/nginx-configuration-console.md
index 99c897a3d..e698bb08c 100644
--- a/content/nginxaas/overview/nginx-configuration/nginx-configuration-console.md
+++ b/content/nginxaas/overview/nginx-configuration/nginx-configuration-console.md
@@ -24,6 +24,16 @@ You can apply an NGINX configuration to your F5 ${product} deployment using the
{{< include "/nginxaas/update-nginx-config.md" >}}
+## Get NGINX Configuration version information
+
+In the NGINXaaS Console,
+
+1. On the left menu, select **Configurations**.
+1. Select your desired configuration.
+2. Select **Details**.
+3. Note the NGINX Configuration **Object ID** and **Latest Version ID** for your reference.
+
+
## Delete NGINX configuration files
1. On the left menu, select **Configurations**.