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

"TypedSDK": Fix the issue with the removedInNextMajorVersion tag causing data loss in Decode #23564

Merged
merged 1 commit into from
Oct 16, 2023

Conversation

wuxu92
Copy link
Contributor

@wuxu92 wuxu92 commented Oct 16, 2023

#23415 does not work with decode method of typed resources which makes many AccTests failed when the tag removedInNextMajorVersion added.

Failed Examples:
1.
image
2.
image

Passed in this PR:

--- PASS: TestAccSoftwareUpdateConfiguration_withTask (162.60s)
PASS

@wuxu92 wuxu92 changed the title TypedSDK: fix removedInNextMajorVersion tag cause decode issue lost data "TypedSDK": Fix the issue with the removedInNextMajorVersion tag causing data loss in Decode Oct 16, 2023
Copy link
Contributor

@tombuildsstuff tombuildsstuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - thanks for this @wuxu92

@@ -57,6 +58,7 @@ func decodeReflectedType(input interface{}, stateRetriever stateRetriever, debug
debugLogger.Infof("Field", field)

if val, exists := field.Tag.Lookup("tfschema"); exists {
val = strings.TrimSuffix(val, ",removedInNextMajorVersion")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine for now, but I think we want to add a parseStructTag method which returns a struct to ultimately solve this - however I'm going to do that in a separate PR since that also needs to be handled in the Set too.

@tombuildsstuff tombuildsstuff added this to the v3.77.0 milestone Oct 16, 2023
@tombuildsstuff tombuildsstuff merged commit 36c64da into hashicorp:main Oct 16, 2023
20 checks passed
tombuildsstuff added a commit that referenced this pull request Oct 16, 2023
@wuxu92 wuxu92 deleted the fix/removedInNextMajorVersion branch October 16, 2023 08:57
dduportal pushed a commit to jenkins-infra/azure that referenced this pull request Oct 20, 2023
<Actions>
<action
id="4a39167e811ac038e4a588362092472c27cfbe9e4929ae61d035f708a093a669">
        <h3>Bump Terraform `azurerm` provider version</h3>
<details
id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24">
            <summary>Update Terraform lock file</summary>
<p>&#34;hashicorp/azurerm&#34; updated from &#34;3.76.0&#34; to
&#34;3.77.0&#34; in file &#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.77.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.77.0&#xA;FEATURES:&#xA;&#xA;*
New Resources: `azurerm_application_load_balancer_frontend`
([#23411](https://github.com/hashicorp/terraform-provider-azurerm/issues/23411))&#xA;*
New Resources: `azurerm_dev_center`
([#23538](https://github.com/hashicorp/terraform-provider-azurerm/issues/23538))&#xA;*
New Resources: `azurerm_dev_center_project`
([#23538](https://github.com/hashicorp/terraform-provider-azurerm/issues/23538))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating to `v0.62.0` of
`github.com/hashicorp/go-azure-helpers`
([#23581](https://github.com/hashicorp/terraform-provider-azurerm/issues/23581))&#xA;*
dependencies: updating Kusto SDK from `2023-05-02` to `2023-08-15`
([#23598](https://github.com/hashicorp/terraform-provider-azurerm/issues/23598))&#xA;*
dependencies: updating nginx from `2022-08-01` to `2023-04-01`
([#23583](https://github.com/hashicorp/terraform-provider-azurerm/issues/23583))&#xA;*
`netapp`: updating to use API Version `2023-05-01`
([#23576](https://github.com/hashicorp/terraform-provider-azurerm/issues/23576))&#xA;*
`springcloud`: updating to use API Version `2023-09-01-preview`
([#23544](https://github.com/hashicorp/terraform-provider-azurerm/issues/23544))&#xA;*
`storage`: updating to use API Version `2023-01-01`
([#23543](https://github.com/hashicorp/terraform-provider-azurerm/issues/23543))&#xA;*
`internal/sdk`: fixing an issue where struct fields containing
`removedInNextMajorVersion` wouldn&#39;t be decoded correctly
([#23564](https://github.com/hashicorp/terraform-provider-azurerm/issues/23564))&#xA;*
`internal/sdk`: struct tag parsing is now handled consistently during
both encoding and decoding
([#23568](https://github.com/hashicorp/terraform-provider-azurerm/issues/23568))&#xA;*
provider: the `roll_instances_when_required` provider feature in the
`virtual_machine_scale_set` block is now optional
([#22976](https://github.com/hashicorp/terraform-provider-azurerm/issues/22976))&#xA;*
Data Source: `azurerm_automation_account`: refactoring the remaining
usage of `Azure/azure-sdk-for-go` to use `hashicorp/go-azure-sdk`
([#23555](https://github.com/hashicorp/terraform-provider-azurerm/issues/23555))&#xA;*
`azurerm_automation_account`: refactoring the remaining usage of
`Azure/azure-sdk-for-go` to use `hashicorp/go-azure-sdk`
([#23555](https://github.com/hashicorp/terraform-provider-azurerm/issues/23555))&#xA;*
`azurerm_resource_deployment_script_azure_cli` - improve validation for
the `version` property to support newer versions
([#23370](https://github.com/hashicorp/terraform-provider-azurerm/issues/23370))&#xA;*
`azurerm_resource_deployment_script_azure_power_shell` - improve
validation for the `version` property to support newer versions
([#23370](https://github.com/hashicorp/terraform-provider-azurerm/issues/23370))&#xA;*
`azurerm_nginx_deployment` - support for the `capacity` and `email`
properties
([#23596](https://github.com/hashicorp/terraform-provider-azurerm/issues/23596))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* Data Source: `azurerm_virtual_hub_connection` - export
the `inbound_route_map_id`, `outbound_route_map_id`, and
`static_vnet_local_route_override_criteria` attributes in the `routing`
block, and fix a bug where these attributes could not be set
([#23491](https://github.com/hashicorp/terraform-provider-azurerm/issues/23491))&#xA;*
`azurerm_cdn_frontdoor_rule` - the `url_filename_condition` properties
`match_values` is now optional if `operator` is set to `Any`
([#23541](https://github.com/hashicorp/terraform-provider-azurerm/issues/23541))&#xA;*
`azurerm_shared_image_gallery` - added the `Private` and `Groups`
options for the `sharing.permission` property
([#23570](https://github.com/hashicorp/terraform-provider-azurerm/issues/23570))&#xA;*
`azurerm_redis_cache` - fixed incorrect ssl values for
`redis_primary_connection_string` and `secondary_connection_string`
([#23575](https://github.com/hashicorp/terraform-provider-azurerm/issues/23575))&#xA;*
`azurerm_monitor_activity_log_alert` - the `recommend_category` property
now can be set to `HighAvailability`
([#23605](https://github.com/hashicorp/terraform-provider-azurerm/issues/23605))&#xA;*
`azurerm_recovery_services_vault` - the `encryption` property can now be
used with the `cross_region_restore_enabled` property
([#23618](https://github.com/hashicorp/terraform-provider-azurerm/issues/23618))&#xA;*
`azurerm_storage_account_customer_managed_key` - prevent a panic when
the keyvault id is empty
([#23599](https://github.com/hashicorp/terraform-provider-azurerm/issues/23599))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
    </action>
</Actions>

---

<table>
  <tr>
    <td width="77">
<img src="https://www.updatecli.io/images/updatecli.png" alt="Updatecli
logo" width="50" height="50">
    </td>
    <td>
      <p>
Created automatically by <a
href="https://www.updatecli.io/">Updatecli</a>
      </p>
      <details><summary>Options:</summary>
        <br />
<p>Most of Updatecli configuration is done via <a
href="https://www.updatecli.io/docs/prologue/quick-start/">its
manifest(s)</a>.</p>
        <ul>
<li>If you close this pull request, Updatecli will automatically reopen
it, the next time it runs.</li>
<li>If you close this pull request and delete the base branch, Updatecli
will automatically recreate it, erasing all previous commits made.</li>
        </ul>
        <p>
Feel free to report any issues at <a
href="https://github.com/updatecli/updatecli/issues">github.com/updatecli/updatecli</a>.<br
/>
If you find this tool useful, do not hesitate to star <a
href="https://github.com/updatecli/updatecli/stargazers">our GitHub
repository</a> as a sign of appreciation, and/or to tell us directly on
our <a
href="https://matrix.to/#/#Updatecli_community:gitter.im">chat</a>!
        </p>
      </details>
    </td>
  </tr>
</table>

Co-authored-by: Jenkins Infra Bot (updatecli) <60776566+jenkins-infra-bot@users.noreply.github.com>
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants