Switch between PAYG and BYOS
You can switch between pay-as-you-go (PAYG) and bring your own subscription (BYOS)
billing models by replacing one license reference or code with another. Changing between BYOS and PAYG is supported for Red Hat Enterprise Linux (RHEL), RHEL for SAP, SUSE Linux Enterprise Server (SLES), and SLES for SAP.
For details on license codes and how to determine allowed license
modifications, see License changes and restrictions.
Before you begin
Change a BYOS license to a PAYG license
To replace a BYOS license with a PAYG license, use the Google Cloud CLI or the
Compute Engine API.
gcloud
To replace a disk's license with a license reference or code, use the
gcloud compute disks update
command:
gcloud compute disks update DISK_NAME \
--replace-license=PREVIOUS_LICENSE,NEW_LICENSE
Replace the following:
DISK_NAME
: the name of the disk to replace.
PREVIOUS_LICENSE
: the previous
license reference
being replaced, for example, "rhel-7-byos"
, "rhel-8-byos"
.
NEW_LICENSE
: the new
license reference,
for example, "rhel-7-server"
, "rhel-8-server"
.
REST
To replace a disk's license, add the new license to the request body and
omit the previous license. Call the following
disks.update
v1 method:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/NEW_LICENSE"]}'
Replace the following:
PROJECT
: the name of the project
ZONE
: the zone containing the VM
DISK_NAME
: the name of the disk
NEW_LICENSE
: the new
license reference,
for example, "rhel-6-byos"
, "rhel-7-byos"
, or
license code, for
example, "4720191914037931587"
, "1492188837615955530"
.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[],[],null,["Linux\n\n*** ** * ** ***\n\nYou can switch between pay-as-you-go (PAYG) and bring your own subscription (BYOS)\nbilling models by replacing one license reference or code with another. Changing between BYOS and PAYG is supported for Red Hat Enterprise Linux (RHEL), RHEL for SAP, SUSE Linux Enterprise Server (SLES), and SLES for SAP.\nFor details on license codes and how to determine allowed license\nmodifications, see [License changes and restrictions](/compute/docs/licenses/license-changes-and-restrictions).\n\n\nBefore you begin\n\n- If you haven't already, set up [authentication](/compute/docs/authentication). Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:\n\n Select the tab for how you plan to use the samples on this page: \n\n Console\n\n\n When you use the Google Cloud console to access Google Cloud services and\n APIs, you don't need to set up authentication.\n\n gcloud\n 1.\n [Install](/sdk/docs/install) the Google Cloud CLI.\n\n After installation,\n [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command:\n\n ```bash\n gcloud init\n ```\n\n\n If you're using an external identity provider (IdP), you must first\n [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n | **Note:** If you installed the gcloud CLI previously, make sure you have the latest version by running `gcloud components update`.\n 2. [Set a default region and zone](/compute/docs/gcloud-compute#set_default_zone_and_region_in_your_local_client).\n\nChange a BYOS license to a PAYG license\n\nTo replace a BYOS license with a PAYG license, use the Google Cloud CLI or the\nCompute Engine API. \n\ngcloud\n\nTo replace a disk's license with a license reference or code, use the\n[`gcloud compute disks update` command](/sdk/gcloud/reference/compute/disks/update): \n\n```\ngcloud compute disks update DISK_NAME \\\n --replace-license=PREVIOUS_LICENSE,NEW_LICENSE\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e: the name of the disk to replace.\n- \u003cvar translate=\"no\"\u003ePREVIOUS_LICENSE\u003c/var\u003e: the previous [license reference](/compute/docs/images/os-details#license-references) being replaced, for example, `\"rhel-7-byos\"`, `\"rhel-8-byos\"`.\n- \u003cvar translate=\"no\"\u003eNEW_LICENSE\u003c/var\u003e: the new [license reference](/compute/docs/images/os-details#license-references), for example, `\"rhel-7-server\"`, `\"rhel-8-server\"`.\n\nREST\n\nTo replace a disk's license, add the new license to the request body and\nomit the previous license. Call the following\n[`disks.update` v1 method](/compute/docs/reference/rest/v1/disks/update): \n\n```\nPATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{\"name\":\"DISK_NAME\", \"licenses\":[\"https://www.googleapis.com/compute/v1/NEW_LICENSE\"]}'\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e: the name of the project\n- \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone containing the VM\n- \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e: the name of the disk\n- \u003cvar translate=\"no\"\u003eNEW_LICENSE\u003c/var\u003e: the new [license reference](/compute/docs/images/os-details#license-references), for example, `\"rhel-6-byos\"`, `\"rhel-7-byos\"`, or [license code](/compute/docs/images/os-details#license-codes), for example, `\"4720191914037931587\"`, `\"1492188837615955530\"`."]]