Skip to content

Conversation

@modular-magician
Copy link
Collaborator

`google_compute_wire_group`

The WireGroup resource represents a group of redundant wires between interconnects in two different metros.

google_compute_wire_group

The WireGroup resource represents a group of redundant wires between interconnects in two different metros. Each WireGroup belongs to a CrossSiteNetwork. A wire group defines endpoints and the wires which exist between them.

~> Warning: This resource is in beta, and should be used with the terraform-provider-google-beta provider.
See Provider Versions for more details on beta resources.

To get more information about WireGroup, see:

Example Usage - Compute Wire Group Basic

data "google_project" "project" {
provider = google-beta
}

resource "google_compute_cross_site_network" "example-cross-site-network" {
  name        = "test-cross-site-network"
  description = "Example cross site network"
  provider    = google-beta
}

resource "google_compute_wire_group" "example-test-wire-group" {
  name               = "test-wire-group"
  description        = "Example Wire Group"
  cross_site_network = "test-cross-site-network"
  provider           = google-beta
  depends_on = [
    google_compute_cross_site_network.example-cross-site-network
  ]
  wire_properties {
    bandwidth_unmetered = 10
  }
  wire_group_properties {
    type = "WIRE"
  }
  admin_enabled = true
}

Argument Reference

The following arguments are supported:

  • name -
    (Required)
    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.

  • cross_site_network -
    (Required)
    Required cross site network to which wire group belongs.


  • description -
    (Optional)
    An optional description of this resource. Provide this property when you create the resource.

  • endpoints -
    (Optional)
    Endpoints grouped by location, each mapping to interconnect configurations.
    Structure is documented below.

  • admin_enabled -
    (Optional)
    Indicates whether the wire group is administratively enabled.

  • wire_group_properties -
    (Optional)
    Properties specific to the wire group.
    Structure is documented below.

  • wire_properties -
    (Optional)
    Default properties for wires within the group.
    Structure is documented below.

  • project - (Optional) The ID of the project in which the resource belongs.
    If it is not provided, the provider project is used.

The endpoints block supports:

  • endpoint - (Required) The identifier for this object. Format specified above.

  • interconnects -
    (Optional)
    Structure is documented below.

The interconnects block supports:

  • interconnect_name - (Required) The identifier for this object. Format specified above.

  • interconnect -
    (Optional)

  • vlan_tags -
    (Optional)
    VLAN tags for the interconnect.

The wire_group_properties block supports:

  • type -
    (Optional)
    Type of wire group (enum).
    WIRE: a single pseudowire over two Interconnect connections with no redundancy.
    REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.
    BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro.

The wire_properties block supports:

  • bandwidth_unmetered -
    (Optional)
    The unmetered bandwidth setting.

  • fault_response -
    (Optional)
    Response when a fault is detected in a pseudowire:
    NONE: default.
    DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • id - an identifier for the resource with format projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}

  • creation_timestamp -
    Creation timestamp in RFC3339 text format.

  • wires -
    The single/redundant wire(s) managed by the wire group.
    Structure is documented below.

  • topology -
    Topology details for the wire group configuration.
    Structure is documented below.

The wires block contains:

  • label -
    (Output)

  • endpoints -
    (Output)
    'Wire endpoints are specific Interconnect connections.'
    Structure is documented below.

  • wire_properties -
    (Output)
    A nested object resource.
    Structure is documented below.

  • admin_enabled -
    (Output)

The endpoints block contains:

  • interconnect -
    (Output)

  • vlan_tag -
    (Output)

The wire_properties block contains:

  • bandwidth_unmetered -
    (Optional)

  • fault_response -
    (Optional)

The topology block contains:

The endpoints block contains:

  • label -
    (Output)

  • city -
    (Output)

Timeouts

This resource provides the following
Timeouts configuration options:

  • create - Default is 20 minutes.
  • update - Default is 20 minutes.
  • delete - Default is 20 minutes.

Import

WireGroup can be imported using any of these accepted formats:

  • projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}
  • {{project}}/{{cross_site_network}}/{{name}}
  • {{cross_site_network}}/{{name}}

In Terraform v1.5.0 and later, use an import block to import WireGroup using one of the formats above. For example:

import {
  id = "projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}"
  to = google_compute_wire_group.default
}

When using the terraform import command, WireGroup can be imported using one of the formats above. For example:

$ terraform import google_compute_wire_group.default projects/{{project}}/global/crossSiteNetworks/{{cross_site_network}}/wireGroups/{{name}}
$ terraform import google_compute_wire_group.default {{project}}/{{cross_site_network}}/{{name}}
$ terraform import google_compute_wire_group.default {{cross_site_network}}/{{name}}

User Project Overrides

This resource supports User Project Overrides.

Derived from GoogleCloudPlatform/magic-modules#14271

[upstream:9f842e4cdb98c698dd9a0f952b2a0e34fb61089d]

Signed-off-by: Modular Magician <magic-modules@google.com>
@modular-magician modular-magician requested a review from a team as a code owner June 25, 2025 21:33
@modular-magician modular-magician requested review from melinath and removed request for a team June 25, 2025 21:33
@modular-magician modular-magician merged commit 84f9c8f into GoogleCloudPlatform:main Jun 25, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant