Skip to content

Commit 8de8cbd

Browse files
Add terraform support for InterconnectGroup and InterconnectAttachmentGroup resources (#13870) (#10136)
[upstream:5c634d78d4a11421e7065d9d28ad8b3a7d837bc7] Signed-off-by: Modular Magician <[email protected]>
1 parent bda594d commit 8de8cbd

20 files changed

+3392
-2
lines changed

.changelog/13870.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:new-resource
2+
`google_compute_interconnect_group`
3+
```
4+
5+
```release-note:new-resource
6+
`google_compute_interconnect_attachment_group`
7+
```

google-beta/provider/provider_mmv1_resources.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,9 +587,9 @@ var handwrittenIAMDatasources = map[string]*schema.Resource{
587587
}
588588

589589
// Resources
590-
// Generated resources: 669
590+
// Generated resources: 671
591591
// Generated IAM resources: 339
592-
// Total generated resources: 1008
592+
// Total generated resources: 1010
593593
var generatedResources = map[string]*schema.Resource{
594594
"google_folder_access_approval_settings": accessapproval.ResourceAccessApprovalFolderSettings(),
595595
"google_organization_access_approval_settings": accessapproval.ResourceAccessApprovalOrganizationSettings(),
@@ -870,6 +870,8 @@ var generatedResources = map[string]*schema.Resource{
870870
"google_compute_instant_snapshot_iam_policy": tpgiamresource.ResourceIamPolicy(compute.ComputeInstantSnapshotIamSchema, compute.ComputeInstantSnapshotIamUpdaterProducer, compute.ComputeInstantSnapshotIdParseFunc),
871871
"google_compute_interconnect": compute.ResourceComputeInterconnect(),
872872
"google_compute_interconnect_attachment": compute.ResourceComputeInterconnectAttachment(),
873+
"google_compute_interconnect_attachment_group": compute.ResourceComputeInterconnectAttachmentGroup(),
874+
"google_compute_interconnect_group": compute.ResourceComputeInterconnectGroup(),
873875
"google_compute_machine_image": compute.ResourceComputeMachineImage(),
874876
"google_compute_machine_image_iam_binding": tpgiamresource.ResourceIamBinding(compute.ComputeMachineImageIamSchema, compute.ComputeMachineImageIamUpdaterProducer, compute.ComputeMachineImageIdParseFunc),
875877
"google_compute_machine_image_iam_member": tpgiamresource.ResourceIamMember(compute.ComputeMachineImageIamSchema, compute.ComputeMachineImageIamUpdaterProducer, compute.ComputeMachineImageIdParseFunc),

google-beta/services/compute/resource_compute_interconnect.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,16 @@ backend connectivity issues.`,
371371
Type: schema.TypeString,
372372
},
373373
},
374+
"interconnect_groups": {
375+
Type: schema.TypeSet,
376+
Computed: true,
377+
Description: `URLs of InterconnectGroups that include this Interconnect.
378+
Order is arbitrary and items are unique.`,
379+
Elem: &schema.Schema{
380+
Type: schema.TypeString,
381+
},
382+
Set: schema.HashString,
383+
},
374384
"label_fingerprint": {
375385
Type: schema.TypeString,
376386
Computed: true,
@@ -775,6 +785,9 @@ func resourceComputeInterconnectRead(d *schema.ResourceData, meta interface{}) e
775785
if err := d.Set("available_features", flattenComputeInterconnectAvailableFeatures(res["availableFeatures"], d, config)); err != nil {
776786
return fmt.Errorf("Error reading Interconnect: %s", err)
777787
}
788+
if err := d.Set("interconnect_groups", flattenComputeInterconnectInterconnectGroups(res["interconnectGroups"], d, config)); err != nil {
789+
return fmt.Errorf("Error reading Interconnect: %s", err)
790+
}
778791
if err := d.Set("terraform_labels", flattenComputeInterconnectTerraformLabels(res["labels"], d, config)); err != nil {
779792
return fmt.Errorf("Error reading Interconnect: %s", err)
780793
}
@@ -1280,6 +1293,13 @@ func flattenComputeInterconnectAvailableFeatures(v interface{}, d *schema.Resour
12801293
return v
12811294
}
12821295

1296+
func flattenComputeInterconnectInterconnectGroups(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
1297+
if v == nil {
1298+
return v
1299+
}
1300+
return schema.NewSet(schema.HashString, v.([]interface{}))
1301+
}
1302+
12831303
func flattenComputeInterconnectTerraformLabels(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
12841304
if v == nil {
12851305
return v

google-beta/services/compute/resource_compute_interconnect_attachment.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,11 @@ DEDICATED. Possible values: ["DEDICATED", "PARTNER", "PARTNER_PROVIDER"]`,
291291
Description: `The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When
292292
using PARTNER type this will be managed upstream.`,
293293
},
294+
"attachment_group": {
295+
Type: schema.TypeString,
296+
Computed: true,
297+
Description: `URL of the AttachmentGroup that includes this Attachment.`,
298+
},
294299
"cloud_router_ip_address": {
295300
Type: schema.TypeString,
296301
Computed: true,
@@ -788,6 +793,9 @@ func resourceComputeInterconnectAttachmentRead(d *schema.ResourceData, meta inte
788793
if err := d.Set("candidate_customer_router_ipv6_address", flattenComputeInterconnectAttachmentCandidateCustomerRouterIpv6Address(res["candidateCustomerRouterIpv6Address"], d, config)); err != nil {
789794
return fmt.Errorf("Error reading InterconnectAttachment: %s", err)
790795
}
796+
if err := d.Set("attachment_group", flattenComputeInterconnectAttachmentAttachmentGroup(res["attachmentGroup"], d, config)); err != nil {
797+
return fmt.Errorf("Error reading InterconnectAttachment: %s", err)
798+
}
791799
if err := d.Set("terraform_labels", flattenComputeInterconnectAttachmentTerraformLabels(res["labels"], d, config)); err != nil {
792800
return fmt.Errorf("Error reading InterconnectAttachment: %s", err)
793801
}
@@ -1213,6 +1221,10 @@ func flattenComputeInterconnectAttachmentCandidateCustomerRouterIpv6Address(v in
12131221
return v
12141222
}
12151223

1224+
func flattenComputeInterconnectAttachmentAttachmentGroup(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
1225+
return v
1226+
}
1227+
12161228
func flattenComputeInterconnectAttachmentTerraformLabels(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
12171229
if v == nil {
12181230
return v

google-beta/services/compute/resource_compute_interconnect_attachment_generated_meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ api_version: 'beta'
66
api_resource_type_kind: 'InterconnectAttachment'
77
fields:
88
- field: 'admin_enabled'
9+
- field: 'attachment_group'
910
- field: 'bandwidth'
1011
- field: 'candidate_cloud_router_ip_address'
1112
- field: 'candidate_cloud_router_ipv6_address'

0 commit comments

Comments
 (0)