Google Cloud IoT Core is being retired on August 16, 2023. Contact your Google Cloud account team for more information.

Delete a gateway

Delete the gateway with the given ID.

Code sample

PHP

For more information, see the Cloud IoT Core PHP API reference documentation.

To authenticate to Cloud IoT Core, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

use Google\Cloud\Iot\V1\DeviceManagerClient;

/**
 * Delete the gateway with the given id.
 *
 * @param string $registryId IOT Device Registry ID
 * @param string $gatewayId ID for the gateway to delete
 * @param string $projectId Google Cloud project ID
 * @param string $location (Optional) Google Cloud region
 */
function delete_gateway(
    $registryId,
    $gatewayId,
    $projectId,
    $location = 'us-central1'
) {
    print('Deleting Gateway' . PHP_EOL);

    // Instantiate a client.
    $deviceManager = new DeviceManagerClient();
    $gatewayName = $deviceManager->deviceName($projectId, $location, $registryId, $gatewayId);

    // TODO: unbind all bound devices when list_devices_for_gateway
    // is working
    $response = $deviceManager->deleteDevice($gatewayName);

    printf('Deleted %s' . PHP_EOL, $gatewayName);
}

Ruby

For more information, see the Cloud IoT Core Ruby API reference documentation.

To authenticate to Cloud IoT Core, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

# project_id  = "Your Google Cloud project ID"
# location_id = "The Cloud region the registry is located in"
# registry_id = "The registry to create a device in"
# gateway_id   = "The identifier of the gateway to delete"

require "google/apis/cloudiot_v1"

# Initialize the client and authenticate with the specified scope
Cloudiot   = Google::Apis::CloudiotV1
iot_client = Cloudiot::CloudIotService.new
iot_client.authorization = Google::Auth.get_application_default(
  "https://www.googleapis.com/auth/cloud-platform"
)

# The resource name of the location associated with the project
parent = "projects/#{project_id}/locations/#{location_id}"
device_path = "#{parent}/registries/#{registry_id}/devices/#{gateway_id}"

# TODO: unbind all devices?
# Delete the gateway
result = iot_client.delete_project_location_registry_device(
  device_path
)

puts "Deleted gateway."

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.