---
next_cursor: eyJzY29yZSI6MCwic2VxIjozNTksInNpbmNlIjpudWxsLCJ0b29sIjoiZ2Nsb3VkIiwidiI6MX0
has_more: true
next: https://sincecutoff.com/v1/changes.md?tool=gcloud&score=0&cursor=eyJzY29yZSI6MCwic2VxIjozNTksInNpbmNlIjpudWxsLCJ0b29sIjoiZ2Nsb3VkIiwidiI6MX0
items: 10
---
# sincecutoff.com changes: gcloud

## gcloud spanner instances adds total CPU based autoscaling flags (gcloud, 2026-01-06)
Published 2026-10-13
- slug: gcloud-spanner-instances-adds-total-cpu-based-autoscaling-flags-bdae58b7fa4f
- score: 0.95

How to use it:

When configuring managed autoscaling for a Spanner instance, set `--autoscaling-total-cpu-target` with the required autoscaling limits and storage target. Use `gcloud spanner instances create` to create an instance or `gcloud spanner instances update` to configure an existing one.

Examples:

```
gcloud spanner instances create <instance-id> --config=<instance-config> --description=<description> --autoscaling-min-nodes=<min-nodes> --autoscaling-max-nodes=<max-nodes> --autoscaling-total-cpu-target=<total-cpu-percent> --autoscaling-storage-target=<storage-percent>
```

```
gcloud spanner instances update <instance-id> --autoscaling-min-nodes=<min-nodes> --autoscaling-max-nodes=<max-nodes> --autoscaling-total-cpu-target=<total-cpu-percent> --autoscaling-storage-target=<storage-percent>
```

- why_it_matters: Configure total CPU based autoscaling for Spanner instances.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55100_2026-01-06>, <https://docs.cloud.google.com/sdk/gcloud/reference/spanner/instances/create>, <https://docs.cloud.google.com/sdk/gcloud/reference/spanner/instances/update>, <https://docs.cloud.google.com/spanner/docs/create-manage-instances>
- gotchas: "Availability: beta and GA"; "INSTANCE (required): Cloud Spanner instance ID."; "--config (required): Instance configuration; defines geographic placement and replication."; "--description (required): Instance description."; "--autoscaling-total-cpu-target (required): Target percentage of total CPU the autoscaled instance can utilize. At least one CPU target must be specified; the documented target range is 10–90%."; "--autoscaling-storage-target (required): Target percentage of storage for the autoscaled instance; required when other autoscaling arguments are specified."; "--autoscaling-min-nodes (required): Minimum node count for autoscaling. Specify this and max nodes, or use the processing-unit limits instead; the two limit units are mutually exclusive."; "--autoscaling-max-nodes (required): Maximum node count for autoscaling. Specify this and min nodes, or use the processing-unit limits instead; the two limit units are mutually exclusive."; "--autoscaling-min-processing-units (required): Minimum processing units for autoscaling. Use with max processing units instead of node limits; the two limit units are mutually exclusive."; "--autoscaling-max-processing-units (required): Maximum processing units for autoscaling. Use with min processing units instead of node limits; the two limit units are mutually exclusive."; "--autoscaling-high-priority-cpu-target: Target percentage of high-priority CPU; may be specified alongside the total CPU target."; "--asymmetric-autoscaling-option.location (required): Location of the read-only region to scale asymmetrically; required when using this option."; "--asymmetric-autoscaling-option.min_nodes: Minimum nodes for asymmetric autoscaling; otherwise inherited from the base instance configuration."; "--asymmetric-autoscaling-option.max_nodes: Maximum nodes for asymmetric autoscaling; otherwise inherited from the base instance configuration."; "--asymmetric-autoscaling-option.min_processing_units: Minimum processing units for asymmetric autoscaling."; "--asymmetric-autoscaling-option.max_processing_units: Maximum processing units for asymmetric autoscaling."; "--asymmetric-autoscaling-option.total_cpu_target: Total CPU target for asymmetric autoscaling; documented range is 10–90%."; "--asymmetric-autoscaling-option.high_priority_cpu_target: High-priority CPU target for asymmetric autoscaling."; "--asymmetric-autoscaling-option.disable_total_cpu_autoscaling: Set TRUE to disable total CPU autoscaling for the replica; cannot disable both total CPU and high-priority CPU autoscaling on the same replica."; "--asymmetric-autoscaling-option.disable_high_priority_cpu_autoscaling: Set TRUE to disable high-priority CPU autoscaling for the replica; cannot disable both total CPU and high-priority CPU autoscaling on the same replica."; "Prerequisite: The managed autoscaler create examples are for Enterprise and Enterprise Plus edition instances."; "Prerequisite: For creation, provide `--config` and `--description`; managed autoscaling requires storage target, limits in nodes or processing units, and at least one CPU target."

## gcloud workstations configs adds disk configuration and Hyperdisk support (gcloud, 2026-01-06)
Published 2026-10-13
- slug: gcloud-workstations-configs-adds-disk-configuration-and-hyperdisk-support-9e4e2823593b
- score: 0.94

How to use it:

When creating or updating a Workstations config, set disk options with the `--disk-*` flags; choose `hyperdisk-balanced-ha` for Hyperdisk. The current update reference omits `--disk-reclaim-policy`, which conflicts with the release note.

Examples:

```
gcloud workstations configs create <CONFIG> --cluster=<CLUSTER> --region=<REGION> --disk-type=hyperdisk-balanced-ha --disk-size=<10|50|100|200|500|1000> --disk-reclaim-policy=<delete|retain>
```

```
gcloud workstations configs update <CONFIG> --cluster=<CLUSTER> --region=<REGION> --disk-type=hyperdisk-balanced-ha --disk-size=<10|50|100|200|500|1000>
```

```
gcloud workstations configs update <CONFIG> --cluster=<CLUSTER> --region=<REGION> --disk-source-snapshot=<SNAPSHOT>
```

- why_it_matters: Configure workstation disks when creating or updating a Workstations config.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55100_2026-01-06>, <https://docs.cloud.google.com/sdk/gcloud/reference/workstations/configs/create>, <https://docs.cloud.google.com/sdk/gcloud/reference/workstations/configs/update>
- gotchas: "CONFIG (required): Configuration ID; `--cluster` and `--region` are required resource attributes."; "--cluster (required): Cluster for the config."; "--region (required): Region for the config."; "--disk-type: Persistent directory disk type: `pd-standard`, `pd-balanced`, `pd-ssd`, or `hyperdisk-balanced-ha`."; "--disk-size: Persistent directory size in GB: `10`, `50`, `100`, `200`, `500`, or `1000`. On update, specified together with `--disk-type`."; "--disk-reclaim-policy: On create, controls deletion behavior: `delete` (default) or `retain`. The current update reference does not document this flag."; "--disk-source-snapshot: Snapshot name used as the source for the home disk. Update documentation lists it as an alternative to the disk size/type pair."; "--disk-size` + `--disk-type` / `--disk-source-snapshot: Update syntax presents the size/type pair and source-snapshot flag as alternatives; do not specify both alternatives together."; "Docs conflict: Release note says `--disk-reclaim-policy` was added to `gcloud workstations configs update`; the current official update reference does not list or describe that flag, so its update usage and behavior are unverified."

## gcloud dataproc clusters create can exclude auto-placement zones (gcloud, 2026-01-21)
Published 2026-10-13
- slug: gcloud-dataproc-clusters-create-can-exclude-auto-placement-zones-ab532707e95f
- score: 0.91

How to use it:

When creating a Dataproc cluster with automatic zone selection, pass `--auto-zone-exclude-zones` with the comma-separated zones to exclude.

Examples:

```
gcloud dataproc clusters create <cluster-name> --region=<region> --auto-zone-exclude-zones=<zone-1>,<zone-2>
```

- why_it_matters: Create a Dataproc cluster with auto zone placement while excluding specified zones.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55300_2026-01-21>, <https://docs.cloud.google.com/sdk/gcloud/reference/dataproc/clusters/create>
- gotchas: "CLUSTER (required): Cluster name."; "--region (required): Region for the cluster; Auto Zone placement selects a zone when no zone is specified and region is not global."; "--auto-zone-exclude-zones: Comma-separated compute zones to exclude when Auto Zone placement picks the cluster zone. Use with automatic zone placement; the command docs list it in the zone-selection group alongside `--multizone`, or `--zone` as a mutually exclusive alternative."; "The exclusion applies when using auto zone placement."

## gcloud dataflow yaml run supports additional pipeline flags (gcloud, 2026-01-27)
Published 2026-10-13
- slug: gcloud-dataflow-yaml-run-supports-additional-pipeline-flags-be867e772dc8
- score: 0.94

How to use it:

When configuring a Dataflow YAML job, run `gcloud dataflow yaml run` with a job name, exactly one YAML source, and any needed additional flags.

Examples:

```
gcloud dataflow yaml run <JOB_NAME> --yaml-pipeline-file=gs://<BUCKET>/<PATH> --region=<REGION> --additional-pipeline-options=option1=value1,option2=value2 --additional-experiments=experiment1,experiment2=value2 --additional-user-labels='key1=value1,key2=value2' --num-workers=<COUNT> --max-workers=<COUNT> --worker-machine-type=<MACHINE_TYPE> --launcher-machine-type=<MACHINE_TYPE> --temp-location=gs://<BUCKET>/<TEMP_PATH> --staging-location=gs://<BUCKET>/<STAGING_PATH> --dataflow-kms-key=<KMS_KEY> --disable-public-ips --enable-streaming-engine --update --transform-name-mappings=<MAPPINGS>
```

```
gcloud dataflow yaml run <JOB_NAME> --yaml-pipeline='<INLINE_YAML>' --region=<REGION>
```

- why_it_matters: Configure a Dataflow YAML pipeline run with additional pipeline settings.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55400_2026-01-27>, <https://docs.cloud.google.com/sdk/gcloud/reference/dataflow/yaml/run>, <https://docs.cloud.google.com/dataflow/docs/reference/pipeline-options>
- gotchas: "JOB_NAME (required): Unique name to assign to the job."; "--yaml-pipeline / --yaml-pipeline-file (required): Exactly one is required. Inline pipeline definition, or local/gs:// file path defining the pipeline."; "--additional-experiments: Comma-separated additional experiments to pass to the job."; "--additional-pipeline-options: Comma-separated additional pipeline options; available options are listed in the Dataflow pipeline options reference."; "--additional-user-labels: Comma-separated key=value user labels."; "--disable-public-ips: Run workers without public IP addresses; overrides the command's default property value."; "--temp-location: Cloud Storage location for temporary files; defaults to --staging-location if unset, and must start with gs://."; "--staging-location: Cloud Storage location for staging local files; defaults to --temp-location if unset, and must start with gs://."; "--num-workers: Initial number of workers."; "--max-workers: Maximum number of workers."; "--worker-machine-type: Worker machine type; defaults to a server-selected type."; "--launcher-machine-type: Machine type for launching the job; defaults to a Dataflow-selected type."; "--dataflow-kms-key: Cloud KMS key to protect job resources."; "--enable-streaming-engine: Enable Streaming Engine for a streaming job; overrides the command's default property value."; "--update: Enable updating a streaming job; the flag also supports --no-update to disable it."; "--transform-name-mappings: Transform name mappings for a streaming update job."; "--region: Job regional endpoint; defaults to us-central1."; "Prerequisite: Specify exactly one pipeline source: --yaml-pipeline or --yaml-pipeline-file."; "Prerequisite: For Dataflow pipeline execution, specify at least one of temp_location or staging_location; this command lets either location default to the other."

## gcloud network-management connectivity-tests supports GKE Pod endpoints (gcloud, 2026-02-03)
Published 2026-10-13
- slug: gcloud-network-management-connectivity-tests-supports-gke-pod-endpoints-614eb5179dbc
- score: 0.95

How to use it:

When debugging connectivity to or from a GKE Pod, create a Connectivity Test with the Pod URI in `--source-gke-pod` or `--destination-gke-pod`.

Examples:

```
gcloud network-management connectivity-tests create <test-name> --protocol=<protocol> --source-gke-pod=<source-pod-uri> --destination-gke-pod=<destination-pod-uri> --destination-port=<port> --round-trip
```

- why_it_matters: Run a Connectivity Test to or from a GKE Pod while debugging repository connectivity.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55500_2026-02-03>, <https://docs.cloud.google.com/network-intelligence-center/docs/connectivity-tests/how-to/running-connectivity-tests>, <https://docs.cloud.google.com/sdk/gcloud/reference/network-management/connectivity-tests/create>, <https://docs.cloud.google.com/network-intelligence-center/docs/connectivity-tests/concepts/access-control>
- gotchas: "<test-name> (required): Connectivity Test name."; "--source-gke-pod=<source-pod-uri>: GKE Pod URI for the source endpoint. Required when the source is a Pod; at least one endpoint flag must be specified."; "--destination-gke-pod=<destination-pod-uri>: GKE Pod URI for the destination endpoint. Required when the destination is a Pod; at least one endpoint flag must be specified."; "--protocol=<protocol>: Protocol for the test; defaults to TCP."; "--destination-port=<port>: Destination port; specify only for TCP or UDP tests."; "--round-trip: Also calculate return traces if the packet reaches the destination."; "Prerequisite: Use the Google Cloud CLI. The caller needs permission to create Connectivity Tests and at least `roles/compute.networkViewer` to read the tested network configuration."; "The Pod flags apply to Connectivity Tests to or from GKE Pods."

## gcloud sql users assign-roles grants or revokes database roles (gcloud, 2026-02-03)
Published 2026-10-13
- slug: gcloud-sql-users-assign-roles-grants-or-revokes-database-roles-b7caae8c5150
- score: 0.98

How to use it:

For a Cloud SQL MySQL or PostgreSQL user, use `gcloud sql users assign-roles` to grant roles; add `--revoke-existing-roles` to replace existing roles, or pass an empty `--database-roles` value with it to revoke all roles.

Examples:

```
gcloud sql users assign-roles <USERNAME> --instance=<INSTANCE> --database-roles=<ROLE_1>,<ROLE_2> --type=BUILT_IN
```

```
gcloud sql users assign-roles <USERNAME> --instance=<INSTANCE> --revoke-existing-roles --database-roles=<ROLE_1>,<ROLE_2> --type=BUILT_IN
```

```
gcloud sql users assign-roles <USERNAME> --type=BUILT_IN --instance=<INSTANCE> --database-roles= --revoke-existing-roles
```

- why_it_matters: Grant or revoke roles for a Postgres or MySQL user in Cloud SQL.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55500_2026-02-03>, <https://docs.cloud.google.com/sdk/gcloud/reference/sql/users/assign-roles>, <https://docs.cloud.google.com/sql/docs/postgres/create-manage-users>
- gotchas: "USERNAME (required): Cloud SQL username."; "--instance (-i) (required): Cloud SQL instance ID."; "--type (required): Cloud SQL user type; determines login authentication method. `BUILT_IN` represents a built-in user."; "--database-roles: Comma-separated roles to assign; available for MySQL and PostgreSQL. May be empty when revoking all roles."; "--revoke-existing-roles: Revoke the user's existing database roles; available for MySQL and PostgreSQL. Used with `--database-roles` to replace roles, or with an empty value to revoke all."; "--host: User hostname as an IP address, address range, or `%`; applies to MySQL and is ignored for other engines."; "Prerequisite: Custom roles must already exist in the database; create them with `CREATE ROLE` before assigning them."; "Applies to Postgres and MySQL users."

## gcloud sql users create accepts --database-roles (gcloud, 2026-02-03)
Published 2026-10-13
- slug: gcloud-sql-users-create-accepts-database-roles-bc8ca857e1b1
- score: 0.95

How to use it:

For a Cloud SQL MySQL or PostgreSQL instance, create a user with `gcloud sql users create` and pass `--database-roles` to assign roles during creation.

Examples:

```
gcloud sql users create <USERNAME> --instance=<INSTANCE> --database-roles=<ROLE_1>,<ROLE_2>
```

- why_it_matters: Create a Postgres or MySQL user with additional database roles.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55500_2026-02-03>, <https://docs.cloud.google.com/sdk/gcloud/reference/sql/users/create>
- gotchas: "USERNAME (required): Cloud SQL username."; "--instance=INSTANCE (required): Cloud SQL instance ID."; "--database-roles=ROLE,…: Comma-separated roles to assign; available only for MySQL and PostgreSQL instances. Roles can be predefined or custom."; "Prerequisite: Any custom roles must already exist in the database; create them with `CREATE ROLE`."; "Applies to Postgres and MySQL."

## gcloud compute machine-images create accepts --resource-manager-tags in v1 (gcloud, 2026-02-10)
Published 2026-10-13
- slug: gcloud-compute-machine-images-create-accepts-resource-manager-tags-in-v1-9784c0be81d1
- score: 0.93

How to use it:

To create a machine image from an instance with Resource Manager tags, run `gcloud compute machine-images create` with the image name, source instance, and `--resource-manager-tags=KEY=VALUE`.

Examples:

```
gcloud compute machine-images create <image> --source-instance=<source-instance> --resource-manager-tags=<key>=<value>
```

- why_it_matters: Create a Compute Engine machine image with Resource Manager tags.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55600_2026-02-10>, <https://docs.cloud.google.com/sdk/gcloud/reference/compute/machine-images/create>
- gotchas: "Version: v1"; "IMAGE (required): Name of the machine image to create."; "--source-instance (required): Source instance for the machine image."; "--resource-manager-tags: Comma-separated Resource Manager tags to apply to the machine image, in `KEY=VALUE` form."

## gcloud container clusters commands accept --autopilot-general-profile (gcloud, 2026-02-10)
Published 2026-10-13
- slug: gcloud-container-clusters-commands-accept-autopilot-general-profile-b6a45fcd394f
- score: 0.93

How to use it:

For GKE clusters running version 1.32 or later, set the Autopilot general profile by passing `--autopilot-general-profile=none` or `--autopilot-general-profile=no-performance` to a supported cluster command.

Examples:

```
gcloud container clusters create <cluster-name> --autopilot-general-profile=<none|no-performance>
```

```
gcloud container clusters create-auto <cluster-name> --autopilot-general-profile=<none|no-performance>
```

```
gcloud container clusters update <cluster-name> --autopilot-general-profile=<none|no-performance>
```

- why_it_matters: Set the Autopilot general compute profile when creating or updating a supported GKE cluster.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55600_2026-02-10>, <https://docs.cloud.google.com/sdk/gcloud/reference/container/clusters/create>, <https://docs.cloud.google.com/sdk/gcloud/reference/container/clusters/create-auto>, <https://docs.cloud.google.com/sdk/gcloud/reference/container/clusters/update>, <https://docs.cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview>, <https://docs.cloud.google.com/sdk/release-notes#55600_2026-02-10>
- gotchas: "--autopilot-general-profile: Sets the cluster's Autopilot general profile."; "none: Uses the Autopilot default configuration."; "no-performance: Turns off proactive capacity provisioning; this reduces provisioning performance for general-purpose workloads."; "<cluster-name> / NAME (required): Name of the cluster to create or update."; "Prerequisite: The cluster must run version 1.32 or later."; "Available on clusters running version 1.32 or later."; "Accepted values are `none` and `no-performance`."

## gcloud beta vector-search data-objects search adds dense ScaNN parameters (gcloud, 2026-02-24)
Published 2026-10-13
- slug: gcloud-beta-vector-search-data-objects-search-adds-dense-scann-parameters-e6f4ca0937ac
- score: 0.96

How to use it:

For dense vector search using an index, pass the ScaNN tuning flags to `gcloud beta vector-search collections data-objects search`. Supply either flag or both; do not combine them with `--dense-scann-target-recall`.

Examples:

```
gcloud beta vector-search collections data-objects search --collection=<collection> --location=<location> --vector-search-field=<vector-field> --vector-from-file=<vector.json> --use-index=<index> --dense-scann-search-leaves-pct=<percentage> --dense-scann-initial-candidate-count=<candidate-count>
```

- why_it_matters: Search Vector Search data objects using dense ScaNN parameters.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55800_2026-02-24>, <https://docs.cloud.google.com/sdk/gcloud/reference/beta/vector-search/collections/data-objects/search>
- gotchas: "Availability: beta"; "--collection (required): Collection to search data objects from."; "--location (required): Location of the collection."; "--vector-search-field (required): Vector field to search; required for vector search."; "--vector-from-file (required): Path to a JSON file containing the dense or sparse query vector; required for vector search."; "--use-index (required): Index resource name or ID; required when specifying Dense ScaNN tuning flags."; "--dense-scann-search-leaves-pct: Percentage of leaves to search for dense ScaNN, in the range [0, 100]. Can be used with `--dense-scann-initial-candidate-count`; cannot be combined with `--dense-scann-target-recall`."; "--dense-scann-initial-candidate-count: Number of initial candidates for dense ScaNN. Can be used with `--dense-scann-search-leaves-pct`; cannot be combined with `--dense-scann-target-recall`."; "--dense-scann-target-recall: Query-time target recall for dense ScaNN, a value in [0, 1]; mutually exclusive with either low-level Dense ScaNN override."

Next: https://sincecutoff.com/v1/changes.md?tool=gcloud&score=0&cursor=eyJzY29yZSI6MCwic2VxIjozNTksInNpbmNlIjpudWxsLCJ0b29sIjoiZ2Nsb3VkIiwidiI6MX0
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
