Skip to content

Commit

Permalink
Network fwp (#9345) (#6776)
Browse files Browse the repository at this point in the history
* 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]>
  • Loading branch information
modular-magician authored Dec 19, 2023
1 parent c789828 commit daeeb05
Show file tree
Hide file tree
Showing 30 changed files with 1,108 additions and 591 deletions.
3 changes: 3 additions & 0 deletions .changelog/9345.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:note
change from DCL to MMv1 for `google_network_firewall_policy` and `google_region_network_firewall_policy` (no note?)
```
2 changes: 0 additions & 2 deletions google-beta/provider/provider_dcl_resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ var dclResources = map[string]*schema.Resource{
"google_compute_firewall_policy": compute.ResourceComputeFirewallPolicy(),
"google_compute_firewall_policy_association": compute.ResourceComputeFirewallPolicyAssociation(),
"google_compute_firewall_policy_rule": compute.ResourceComputeFirewallPolicyRule(),
"google_compute_region_network_firewall_policy": compute.ResourceComputeRegionNetworkFirewallPolicy(),
"google_compute_network_firewall_policy": compute.ResourceComputeNetworkFirewallPolicy(),
"google_compute_network_firewall_policy_association": compute.ResourceComputeNetworkFirewallPolicyAssociation(),
"google_compute_region_network_firewall_policy_association": compute.ResourceComputeRegionNetworkFirewallPolicyAssociation(),
"google_compute_network_firewall_policy_rule": compute.ResourceComputeNetworkFirewallPolicyRule(),
Expand Down
6 changes: 4 additions & 2 deletions google-beta/provider/provider_mmv1_resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -417,9 +417,9 @@ var handwrittenIAMDatasources = map[string]*schema.Resource{
}

// Resources
// Generated resources: 407
// Generated resources: 409
// Generated IAM resources: 252
// Total generated resources: 659
// Total generated resources: 661
var generatedResources = map[string]*schema.Resource{
"google_folder_access_approval_settings": accessapproval.ResourceAccessApprovalFolderSettings(),
"google_organization_access_approval_settings": accessapproval.ResourceAccessApprovalOrganizationSettings(),
Expand Down Expand Up @@ -620,6 +620,7 @@ var generatedResources = map[string]*schema.Resource{
"google_compute_network_endpoint": compute.ResourceComputeNetworkEndpoint(),
"google_compute_network_endpoint_group": compute.ResourceComputeNetworkEndpointGroup(),
"google_compute_network_endpoints": compute.ResourceComputeNetworkEndpoints(),
"google_compute_network_firewall_policy": compute.ResourceComputeNetworkFirewallPolicy(),
"google_compute_network_peering_routes_config": compute.ResourceComputeNetworkPeeringRoutesConfig(),
"google_compute_node_group": compute.ResourceComputeNodeGroup(),
"google_compute_node_template": compute.ResourceComputeNodeTemplate(),
Expand All @@ -643,6 +644,7 @@ var generatedResources = map[string]*schema.Resource{
"google_compute_region_disk_resource_policy_attachment": compute.ResourceComputeRegionDiskResourcePolicyAttachment(),
"google_compute_region_health_check": compute.ResourceComputeRegionHealthCheck(),
"google_compute_region_network_endpoint_group": compute.ResourceComputeRegionNetworkEndpointGroup(),
"google_compute_region_network_firewall_policy": compute.ResourceComputeRegionNetworkFirewallPolicy(),
"google_compute_region_per_instance_config": compute.ResourceComputeRegionPerInstanceConfig(),
"google_compute_region_security_policy": compute.ResourceComputeRegionSecurityPolicy(),
"google_compute_region_security_policy_rule": compute.ResourceComputeRegionSecurityPolicyRule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ func resourceAccessContextManagerAccessLevelConditionPollRead(d *schema.Resource
config := meta.(*transport_tpg.Config)

url, err := tpgresource.ReplaceVars(d, config, "{{AccessContextManagerBasePath}}{{access_level}}")

if err != nil {
return nil, err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ func resourceAppEngineFirewallRulePollRead(d *schema.ResourceData, meta interfac
config := meta.(*transport_tpg.Config)

url, err := tpgresource.ReplaceVars(d, config, "{{AppEngineBasePath}}apps/{{project}}/firewall/ingressRules/{{priority}}")

if err != nil {
return nil, err
}
Expand Down
1 change: 1 addition & 0 deletions google-beta/services/bigquery/resource_bigquery_job.go
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,7 @@ func resourceBigQueryJobPollRead(d *schema.ResourceData, meta interface{}) trans
config := meta.(*transport_tpg.Config)

url, err := tpgresource.ReplaceVars(d, config, "{{BigQueryBasePath}}projects/{{project}}/jobs/{{job_id}}?location={{location}}")

if err != nil {
return nil, err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ func resourceCloudIdentityGroupPollRead(d *schema.ResourceData, meta interface{}
config := meta.(*transport_tpg.Config)

url, err := tpgresource.ReplaceVars(d, config, "{{CloudIdentityBasePath}}{{name}}")

if err != nil {
return nil, err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,7 @@ func resourceCloudRunDomainMappingPollRead(d *schema.ResourceData, meta interfac
config := meta.(*transport_tpg.Config)

url, err := tpgresource.ReplaceVars(d, config, "{{CloudRunBasePath}}apis/domains.cloudrun.com/v1/namespaces/{{project}}/domainmappings/{{name}}")

if err != nil {
return nil, err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1272,6 +1272,7 @@ func resourceCloudRunServicePollRead(d *schema.ResourceData, meta interface{}) t
config := meta.(*transport_tpg.Config)

url, err := tpgresource.ReplaceVars(d, config, "{{CloudRunBasePath}}apis/serving.knative.dev/v1/namespaces/{{project}}/services/{{name}}")

if err != nil {
return nil, err
}
Expand Down
39 changes: 15 additions & 24 deletions google-beta/services/compute/resource_compute_forwarding_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -681,11 +681,10 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
obj["region"] = regionProp
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

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

// Store the ID now
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
if err != nil {
return fmt.Errorf("Error constructing id: %s", err)
}
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
d.SetId(id)

err = ComputeOperationWaitTime(
config, res, project, "Creating ForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Creating ForwardingRule", userAgent,
d.Timeout(schema.TimeoutCreate))

if err != nil {
Expand Down Expand Up @@ -804,11 +802,10 @@ func resourceComputeForwardingRuleRead(d *schema.ResourceData, meta interface{})
return err
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

billingProject := ""

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

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setTarget")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setTarget")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

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

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

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

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

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

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setLabels")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setLabels")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

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

err = ComputeOperationWaitTime(
config, res, project, "Updating ForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating ForwardingRule", userAgent,
d.Timeout(schema.TimeoutUpdate))
if err != nil {
return err
Expand Down Expand Up @@ -1126,11 +1120,10 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
obj["allowPscGlobalAccess"] = allowPscGlobalAccessProp
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

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

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

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

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

err = ComputeOperationWaitTime(
config, res, project, "Deleting ForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Deleting ForwardingRule", userAgent,
d.Timeout(schema.TimeoutDelete))

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

// Replace import id for the resource id
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
if err != nil {
return nil, fmt.Errorf("Error constructing id: %s", err)
}
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
d.SetId(id)

// Explicitly set virtual fields to default values on import
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -528,11 +528,10 @@ func resourceComputeGlobalForwardingRuleCreate(d *schema.ResourceData, meta inte
obj["labels"] = labelsProp
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

log.Printf("[DEBUG] Creating new GlobalForwardingRule: %#v", obj)
billingProject := ""
Expand Down Expand Up @@ -562,15 +561,14 @@ func resourceComputeGlobalForwardingRuleCreate(d *schema.ResourceData, meta inte
}

// Store the ID now
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
if err != nil {
return fmt.Errorf("Error constructing id: %s", err)
}
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
d.SetId(id)

err = ComputeOperationWaitTime(
config, res, project, "Creating GlobalForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Creating GlobalForwardingRule", userAgent,
d.Timeout(schema.TimeoutCreate))

if err != nil {
Expand Down Expand Up @@ -651,11 +649,10 @@ func resourceComputeGlobalForwardingRuleRead(d *schema.ResourceData, meta interf
return err
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

billingProject := ""

Expand Down Expand Up @@ -788,11 +785,10 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
obj["labels"] = labelsProp
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setLabels")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setLabels")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

// err == nil indicates that the billing_project value was found
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
Expand All @@ -815,7 +811,7 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
}

err = ComputeOperationWaitTime(
config, res, project, "Updating GlobalForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating GlobalForwardingRule", userAgent,
d.Timeout(schema.TimeoutUpdate))
if err != nil {
return err
Expand All @@ -831,11 +827,10 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
obj["target"] = targetProp
}

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setTarget")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}/setTarget")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

// err == nil indicates that the billing_project value was found
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
Expand All @@ -858,7 +853,7 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
}

err = ComputeOperationWaitTime(
config, res, project, "Updating GlobalForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Updating GlobalForwardingRule", userAgent,
d.Timeout(schema.TimeoutUpdate))
if err != nil {
return err
Expand All @@ -885,11 +880,10 @@ func resourceComputeGlobalForwardingRuleDelete(d *schema.ResourceData, meta inte
}
billingProject = strings.TrimPrefix(project, "projects/")

url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
url, err := tpgresource.ReplaceVarsForId(d, config, "{{ComputeBasePath}}projects/{{project}}/global/forwardingRules/{{name}}")
if err != nil {
return err
}
url = strings.ReplaceAll(url, "projects/projects/", "projects/")

var obj map[string]interface{}
log.Printf("[DEBUG] Deleting GlobalForwardingRule %q", d.Id())
Expand All @@ -913,7 +907,7 @@ func resourceComputeGlobalForwardingRuleDelete(d *schema.ResourceData, meta inte
}

err = ComputeOperationWaitTime(
config, res, project, "Deleting GlobalForwardingRule", userAgent,
config, res, tpgresource.GetResourceNameFromSelfLink(project), "Deleting GlobalForwardingRule", userAgent,
d.Timeout(schema.TimeoutDelete))

if err != nil {
Expand All @@ -935,11 +929,10 @@ func resourceComputeGlobalForwardingRuleImport(d *schema.ResourceData, meta inte
}

// Replace import id for the resource id
id, err := tpgresource.ReplaceVars(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
id, err := tpgresource.ReplaceVarsForId(d, config, "projects/{{project}}/global/forwardingRules/{{name}}")
if err != nil {
return nil, fmt.Errorf("Error constructing id: %s", err)
}
id = strings.ReplaceAll(id, "projects/projects/", "projects/")
d.SetId(id)

return []*schema.ResourceData{d}, nil
Expand Down
Loading

0 comments on commit daeeb05

Please sign in to comment.