Skip to main content

google_compute_region resource

Syntax

A google_compute_region is used to test a Google Region resource

Beta Resource

This resource has beta fields available. To retrieve these fields, include beta: true in the constructor for the resource

Examples

describe google_compute_region(project: 'chef-gcp-inspec', name: 'europe-west2') do
  it { should exist }
  it { should be_up }
  its('zone_names') { should include "#{gcp_location}-a" }
end

describe google_compute_region(project: 'chef-gcp-inspec', name: 'notthere') do
  it { should_not exist }
end

Test that a GCP compute region exists

describe google_compute_region(project: 'chef-inspec-gcp',  region: 'europe-west2') do
  it { should exist }
end

Test that a GCP compute region is in the expected state

describe google_compute_region(project: 'chef-inspec-gcp',  region: 'europe-west2') do
  its('status') { should eq 'UP' }
  # or equivalently
  it { should be_up }
end

Test a GCP compute region identifier

describe google_compute_region(project: 'chef-inspec-gcp',  region: "asia-east1") do
  its('id') { should eq "1220" }
end

Check that a region is associated with the expected zone fully qualified name

describe google_compute_region(project: 'chef-inspec-gcp',  region: "asia-east1") do
  its('zones') { should include "https://www.googleapis.com/compute/v1/projects/spaterson-project/zones/asia-east1-a" }
end

Check that a region is associated with the expected zone short name

describe google_compute_region(project: 'chef-inspec-gcp',  region: "asia-east1") do
  its('zone_names') { should include "asia-east1-a" }
end

The zone_names property is also useful for subsequently looping over associated google_compute_zone resources. For example:

google_compute_region(project: 'chef-inspec-gcp',  region: "asia-east1").zone_names.each do |zone_name|
  describe google_compute_zone(project: 'chef-inspec-gcp', name: zone_name) do
    it { should be_up }
  end
end

Properties

Properties that can be accessed from the google_compute_region resource:

creation_timestamp
Creation timestamp in RFC3339 text format.
deprecated
The deprecation state of this resource.
deleted
An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
deprecated
An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
obsolete
An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
replacement
The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.
state
The deprecation state of this resource. This can be DEPRECATED, OBSOLETE, or DELETED. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.

Possible values:

  • DEPRECATED
  • OBSOLETE
  • DELETED
description
An optional description of this resource.
id
The unique identifier for the resource.
name
Name of the resource.
quotas
Quotas assigned to this region.
metric
Name of the quota metric.
limit
Quota limit for this metric.
usage
Current usage of this metric.
owner
Owning resource. This is the resource on which this quota is applied.
status
Status of the region, either UP or DOWN. Possible values:
  • UP
  • DOWN
zones
List of zones within the region

GCP Permissions

Ensure the Compute Engine API is enabled for the current project.

Edit this page on GitHub

Thank you for your feedback!

×