Skip to content

Commit f6dc844

Browse files
Network fwp (#9345) (#16837)
* Add test fwp conversion * Added two resources, test * Remove tpgtools fwp * Add examples * Rework legacy long form * Compile problem * Fix bad change * Rework resource.erb for project long form * Make fmt tests * Fix tests * Remove beta as well * Remove change to utils.go * Add back shorten to special cases in utils [upstream:c4a1a5e5f30f185a9b35ed346cc1a296448f9193] Signed-off-by: Modular Magician <[email protected]>
1 parent 477f7e8 commit f6dc844

30 files changed

+1108
-591
lines changed

.changelog/9345.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:note
2+
change from DCL to MMv1 for `google_network_firewall_policy` and `google_region_network_firewall_policy` (no note?)
3+
```

google/provider/provider_dcl_resources.go

-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ var dclResources = map[string]*schema.Resource{
5252
"google_compute_firewall_policy": compute.ResourceComputeFirewallPolicy(),
5353
"google_compute_firewall_policy_association": compute.ResourceComputeFirewallPolicyAssociation(),
5454
"google_compute_firewall_policy_rule": compute.ResourceComputeFirewallPolicyRule(),
55-
"google_compute_region_network_firewall_policy": compute.ResourceComputeRegionNetworkFirewallPolicy(),
56-
"google_compute_network_firewall_policy": compute.ResourceComputeNetworkFirewallPolicy(),
5755
"google_compute_network_firewall_policy_association": compute.ResourceComputeNetworkFirewallPolicyAssociation(),
5856
"google_compute_region_network_firewall_policy_association": compute.ResourceComputeRegionNetworkFirewallPolicyAssociation(),
5957
"google_compute_network_firewall_policy_rule": compute.ResourceComputeNetworkFirewallPolicyRule(),

google/provider/provider_mmv1_resources.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -373,9 +373,9 @@ var handwrittenIAMDatasources = map[string]*schema.Resource{
373373
}
374374

375375
// Resources
376-
// Generated resources: 353
376+
// Generated resources: 355
377377
// Generated IAM resources: 219
378-
// Total generated resources: 572
378+
// Total generated resources: 574
379379
var generatedResources = map[string]*schema.Resource{
380380
"google_folder_access_approval_settings": accessapproval.ResourceAccessApprovalFolderSettings(),
381381
"google_organization_access_approval_settings": accessapproval.ResourceAccessApprovalOrganizationSettings(),
@@ -548,6 +548,7 @@ var generatedResources = map[string]*schema.Resource{
548548
"google_compute_network_endpoint": compute.ResourceComputeNetworkEndpoint(),
549549
"google_compute_network_endpoint_group": compute.ResourceComputeNetworkEndpointGroup(),
550550
"google_compute_network_endpoints": compute.ResourceComputeNetworkEndpoints(),
551+
"google_compute_network_firewall_policy": compute.ResourceComputeNetworkFirewallPolicy(),
551552
"google_compute_network_peering_routes_config": compute.ResourceComputeNetworkPeeringRoutesConfig(),
552553
"google_compute_node_group": compute.ResourceComputeNodeGroup(),
553554
"google_compute_node_template": compute.ResourceComputeNodeTemplate(),
@@ -565,6 +566,7 @@ var generatedResources = map[string]*schema.Resource{
565566
"google_compute_region_disk_resource_policy_attachment": compute.ResourceComputeRegionDiskResourcePolicyAttachment(),
566567
"google_compute_region_health_check": compute.ResourceComputeRegionHealthCheck(),
567568
"google_compute_region_network_endpoint_group": compute.ResourceComputeRegionNetworkEndpointGroup(),
569+
"google_compute_region_network_firewall_policy": compute.ResourceComputeRegionNetworkFirewallPolicy(),
568570
"google_compute_region_per_instance_config": compute.ResourceComputeRegionPerInstanceConfig(),
569571
"google_compute_region_ssl_certificate": compute.ResourceComputeRegionSslCertificate(),
570572
"google_compute_region_ssl_policy": compute.ResourceComputeRegionSslPolicy(),

google/services/accesscontextmanager/resource_access_context_manager_access_level_condition.go

+1
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ func resourceAccessContextManagerAccessLevelConditionPollRead(d *schema.Resource
351351
config := meta.(*transport_tpg.Config)
352352

353353
url, err := tpgresource.ReplaceVars(d, config, "{{AccessContextManagerBasePath}}{{access_level}}")
354+
354355
if err != nil {
355356
return nil, err
356357
}

google/services/appengine/resource_app_engine_firewall_rule.go

+1
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ func resourceAppEngineFirewallRulePollRead(d *schema.ResourceData, meta interfac
185185
config := meta.(*transport_tpg.Config)
186186

187187
url, err := tpgresource.ReplaceVars(d, config, "{{AppEngineBasePath}}apps/{{project}}/firewall/ingressRules/{{priority}}")
188+
188189
if err != nil {
189190
return nil, err
190191
}

google/services/bigquery/resource_bigquery_job.go

+1
Original file line numberDiff line numberDiff line change
@@ -1093,6 +1093,7 @@ func resourceBigQueryJobPollRead(d *schema.ResourceData, meta interface{}) trans
10931093
config := meta.(*transport_tpg.Config)
10941094

10951095
url, err := tpgresource.ReplaceVars(d, config, "{{BigQueryBasePath}}projects/{{project}}/jobs/{{job_id}}?location={{location}}")
1096+
10961097
if err != nil {
10971098
return nil, err
10981099
}

google/services/cloudidentity/resource_cloud_identity_group.go

+1
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ func resourceCloudIdentityGroupPollRead(d *schema.ResourceData, meta interface{}
297297
config := meta.(*transport_tpg.Config)
298298

299299
url, err := tpgresource.ReplaceVars(d, config, "{{CloudIdentityBasePath}}{{name}}")
300+
300301
if err != nil {
301302
return nil, err
302303
}

google/services/cloudrun/resource_cloud_run_domain_mapping.go

+1
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ func resourceCloudRunDomainMappingPollRead(d *schema.ResourceData, meta interfac
394394
config := meta.(*transport_tpg.Config)
395395

396396
url, err := tpgresource.ReplaceVars(d, config, "{{CloudRunBasePath}}apis/domains.cloudrun.com/v1/namespaces/{{project}}/domainmappings/{{name}}")
397+
397398
if err != nil {
398399
return nil, err
399400
}

google/services/cloudrun/resource_cloud_run_service.go

+1
Original file line numberDiff line numberDiff line change
@@ -1252,6 +1252,7 @@ func resourceCloudRunServicePollRead(d *schema.ResourceData, meta interface{}) t
12521252
config := meta.(*transport_tpg.Config)
12531253

12541254
url, err := tpgresource.ReplaceVars(d, config, "{{CloudRunBasePath}}apis/serving.knative.dev/v1/namespaces/{{project}}/services/{{name}}")
1255+
12551256
if err != nil {
12561257
return nil, err
12571258
}

google/services/compute/resource_compute_forwarding_rule.go

+15-24
Original file line numberDiff line numberDiff line change
@@ -681,11 +681,10 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
681681
obj["region"] = regionProp
682682
}
683683

684-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules")
684+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules")
685685
if err != nil {
686686
return err
687687
}
688-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
689688

690689
log.Printf("[DEBUG] Creating new ForwardingRule: %#v", obj)
691690
billingProject := ""
@@ -715,15 +714,14 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
715714
}
716715

717716
// Store the ID now
718-
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
717+
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
719718
if err != nil {
720719
return fmt.Errorf("Error constructing id: %s", err)
721720
}
722-
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
723721
d.SetId(id)
724722

725723
err = ComputeOperationWaitTime(
726-
config, res, project, "Creating ForwardingRule", userAgent,
724+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Creating ForwardingRule", userAgent,
727725
d.Timeout(schema.TimeoutCreate))
728726

729727
if err != nil {
@@ -804,11 +802,10 @@ func resourceComputeForwardingRuleRead(d *schema.ResourceData, meta interface{})
804802
return err
805803
}
806804

807-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
805+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
808806
if err != nil {
809807
return err
810808
}
811-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
812809

813810
billingProject := ""
814811

@@ -968,11 +965,10 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
968965
obj["target"] = targetProp
969966
}
970967

971-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setTarget")
968+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setTarget")
972969
if err != nil {
973970
return err
974971
}
975-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
976972

977973
// err == nil indicates that the billing_project value was found
978974
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
@@ -995,7 +991,7 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
995991
}
996992

997993
err = ComputeOperationWaitTime(
998-
config, res, project, "Updating ForwardingRule", userAgent,
994+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating ForwardingRule", userAgent,
999995
d.Timeout(schema.TimeoutUpdate))
1000996
if err != nil {
1001997
return err
@@ -1011,11 +1007,10 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
10111007
obj["allowGlobalAccess"] = allowGlobalAccessProp
10121008
}
10131009

1014-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
1010+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
10151011
if err != nil {
10161012
return err
10171013
}
1018-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
10191014

10201015
// err == nil indicates that the billing_project value was found
10211016
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
@@ -1038,7 +1033,7 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
10381033
}
10391034

10401035
err = ComputeOperationWaitTime(
1041-
config, res, project, "Updating ForwardingRule", userAgent,
1036+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating ForwardingRule", userAgent,
10421037
d.Timeout(schema.TimeoutUpdate))
10431038
if err != nil {
10441039
return err
@@ -1060,11 +1055,10 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
10601055
obj["labels"] = labelsProp
10611056
}
10621057

1063-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setLabels")
1058+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setLabels")
10641059
if err != nil {
10651060
return err
10661061
}
1067-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
10681062

10691063
// err == nil indicates that the billing_project value was found
10701064
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
@@ -1087,7 +1081,7 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
10871081
}
10881082

10891083
err = ComputeOperationWaitTime(
1090-
config, res, project, "Updating ForwardingRule", userAgent,
1084+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating ForwardingRule", userAgent,
10911085
d.Timeout(schema.TimeoutUpdate))
10921086
if err != nil {
10931087
return err
@@ -1126,11 +1120,10 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
11261120
obj["allowPscGlobalAccess"] = allowPscGlobalAccessProp
11271121
}
11281122

1129-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
1123+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
11301124
if err != nil {
11311125
return err
11321126
}
1133-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
11341127

11351128
// err == nil indicates that the billing_project value was found
11361129
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
@@ -1153,7 +1146,7 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
11531146
}
11541147

11551148
err = ComputeOperationWaitTime(
1156-
config, res, project, "Updating ForwardingRule", userAgent,
1149+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating ForwardingRule", userAgent,
11571150
d.Timeout(schema.TimeoutUpdate))
11581151
if err != nil {
11591152
return err
@@ -1180,11 +1173,10 @@ func resourceComputeForwardingRuleDelete(d *schema.ResourceData, meta interface{
11801173
}
11811174
billingProject = strings.TrimPrefix(project, "projects/")
11821175

1183-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
1176+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
11841177
if err != nil {
11851178
return err
11861179
}
1187-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
11881180

11891181
var obj map[string]interface{}
11901182
log.Printf("[DEBUG] Deleting ForwardingRule %q", d.Id())
@@ -1208,7 +1200,7 @@ func resourceComputeForwardingRuleDelete(d *schema.ResourceData, meta interface{
12081200
}
12091201

12101202
err = ComputeOperationWaitTime(
1211-
config, res, project, "Deleting ForwardingRule", userAgent,
1203+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Deleting ForwardingRule", userAgent,
12121204
d.Timeout(schema.TimeoutDelete))
12131205

12141206
if err != nil {
@@ -1231,11 +1223,10 @@ func resourceComputeForwardingRuleImport(d *schema.ResourceData, meta interface{
12311223
}
12321224

12331225
// Replace import id for the resource id
1234-
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
1226+
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
12351227
if err != nil {
12361228
return nil, fmt.Errorf("Error constructing id: %s", err)
12371229
}
1238-
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
12391230
d.SetId(id)
12401231

12411232
// Explicitly set virtual fields to default values on import

google/services/compute/resource_compute_global_forwarding_rule.go

+11-18
Original file line numberDiff line numberDiff line change
@@ -516,11 +516,10 @@ func resourceComputeGlobalForwardingRuleCreate(d *schema.ResourceData, meta inte
516516
obj["labels"] = labelsProp
517517
}
518518

519-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules")
519+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules")
520520
if err != nil {
521521
return err
522522
}
523-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
524523

525524
log.Printf("[DEBUG] Creating new GlobalForwardingRule: %#v", obj)
526525
billingProject := ""
@@ -550,15 +549,14 @@ func resourceComputeGlobalForwardingRuleCreate(d *schema.ResourceData, meta inte
550549
}
551550

552551
// Store the ID now
553-
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
552+
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
554553
if err != nil {
555554
return fmt.Errorf("Error constructing id: %s", err)
556555
}
557-
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
558556
d.SetId(id)
559557

560558
err = ComputeOperationWaitTime(
561-
config, res, project, "Creating GlobalForwardingRule", userAgent,
559+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Creating GlobalForwardingRule", userAgent,
562560
d.Timeout(schema.TimeoutCreate))
563561

564562
if err != nil {
@@ -639,11 +637,10 @@ func resourceComputeGlobalForwardingRuleRead(d *schema.ResourceData, meta interf
639637
return err
640638
}
641639

642-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
640+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
643641
if err != nil {
644642
return err
645643
}
646-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
647644

648645
billingProject := ""
649646

@@ -773,11 +770,10 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
773770
obj["labels"] = labelsProp
774771
}
775772

776-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setLabels")
773+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setLabels")
777774
if err != nil {
778775
return err
779776
}
780-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
781777

782778
// err == nil indicates that the billing_project value was found
783779
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
@@ -800,7 +796,7 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
800796
}
801797

802798
err = ComputeOperationWaitTime(
803-
config, res, project, "Updating GlobalForwardingRule", userAgent,
799+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating GlobalForwardingRule", userAgent,
804800
d.Timeout(schema.TimeoutUpdate))
805801
if err != nil {
806802
return err
@@ -816,11 +812,10 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
816812
obj["target"] = targetProp
817813
}
818814

819-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setTarget")
815+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setTarget")
820816
if err != nil {
821817
return err
822818
}
823-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
824819

825820
// err == nil indicates that the billing_project value was found
826821
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
@@ -843,7 +838,7 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
843838
}
844839

845840
err = ComputeOperationWaitTime(
846-
config, res, project, "Updating GlobalForwardingRule", userAgent,
841+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating GlobalForwardingRule", userAgent,
847842
d.Timeout(schema.TimeoutUpdate))
848843
if err != nil {
849844
return err
@@ -870,11 +865,10 @@ func resourceComputeGlobalForwardingRuleDelete(d *schema.ResourceData, meta inte
870865
}
871866
billingProject = strings.TrimPrefix(project, "projects/")
872867

873-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
868+
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
874869
if err != nil {
875870
return err
876871
}
877-
url = strings.ReplaceAll(url, "projects/projects/", "projects/")
878872

879873
var obj map[string]interface{}
880874
log.Printf("[DEBUG] Deleting GlobalForwardingRule %q", d.Id())
@@ -898,7 +892,7 @@ func resourceComputeGlobalForwardingRuleDelete(d *schema.ResourceData, meta inte
898892
}
899893

900894
err = ComputeOperationWaitTime(
901-
config, res, project, "Deleting GlobalForwardingRule", userAgent,
895+
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Deleting GlobalForwardingRule", userAgent,
902896
d.Timeout(schema.TimeoutDelete))
903897

904898
if err != nil {
@@ -920,11 +914,10 @@ func resourceComputeGlobalForwardingRuleImport(d *schema.ResourceData, meta inte
920914
}
921915

922916
// Replace import id for the resource id
923-
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
917+
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
924918
if err != nil {
925919
return nil, fmt.Errorf("Error constructing id: %s", err)
926920
}
927-
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
928921
d.SetId(id)
929922

930923
return []*schema.ResourceData{d}, nil

0 commit comments

Comments
 (0)