Add WireGroup Resource
`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:
- API documentation
- How-to Guides
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 formatprojects/{{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:
-
endpoints- (Output) Structure is documented below.
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.
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.
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.
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.
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.
Tests analytics
Total tests: 1226 Passed tests: 1141 Skipped tests: 83 Affected tests: 2
Click here to see the affected service packages
- compute
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
Tests analytics
Total tests: 1226 Passed tests: 1141 Skipped tests: 83 Affected tests: 2
Click here to see the affected service packages
- compute
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
🟢 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!
🟢 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!
Tests analytics
Total tests: 1226 Passed tests: 1141 Skipped tests: 83 Affected tests: 2
Click here to see the affected service packages
- compute
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
🟢 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!
Tests analytics
Total tests: 1226 Passed tests: 1141 Skipped tests: 83 Affected tests: 2
Click here to see the affected service packages
- compute
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
🟢 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!
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.
Tests analytics
Total tests: 1226 Passed tests: 1142 Skipped tests: 83 Affected tests: 1
Click here to see the affected service packages
- compute
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
🟢 Tests passed during RECORDING mode:
TestAccComputeWireGroup_computeWireGroupBasicExample [Debug log]
🟢 No issues found for passed tests after REPLAYING rerun.
🟢 All tests passed!
Referencing to https://github.com/GoogleCloudPlatform/magic-modules/pull/14271#issuecomment-2971325998, 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
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.
@c2thorn, Could u please take a look. Additional Info: This PR was originally merged as https://github.com/GoogleCloudPlatform/magic-modules/pull/13944, but was reverted because some fields required type-changes at the time. Those issues have now been addressed. Thanks !
@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.
@modular-magician reassign-reviewer @NickElliot
Due to some reasons, acceptance test for the same couldn't be added, The manual testing is done though. Please refer https://github.com/GoogleCloudPlatform/magic-modules/pull/14271#issuecomment-2971423915.
Manual Testing Update test: Test-1 : https://paste.googleplex.com/6294796045647872 Test-2: https://paste.googleplex.com/5906646278340608