Specifies the canary migration state for the backend buckets
attached to this forwarding rule. Possible values are PREPARE,
TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration
from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to
PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the
loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally,
the TEST_BY_PERCENTAGE state can be used to migrate traffic to
backend buckets attached to this forwarding rule by percentage using
externalManagedBackendBucketMigrationTestingPercentage. Rolling back
a migration requires the states to be set in reverse order. So
changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the
state to be set to TEST_ALL_TRAFFIC at the same time. Optionally,
the TEST_BY_PERCENTAGE state can be used to migrate some traffic
back to EXTERNAL or PREPARE can be used to migrate all traffic back
to EXTERNAL.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-11 UTC."],[],[],null,["# Class ExternalManagedBackendBucketMigrationState (1.35.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.35.0 (latest)](/python/docs/reference/compute/latest/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.34.0](/python/docs/reference/compute/1.34.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.33.0](/python/docs/reference/compute/1.33.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.32.0](/python/docs/reference/compute/1.32.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.31.0](/python/docs/reference/compute/1.31.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.30.0](/python/docs/reference/compute/1.30.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.29.0](/python/docs/reference/compute/1.29.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.28.0](/python/docs/reference/compute/1.28.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.27.0](/python/docs/reference/compute/1.27.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.26.0](/python/docs/reference/compute/1.26.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.25.0](/python/docs/reference/compute/1.25.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.24.0](/python/docs/reference/compute/1.24.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.23.0](/python/docs/reference/compute/1.23.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.22.0](/python/docs/reference/compute/1.22.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.21.0](/python/docs/reference/compute/1.21.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.20.1](/python/docs/reference/compute/1.20.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.19.2](/python/docs/reference/compute/1.19.2/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.18.0](/python/docs/reference/compute/1.18.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.17.0](/python/docs/reference/compute/1.17.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.16.1](/python/docs/reference/compute/1.16.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.15.0](/python/docs/reference/compute/1.15.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.14.1](/python/docs/reference/compute/1.14.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.13.0](/python/docs/reference/compute/1.13.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.12.1](/python/docs/reference/compute/1.12.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.11.0](/python/docs/reference/compute/1.11.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.10.1](/python/docs/reference/compute/1.10.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.9.0](/python/docs/reference/compute/1.9.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.8.0](/python/docs/reference/compute/1.8.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.7.0](/python/docs/reference/compute/1.7.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.6.1](/python/docs/reference/compute/1.6.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.5.2](/python/docs/reference/compute/1.5.2/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.4.0](/python/docs/reference/compute/1.4.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.3.2](/python/docs/reference/compute/1.3.2/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.2.0](/python/docs/reference/compute/1.2.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.1.0](/python/docs/reference/compute/1.1.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [1.0.0](/python/docs/reference/compute/1.0.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.9.0](/python/docs/reference/compute/0.9.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.8.0](/python/docs/reference/compute/0.8.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.7.0](/python/docs/reference/compute/0.7.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.6.0](/python/docs/reference/compute/0.6.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.5.0](/python/docs/reference/compute/0.5.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.4.2](/python/docs/reference/compute/0.4.2/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.3.0](/python/docs/reference/compute/0.3.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.2.1](/python/docs/reference/compute/0.2.1/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState)\n- [0.1.0](/python/docs/reference/compute/0.1.0/google.cloud.compute_v1.types.ForwardingRule.ExternalManagedBackendBucketMigrationState) \n\n ExternalManagedBackendBucketMigrationState(value)\n\nSpecifies the canary migration state for the backend buckets\nattached to this forwarding rule. Possible values are PREPARE,\nTEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration\nfrom EXTERNAL to EXTERNAL_MANAGED, the state must be changed to\nPREPARE. The state must be changed to TEST_ALL_TRAFFIC before the\nloadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally,\nthe TEST_BY_PERCENTAGE state can be used to migrate traffic to\nbackend buckets attached to this forwarding rule by percentage using\nexternalManagedBackendBucketMigrationTestingPercentage. Rolling back\na migration requires the states to be set in reverse order. So\nchanging the scheme from EXTERNAL_MANAGED to EXTERNAL requires the\nstate to be set to TEST_ALL_TRAFFIC at the same time. Optionally,\nthe TEST_BY_PERCENTAGE state can be used to migrate some traffic\nback to EXTERNAL or PREPARE can be used to migrate all traffic back\nto EXTERNAL."]]