UNIMPLEMENTED - Unimplemented: Operation Not Supported
UNIMPLEMENTED surfaces when the operation you're calling doesn't exist, isn't enabled for your project, or isn't available in your API version, region, or service tier. This client-side error happens during operation validation in the control plane. Most common in Compute Engine when using alpha/beta features without the right API version, or when machine types aren't available in that zone. Also appears in Cloud SQL with unsupported database engine versions or regional features, GKE with unavailable Kubernetes versions or regional capabilities, and BigQuery with SQL functions not supported in your region. Alpha and beta features require gcloud alpha or gcloud beta commands, not the stable API.
#Common Causes
- →Operation Not Supported: The requested operation doesn't exist for the service. Some operations are service-specific (e.g., Compute Engine operations don't exist in Cloud SQL), or the operation hasn't been implemented yet.
- →Feature Not Enabled: The feature exists but isn't enabled for your project. Some features require explicit enablement via API enablement (e.g., enabling the Compute Engine API) or feature flags.
- →API Version Mismatch: The operation isn't available in the API version you're using. Different API versions (v1, beta, alpha) support different operations. Alpha and beta features may not be available in the stable API.
- →Regional or Tier Limitation: Some features are available only in specific regions or for specific service tiers. For example, certain machine types are available only in specific zones, or Cloud SQL features vary by instance tier.
✓Solutions
- 1Step 1: Diagnose - Check if the API is enabled for your project: gcloud services list --enabled --filter="name:SERVICE_NAME"
- 2Step 2: Diagnose - Review API documentation to confirm the operation exists and is available for your service/region/tier.
- 3Step 3: Fix - Enable the required API if it's not enabled: gcloud services enable SERVICE_NAME
- 4Step 4: Fix - Use the correct API version. For alpha/beta features, use gcloud alpha or gcloud beta commands instead of gcloud.
- 5Step 5: Fix - Use a supported region/tier. Check service documentation for feature availability by region and tier.
- 6Step 6: Verify - Retry the operation with the correct API version or in a supported region/tier.
</>Code Examples
1# This script helps diagnose UNIMPLEMENTED errors by checking API and feature availability
2
3PROJECT_ID="my-project"
4SERVICE_NAME="compute.googleapis.com"
5
6# Step 1: Check if the API is enabled
7echo "Checking if API $SERVICE_NAME is enabled..."
8ENABLED=$(gcloud services list \
9 --enabled \
10 --filter="name:$SERVICE_NAME" \
11 --format="value(name)" \
12 --project $PROJECT_ID)
13
14if [ -z "$ENABLED" ]; then
15 echo "API $SERVICE_NAME is not enabled"
16 echo "Enabling API..."
17 gcloud services enable $SERVICE_NAME --project $PROJECT_ID
18 echo "API enabled. Please wait a few moments for it to be fully active."
19else
20 echo "API $SERVICE_NAME is enabled"
21fi
22
23# Step 2: Check available API versions
24echo "Checking API capabilities..."
25gcloud compute instances --help | head -20
26
27# Step 3: Check for alpha/beta features (if operation is in alpha/beta)
28echo "Checking alpha features..."
29gcloud alpha compute instances --help | head -20
30
31echo "Checking beta features..."
32gcloud beta compute instances --help | head -20
33
34# Step 4: List available regions/zones (for regional feature checks)
35echo "Listing available regions..."
36gcloud compute regions list --format="table(name,status)"
37
38# Step 5: Example: Check if a specific machine type is available in a zone
39ZONE="us-central1-a"
40MACHINE_TYPE="n1-standard-1"
41echo "Checking if machine type $MACHINE_TYPE is available in zone $ZONE..."
42AVAILABLE=$(gcloud compute machine-types list \
43 --filter="name=$MACHINE_TYPE AND zone:$ZONE" \
44 --format="value(name)" \
45 --project $PROJECT_ID)
46
47if [ -z "$AVAILABLE" ]; then
48 echo "Machine type $MACHINE_TYPE is not available in zone $ZONE"
49 echo "Available machine types in $ZONE:"
50 gcloud compute machine-types list --filter="zone:$ZONE" --format="table(name)"
51else
52 echo "Machine type $MACHINE_TYPE is available in zone $ZONE"
53fi↗Related Errors
Provider Information
This error code is specific to GCP services. For more information, refer to the official GCP documentation.