Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't send update request if updatemask is empty for resources with terraform_labels field #16111

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/9154.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
provider: fixed the bug that update request is sent to services when updateMask is empty
```
Original file line number Diff line number Diff line change
Expand Up @@ -383,20 +383,24 @@ func resourceAccessApprovalFolderSettingsUpdate(d *schema.ResourceData, meta int
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating FolderSettings %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating FolderSettings %q: %#v", d.Id(), res)
}

if err != nil {
return fmt.Errorf("Error updating FolderSettings %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating FolderSettings %q: %#v", d.Id(), res)
}

return resourceAccessApprovalFolderSettingsRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,20 +343,24 @@ func resourceAccessApprovalOrganizationSettingsUpdate(d *schema.ResourceData, me
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating OrganizationSettings %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating OrganizationSettings %q: %#v", d.Id(), res)
}

if err != nil {
return fmt.Errorf("Error updating OrganizationSettings %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating OrganizationSettings %q: %#v", d.Id(), res)
}

return resourceAccessApprovalOrganizationSettingsRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -374,20 +374,24 @@ func resourceAccessApprovalProjectSettingsUpdate(d *schema.ResourceData, meta in
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating ProjectSettings %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating ProjectSettings %q: %#v", d.Id(), res)
}

if err != nil {
return fmt.Errorf("Error updating ProjectSettings %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating ProjectSettings %q: %#v", d.Id(), res)
}

return resourceAccessApprovalProjectSettingsRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -528,28 +528,31 @@ func resourceAccessContextManagerAccessLevelUpdate(d *schema.ResourceData, meta
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating AccessLevel %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating AccessLevel %q: %#v", d.Id(), res)
}
if err != nil {
return fmt.Errorf("Error updating AccessLevel %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating AccessLevel %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating AccessLevel", userAgent,
d.Timeout(schema.TimeoutUpdate))
err = AccessContextManagerOperationWaitTime(
config, res, "Updating AccessLevel", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
if err != nil {
return err
}
}

return resourceAccessContextManagerAccessLevelRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,28 +293,31 @@ func resourceAccessContextManagerAccessPolicyUpdate(d *schema.ResourceData, meta
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating AccessPolicy %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating AccessPolicy %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating AccessPolicy", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating AccessPolicy %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating AccessPolicy %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating AccessPolicy", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
}
}

return resourceAccessContextManagerAccessPolicyRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,28 +246,31 @@ func resourceAccessContextManagerGcpUserAccessBindingUpdate(d *schema.ResourceDa
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating GcpUserAccessBinding %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating GcpUserAccessBinding %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating GcpUserAccessBinding", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating GcpUserAccessBinding %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating GcpUserAccessBinding %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating GcpUserAccessBinding", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
}
}

return resourceAccessContextManagerGcpUserAccessBindingRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1099,28 +1099,31 @@ func resourceAccessContextManagerServicePerimeterUpdate(d *schema.ResourceData,
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PATCH",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating ServicePerimeter %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating ServicePerimeter %q: %#v", d.Id(), res)
}
if err != nil {
return fmt.Errorf("Error updating ServicePerimeter %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating ServicePerimeter %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating ServicePerimeter", userAgent,
d.Timeout(schema.TimeoutUpdate))
err = AccessContextManagerOperationWaitTime(
config, res, "Updating ServicePerimeter", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
if err != nil {
return err
}
}

return resourceAccessContextManagerServicePerimeterRead(d, meta)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,28 +390,31 @@ func resourceAccessContextManagerServicePerimeterEgressPolicyUpdate(d *schema.Re
billingProject = bp
}

res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PUT",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})
// if updateMask is empty we are not updating anything so skip the post
if len(updateMask) > 0 {
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
Config: config,
Method: "PUT",
Project: billingProject,
RawURL: url,
UserAgent: userAgent,
Body: obj,
Timeout: d.Timeout(schema.TimeoutUpdate),
})

if err != nil {
return fmt.Errorf("Error updating ServicePerimeterEgressPolicy %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating ServicePerimeterEgressPolicy %q: %#v", d.Id(), res)
}
if err != nil {
return fmt.Errorf("Error updating ServicePerimeterEgressPolicy %q: %s", d.Id(), err)
} else {
log.Printf("[DEBUG] Finished updating ServicePerimeterEgressPolicy %q: %#v", d.Id(), res)
}

err = AccessContextManagerOperationWaitTime(
config, res, "Updating ServicePerimeterEgressPolicy", userAgent,
d.Timeout(schema.TimeoutUpdate))
err = AccessContextManagerOperationWaitTime(
config, res, "Updating ServicePerimeterEgressPolicy", userAgent,
d.Timeout(schema.TimeoutUpdate))

if err != nil {
return err
if err != nil {
return err
}
}

return resourceAccessContextManagerServicePerimeterEgressPolicyRead(d, meta)
Expand Down
Loading