---
title: About the google_compute_network resource
platform: gcp
---

## Syntax
A `google_compute_network` is used to test a Google Network 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_network(project: 'chef-gcp-inspec', name: 'inspec-network') do
  it { should exist }
  its('routing_config.routing_mode') { should cmp 'REGIONAL' }
end

describe google_compute_network(project: 'chef-gcp-inspec', name: 'nonexistent') do
  it { should_not exist }
end
```

### Test that a GCP compute network exists

    describe google_compute_network(project: 'chef-inspec-gcp',  name: 'gcp-inspec-network') do
      it { should exist }
    end

### Test when a GCP compute network was created

    describe google_compute_network(project: 'chef-inspec-gcp',  name: 'gcp-inspec-network') do
      its('creation_timestamp_date') { should be > Time.now - 365*60*60*24*10 }
    end    
    
### Test for an expected network identifier 

    describe google_compute_network(project: 'chef-inspec-gcp',  name: 'gcp-inspec-network') do
      its('id') { should eq 12345567789 }
    end    


### Test whether a single attached subnetwork name is correct 

    describe google_compute_network(project: 'chef-inspec-gcp',  name: 'gcp-inspec-network') do
      its ('subnetworks.count') { should eq 1 }
      its ('subnetworks.first') { should match "subnetwork-name"}
    end    
    
### Test whether the network is configured to automatically create subnetworks or not

    describe google_compute_network(project: 'chef-inspec-gcp',  name: 'gcp-inspec-network') do
      its ('auto_create_subnetworks'){ should be false }
    end    


### Check the network routing configuration routing mode 

    describe google_compute_network(project: 'chef-inspec-gcp',  name: 'gcp-inspec-network') do
      its ('routing_config.routing_mode') { should eq "REGIONAL" }
    end

## Properties
Properties that can be accessed from the `google_compute_network` resource:


  * `description`: An optional description of this resource. The resource must be recreated to modify this field.

  * `gateway_ipv4`: The gateway address for default routing out of the network. This value is selected by GCP.

  * `id`: The unique identifier for the resource.

  * `name`: Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

  * `subnetworks`: Server-defined fully-qualified URLs for all subnetworks in this network.

  * `auto_create_subnetworks`: When set to `true`, the network is created in "auto subnet mode" and it will create a subnet for each region automatically across the `10.128.0.0/9` address range.  When set to `false`, the network is created in "custom subnet mode" so the user can explicitly connect subnetwork resources.

  * `creation_timestamp`: Creation timestamp in RFC3339 text format.

  * `routing_config`: The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce.

    * `routing_mode`: The network-wide routing mode to use. If set to `REGIONAL`, this network's cloud routers will only advertise routes with subnetworks of this network in the same region as the router. If set to `GLOBAL`, this network's cloud routers will advertise routes with all subnetworks of this network, across regions.
    Possible values:
      * REGIONAL
      * GLOBAL

  * `peerings`: Peerings for a network

    * `name`: Name of the peering.

    * `state`: State of the peering.

    * `state_details`: Details about the current state of the peering.

    * `network`: URL of the peer network

    * `export_custom_routes`: Whether to export the custom routes to the peer network.

    * `import_custom_routes`: Whether to import the custom routes to the peer network.

    * `peer_mtu`: Maximum Transmission Unit in bytes.

  * `mtu`: Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes.


## GCP Permissions

Ensure the [Compute Engine API](https://console.cloud.google.com/apis/library/compute.googleapis.com/) is enabled for the current project.