Skip to content

Conversation

@NandiniAgrawal15
Copy link
Contributor

@NandiniAgrawal15 NandiniAgrawal15 commented Jun 13, 2025

`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.

@NandiniAgrawal15 NandiniAgrawal15 force-pushed the ww branch 3 times, most recently from c040016 to 8908706 Compare June 13, 2025 16:27
@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 2 files changed, 279 insertions(+))
google-beta provider: Diff ( 6 files changed, 1582 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 233 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_compute_wire_group (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_compute_wire_group" "primary" {
  endpoints {
    endpoint = # value needed
    interconnects {
      interconnect      = # value needed
      interconnect_name = # value needed
      vlan_tags         = # value needed
    }
  }
  wire_properties {
    fault_response = # value needed
  }
  wires {
    wire_properties {
      bandwidth_unmetered = # value needed
      fault_response      = # value needed
    }
  }
}

Missing service labels

The following new resources do not have corresponding service labels:

  • google_compute_wire_group

If you believe this detection to be incorrect please raise the concern with your reviewer. Googlers: This error is safe to ignore once you've completed go/fix-missing-service-labels.
An override-missing-service-label label can be added to allow merging.

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 2 files changed, 279 insertions(+))
google-beta provider: Diff ( 6 files changed, 1582 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 233 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_compute_wire_group (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_compute_wire_group" "primary" {
  endpoints {
    endpoint = # value needed
    interconnects {
      interconnect      = # value needed
      interconnect_name = # value needed
      vlan_tags         = # value needed
    }
  }
  wire_properties {
    fault_response = # value needed
  }
  wires {
    wire_properties {
      bandwidth_unmetered = # value needed
      fault_response      = # value needed
    }
  }
}

Missing service labels

The following new resources do not have corresponding service labels:

  • google_compute_wire_group

If you believe this detection to be incorrect please raise the concern with your reviewer. Googlers: This error is safe to ignore once you've completed go/fix-missing-service-labels.
An override-missing-service-label label can be added to allow merging.

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 2 files changed, 279 insertions(+))
google-beta provider: Diff ( 6 files changed, 1582 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 233 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_compute_wire_group (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_compute_wire_group" "primary" {
  endpoints {
    endpoint = # value needed
    interconnects {
      interconnect      = # value needed
      interconnect_name = # value needed
      vlan_tags         = # value needed
    }
  }
  wire_properties {
    fault_response = # value needed
  }
  wires {
    wire_properties {
      bandwidth_unmetered = # value needed
      fault_response      = # value needed
    }
  }
}

Missing service labels

The following new resources do not have corresponding service labels:

  • google_compute_wire_group

If you believe this detection to be incorrect please raise the concern with your reviewer. Googlers: This error is safe to ignore once you've completed go/fix-missing-service-labels.
An override-missing-service-label label can be added to allow merging.

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 2 files changed, 279 insertions(+))
google-beta provider: Diff ( 6 files changed, 1582 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 233 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_compute_wire_group (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_compute_wire_group" "primary" {
  endpoints {
    endpoint = # value needed
    interconnects {
      interconnect      = # value needed
      interconnect_name = # value needed
      vlan_tags         = # value needed
    }
  }
  wire_properties {
    fault_response = # value needed
  }
  wires {
    wire_properties {
      bandwidth_unmetered = # value needed
      fault_response      = # value needed
    }
  }
}

Missing service labels

The following new resources do not have corresponding service labels:

  • google_compute_wire_group

If you believe this detection to be incorrect please raise the concern with your reviewer. Googlers: This error is safe to ignore once you've completed go/fix-missing-service-labels.
An override-missing-service-label label can be added to allow merging.

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 1226
Passed tests: 1141
Skipped tests: 83
Affected tests: 2

Click here to see the affected service packages
  • compute
#### Action taken
Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccComputeWireGroup_computeWireGroupBasicExample
  • TestAccComputeWireGroup_update

Get to know how VCR tests work

1 similar comment
@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 1226
Passed tests: 1141
Skipped tests: 83
Affected tests: 2

Click here to see the affected service packages
  • compute
#### Action taken
Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccComputeWireGroup_computeWireGroupBasicExample
  • TestAccComputeWireGroup_update

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccComputeWireGroup_computeWireGroupBasicExample [Debug log]
TestAccComputeWireGroup_update [Debug log]

🟢 No issues found for passed tests after REPLAYING rerun.


🟢 All tests passed!

View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccComputeWireGroup_computeWireGroupBasicExample [Debug log]
TestAccComputeWireGroup_update [Debug log]

🟢 No issues found for passed tests after REPLAYING rerun.


🟢 All tests passed!

View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 1226
Passed tests: 1141
Skipped tests: 83
Affected tests: 2

Click here to see the affected service packages
  • compute
#### Action taken
Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccComputeWireGroup_computeWireGroupBasicExample
  • TestAccComputeWireGroup_update

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccComputeWireGroup_computeWireGroupBasicExample [Debug log]
TestAccComputeWireGroup_update [Debug log]

🟢 No issues found for passed tests after REPLAYING rerun.


🟢 All tests passed!

View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 1226
Passed tests: 1141
Skipped tests: 83
Affected tests: 2

Click here to see the affected service packages
  • compute
#### Action taken
Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccComputeWireGroup_computeWireGroupBasicExample
  • TestAccComputeWireGroup_update

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccComputeWireGroup_computeWireGroupBasicExample [Debug log]
TestAccComputeWireGroup_update [Debug log]

🟢 No issues found for passed tests after REPLAYING rerun.


🟢 All tests passed!

View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 2 files changed, 280 insertions(+))
google-beta provider: Diff ( 6 files changed, 1584 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 233 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_compute_wire_group (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_compute_wire_group" "primary" {
  endpoints {
    endpoint = # value needed
    interconnects {
      interconnect      = # value needed
      interconnect_name = # value needed
      vlan_tags         = # value needed
    }
  }
}

Missing service labels

The following new resources do not have corresponding service labels:

  • google_compute_wire_group

If you believe this detection to be incorrect please raise the concern with your reviewer. Googlers: This error is safe to ignore once you've completed go/fix-missing-service-labels.
An override-missing-service-label label can be added to allow merging.

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 1226
Passed tests: 1142
Skipped tests: 83
Affected tests: 1

Click here to see the affected service packages
  • compute
#### Action taken
Found 1 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccComputeWireGroup_computeWireGroupBasicExample

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccComputeWireGroup_computeWireGroupBasicExample [Debug log]

🟢 No issues found for passed tests after REPLAYING rerun.


🟢 All tests passed!

View the build log or the debug log for each test

@NandiniAgrawal15
Copy link
Contributor Author

Referencing to #14271 (comment),
Endpoints could not be added in acceptance test due to reasons stated at https://docs.google.com/document/d/1awPrV2G5S3pVBy-aClJEBHw86vtWPvELodJA8jDfa68/edit?tab=t.0#bookmark=id.omc9knup59on
But this field has been tested manually.
Please find Link to manual testing: https://paste.googleplex.com/6378546827886592

@NandiniAgrawal15 NandiniAgrawal15 marked this pull request as ready for review June 13, 2025 19:29
@github-actions github-actions bot requested a review from c2thorn June 13, 2025 19:29
@github-actions
Copy link

github-actions bot commented Jun 13, 2025

Hello! I am a robot. Tests will require approval from a repository maintainer to run.

Googlers: For automatic test runs see go/terraform-auto-test-runs.

@NickElliot, a repository maintainer, has been assigned to review your changes. If you have not received review feedback within 2 business days, please leave a comment on this PR asking them to take a look.

You can help make sure that review is quick by doing a self-review and by running impacted tests locally.

@NandiniAgrawal15
Copy link
Contributor Author

@c2thorn, Could u please take a look.
Additional Info: This PR was originally merged as #13944, but was reverted because some fields required type-changes at the time. Those issues have now been addressed. Thanks !

@github-actions
Copy link

@c2thorn This PR has been waiting for review for 3 weekdays. Please take a look! Use the label disable-review-reminders to disable these notifications.

Copy link
Member

@c2thorn c2thorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reassigning to original reviewer

@c2thorn
Copy link
Member

c2thorn commented Jun 18, 2025

@modular-magician reassign-reviewer @NickElliot

@c2thorn c2thorn requested a review from NickElliot June 18, 2025 21:19
Copy link
Contributor

@NickElliot NickElliot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you add tests which use the endpoints fields?

@NandiniAgrawal15
Copy link
Contributor Author

NandiniAgrawal15 commented Jun 23, 2025

Due to some reasons, acceptance test for the same couldn't be added, The manual testing is done though. Please refer #14271 (comment).

@github-actions github-actions bot requested a review from c2thorn June 23, 2025 04:54
Copy link
Contributor

@NickElliot NickElliot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you run some manual update tests too? need to verify if updating in place is fully supported

@NandiniAgrawal15
Copy link
Contributor Author

Manual Testing Update test:
Test-1 : https://paste.googleplex.com/6294796045647872
Test-2: https://paste.googleplex.com/5906646278340608

Copy link
Contributor

@NickElliot NickElliot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@NickElliot NickElliot added this pull request to the merge queue Jun 25, 2025
Merged via the queue into GoogleCloudPlatform:main with commit 9f842e4 Jun 25, 2025
26 of 27 checks passed
BBBmau pushed a commit to BBBmau/magic-modules that referenced this pull request Jun 25, 2025
BBBmau pushed a commit to BBBmau/magic-modules that referenced this pull request Jun 25, 2025
jingqizz pushed a commit to jingqizz/magic-modules that referenced this pull request Jul 9, 2025
BBBmau pushed a commit to BBBmau/magic-modules that referenced this pull request Jul 28, 2025
BBBmau pushed a commit to BBBmau/magic-modules that referenced this pull request Jul 28, 2025
BBBmau pushed a commit to BBBmau/magic-modules that referenced this pull request Jul 28, 2025
BBBmau pushed a commit to BBBmau/magic-modules that referenced this pull request Jul 28, 2025
NandiniAgrawal15 added a commit to NandiniAgrawal15/magic-modules that referenced this pull request Sep 4, 2025
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.

4 participants