diff --git a/docs/content/contribute/review-pr.md b/docs/content/contribute/review-pr.md index b4508b814efe..cf6fc3a47d9d 100644 --- a/docs/content/contribute/review-pr.md +++ b/docs/content/contribute/review-pr.md @@ -44,6 +44,6 @@ This page provides guidelines for reviewing a Magic Modules pull request (PR). {{< /hint >}} 1. a significant number of preexisting tests have not been modified. Changing old tests often indicates a change is backwards incompatible. 1. Check documentation to ensure - 1. resouce-level and field-level documentation are generated correctly for MMv1-based resource + 1. resource-level and field-level documentation are generated correctly for MMv1-based resource 1. documentation is added manually for handwritten resources. 1. Check if release notes capture all changes in the PR, and are correctly formatted following the guidance in [write release notes]({{< ref "release-notes" >}}) before merging the PR. diff --git a/docs/content/reference/make-commands.md b/docs/content/reference/make-commands.md index 4da3c758ac31..cc35715feb8a 100644 --- a/docs/content/reference/make-commands.md +++ b/docs/content/reference/make-commands.md @@ -34,7 +34,7 @@ make provider VERSION=ga OUTPUT_PATH="$GOPATH/src/github.com/hashicorp/terraform - `OUTPUT_PATH`: Required. The location you are generating provider code into. - `VERSION`: Required. The version of the provider you are building into. Valid values are `ga` and `beta`. -- `PRODUCT`: Limits generations to the specified folder within `mmv1/products` or `tpgtools/api`. Handwritten files from `mmv1/third_party/terraform` are always generated into the downstream regardless of this setting, so you can provide a non-existant product name to generate only handwritten code. Required if `RESOURCE` is specified. +- `PRODUCT`: Limits generations to the specified folder within `mmv1/products` or `tpgtools/api`. Handwritten files from `mmv1/third_party/terraform` are always generated into the downstream regardless of this setting, so you can provide a non-existent product name to generate only handwritten code. Required if `RESOURCE` is specified. - `RESOURCE`: Limits generation to the specified resource within a particular product. For `mmv1` resources, matches the resource's `name` field (set in its configuration file).For `tpgtools` resources, matches the terraform resource name. - `ENGINE`: Modifies `make provider` to only generate code using the specified engine. Valid values are `mmv1` or `tpgtools`. (Providing `tpgtools` will still generate any prerequisite mmv1 files required for tpgtools.) diff --git a/mmv1/products/accesscontextmanager/ServicePerimeter.yaml b/mmv1/products/accesscontextmanager/ServicePerimeter.yaml index 16ac87ff6828..c20c54480c07 100644 --- a/mmv1/products/accesscontextmanager/ServicePerimeter.yaml +++ b/mmv1/products/accesscontextmanager/ServicePerimeter.yaml @@ -258,7 +258,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'identities' type: Array description: | @@ -381,7 +381,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'sources' type: Array description: 'Sources that this EgressPolicy authorizes access from.' @@ -572,7 +572,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'identities' type: Array description: | @@ -690,7 +690,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'sources' type: Array description: 'Sources that this EgressPolicy authorizes access from.' diff --git a/mmv1/products/accesscontextmanager/ServicePerimeterDryRunEgressPolicy.yaml b/mmv1/products/accesscontextmanager/ServicePerimeterDryRunEgressPolicy.yaml index 65b386351ed7..f72b383ef11b 100644 --- a/mmv1/products/accesscontextmanager/ServicePerimeterDryRunEgressPolicy.yaml +++ b/mmv1/products/accesscontextmanager/ServicePerimeterDryRunEgressPolicy.yaml @@ -111,7 +111,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'identities' type: Array description: | @@ -152,7 +152,7 @@ properties: then this `EgressTo` rule will authorize access to all resources outside the perimeter. custom_flatten: templates/terraform/custom_flatten/accesscontextmanager_egress_policy_resources_custom_flatten.go.tmpl - diff_suppress_func: AccessContextManagerServicePerimeterDryRunEgressPolicyEgressToResourcesDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterDryRunEgressPolicyEgressToResourcesDiffSuppressFunc item_type: type: String - name: 'externalResources' diff --git a/mmv1/products/accesscontextmanager/ServicePerimeterDryRunIngressPolicy.yaml b/mmv1/products/accesscontextmanager/ServicePerimeterDryRunIngressPolicy.yaml index a090a4a7d8e9..257c9b456ece 100644 --- a/mmv1/products/accesscontextmanager/ServicePerimeterDryRunIngressPolicy.yaml +++ b/mmv1/products/accesscontextmanager/ServicePerimeterDryRunIngressPolicy.yaml @@ -113,7 +113,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'identities' type: Array description: | @@ -169,7 +169,7 @@ properties: resources inside the perimeter, provided that the request also matches the `operations` field. custom_flatten: templates/terraform/custom_flatten/accesscontextmanager_ingress_policy_resources_custom_flatten.go.tmpl - diff_suppress_func: AccessContextManagerServicePerimeterDryRunIngressPolicyIngressToResourcesDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterDryRunIngressPolicyIngressToResourcesDiffSuppressFunc item_type: type: String - name: 'operations' diff --git a/mmv1/products/accesscontextmanager/ServicePerimeterEgressPolicy.yaml b/mmv1/products/accesscontextmanager/ServicePerimeterEgressPolicy.yaml index 0066f828e4dc..70cfdbee5ef2 100644 --- a/mmv1/products/accesscontextmanager/ServicePerimeterEgressPolicy.yaml +++ b/mmv1/products/accesscontextmanager/ServicePerimeterEgressPolicy.yaml @@ -108,7 +108,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'identities' type: Array description: | @@ -150,7 +150,7 @@ properties: then this `EgressTo` rule will authorize access to all resources outside the perimeter. custom_flatten: templates/terraform/custom_flatten/accesscontextmanager_egress_policy_resources_custom_flatten.go.tmpl - diff_suppress_func: AccessContextManagerServicePerimeterEgressPolicyEgressToResourcesDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterEgressPolicyEgressToResourcesDiffSuppressFunc item_type: type: String - name: 'externalResources' diff --git a/mmv1/products/accesscontextmanager/ServicePerimeterIngressPolicy.yaml b/mmv1/products/accesscontextmanager/ServicePerimeterIngressPolicy.yaml index 0bb7df47fb68..bf1a056086ef 100644 --- a/mmv1/products/accesscontextmanager/ServicePerimeterIngressPolicy.yaml +++ b/mmv1/products/accesscontextmanager/ServicePerimeterIngressPolicy.yaml @@ -110,7 +110,7 @@ properties: - 'ANY_IDENTITY' - 'ANY_USER_ACCOUNT' - 'ANY_SERVICE_ACCOUNT' - diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc - name: 'identities' type: Array description: | @@ -169,7 +169,7 @@ properties: resources inside the perimeter, provided that the request also matches the `operations` field. custom_flatten: templates/terraform/custom_flatten/accesscontextmanager_ingress_policy_resources_custom_flatten.go.tmpl - diff_suppress_func: AccessContextManagerServicePerimeterIngressPolicyIngressToResourcesDiffSupressFunc + diff_suppress_func: AccessContextManagerServicePerimeterIngressPolicyIngressToResourcesDiffSuppressFunc item_type: type: String - name: 'operations' diff --git a/mmv1/products/apigee/AppGroup.yaml b/mmv1/products/apigee/AppGroup.yaml index afaf6cee14c1..ae0f14f69a6a 100644 --- a/mmv1/products/apigee/AppGroup.yaml +++ b/mmv1/products/apigee/AppGroup.yaml @@ -79,7 +79,7 @@ properties: - name: "channelId" type: String description: | - Channel identifier identifies the owner maintaing this grouping. + Channel identifier identifies the owner maintaining this grouping. - name: "displayName" type: String description: | diff --git a/mmv1/products/billingbudget/Budget.yaml b/mmv1/products/billingbudget/Budget.yaml index 54551074a0f0..133de3842ffd 100644 --- a/mmv1/products/billingbudget/Budget.yaml +++ b/mmv1/products/billingbudget/Budget.yaml @@ -213,7 +213,7 @@ properties: this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values. If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty. - **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config. + **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config. default_from_api: true at_least_one_of: - 'budget_filter.0.projects' @@ -236,7 +236,7 @@ properties: If the field is omitted, the report will include usage from the parent account and all subaccounts, if they exist. - **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config. + **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config. default_from_api: true at_least_one_of: - 'budget_filter.0.projects' diff --git a/mmv1/products/cloudfunctions2/Function.yaml b/mmv1/products/cloudfunctions2/Function.yaml index bc32e810632d..9db72d28c992 100644 --- a/mmv1/products/cloudfunctions2/Function.yaml +++ b/mmv1/products/cloudfunctions2/Function.yaml @@ -593,7 +593,7 @@ properties: - name: 'projectId' type: String description: | - Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. + Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. required: true - name: 'secret' type: String @@ -619,7 +619,7 @@ properties: - name: 'projectId' type: String description: | - Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. + Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. required: true - name: 'secret' type: String diff --git a/mmv1/products/cloudrunv2/Job.yaml b/mmv1/products/cloudrunv2/Job.yaml index 0d21b6eb5956..eb6a6046f748 100644 --- a/mmv1/products/cloudrunv2/Job.yaml +++ b/mmv1/products/cloudrunv2/Job.yaml @@ -198,7 +198,7 @@ properties: - name: 'expireTime' type: Time description: |- - For a deleted resource, the time after which it will be permamently deleted. + For a deleted resource, the time after which it will be permanently deleted. output: true - name: 'creator' type: String diff --git a/mmv1/products/cloudrunv2/Service.yaml b/mmv1/products/cloudrunv2/Service.yaml index 38b8dc966d88..776e4d9d5d91 100644 --- a/mmv1/products/cloudrunv2/Service.yaml +++ b/mmv1/products/cloudrunv2/Service.yaml @@ -245,7 +245,7 @@ properties: - name: 'expireTime' type: Time description: |- - For a deleted resource, the time after which it will be permamently deleted. + For a deleted resource, the time after which it will be permanently deleted. output: true - name: 'creator' type: String diff --git a/mmv1/products/compute/Disk.yaml b/mmv1/products/compute/Disk.yaml index babcd74f2168..971e0d54878e 100644 --- a/mmv1/products/compute/Disk.yaml +++ b/mmv1/products/compute/Disk.yaml @@ -72,7 +72,7 @@ custom_code: pre_delete: 'templates/terraform/pre_delete/detach_disk.tmpl' custom_diff: - 'customdiff.ForceNewIfChange("size", IsDiskShrinkage)' - - 'hyperDiskIopsUpdateDiffSupress' + - 'hyperDiskIopsUpdateDiffSuppress' examples: - name: 'disk_basic' primary_resource_id: 'default' @@ -366,7 +366,7 @@ properties: * projects/{project}/regions/{region}/disks/{disk} * zones/{zone}/disks/{disk} * regions/{region}/disks/{disk} - diff_suppress_func: 'sourceDiskDiffSupress' + diff_suppress_func: 'sourceDiskDiffSuppress' - name: 'sourceDiskId' type: String description: | diff --git a/mmv1/products/compute/RegionDisk.yaml b/mmv1/products/compute/RegionDisk.yaml index f0da84c2dacd..8ced5b934aa5 100644 --- a/mmv1/products/compute/RegionDisk.yaml +++ b/mmv1/products/compute/RegionDisk.yaml @@ -70,7 +70,7 @@ custom_code: pre_delete: 'templates/terraform/pre_delete/detach_disk.tmpl' custom_diff: - 'customdiff.ForceNewIfChange("size", IsDiskShrinkage)' - - 'hyperDiskIopsUpdateDiffSupress' + - 'hyperDiskIopsUpdateDiffSuppress' examples: - name: 'region_disk_basic' primary_resource_id: 'regiondisk' @@ -313,7 +313,7 @@ properties: * projects/{project}/regions/{region}/disks/{disk} * zones/{zone}/disks/{disk} * regions/{region}/disks/{disk} - diff_suppress_func: 'sourceDiskDiffSupress' + diff_suppress_func: 'sourceDiskDiffSuppress' - name: 'sourceDiskId' type: String description: | diff --git a/mmv1/products/dialogflowcx/Flow.yaml b/mmv1/products/dialogflowcx/Flow.yaml index c08b57be66bf..05d7643c9c54 100644 --- a/mmv1/products/dialogflowcx/Flow.yaml +++ b/mmv1/products/dialogflowcx/Flow.yaml @@ -587,7 +587,7 @@ properties: - name: 'useTimeoutBasedEndpointing' type: Boolean description: | - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value. + Use timeout based endpointing, interpreting endpointer sensitivity as seconds of timeout value. - name: 'models' type: KeyValuePairs description: | diff --git a/mmv1/products/gkehub2/Feature.yaml b/mmv1/products/gkehub2/Feature.yaml index de7207174310..d036352188ac 100644 --- a/mmv1/products/gkehub2/Feature.yaml +++ b/mmv1/products/gkehub2/Feature.yaml @@ -484,7 +484,7 @@ properties: type: Enum description: 'Configures the manner in which the template library is installed on the cluster.' enum_values: - - 'INSTALATION_UNSPECIFIED' + - 'INSTALLATION_UNSPECIFIED' - 'NOT_INSTALLED' - 'ALL' - name: 'bundles' diff --git a/mmv1/products/integrationconnectors/Connection.yaml b/mmv1/products/integrationconnectors/Connection.yaml index 63364032410a..fade018440a4 100644 --- a/mmv1/products/integrationconnectors/Connection.yaml +++ b/mmv1/products/integrationconnectors/Connection.yaml @@ -215,12 +215,12 @@ properties: - name: 'encryptionKeyValue' type: NestedObject description: | - Encription key value of configVariable. + Encryption key value of configVariable. properties: - name: 'type' type: Enum description: | - Type of Encription Key + Type of Encryption Key required: true enum_values: - 'GOOGLE_MANAGED' @@ -287,12 +287,12 @@ properties: - name: 'encryptionKeyValue' type: NestedObject description: | - Encription key value of configVariable. + Encryption key value of configVariable. properties: - name: 'type' type: Enum description: | - Type of Encription Key + Type of Encryption Key required: true enum_values: - 'GOOGLE_MANAGED' @@ -691,12 +691,12 @@ properties: - name: 'encryptionKeyValue' type: NestedObject description: | - Encription key value of configVariable + Encryption key value of configVariable properties: - name: 'type' type: Enum description: | - Type of Encription Key + Type of Encryption Key enum_values: - 'GOOGLE_MANAGED' - 'CUSTOMER_MANAGED' @@ -810,12 +810,12 @@ properties: - name: 'encryptionKeyValue' type: NestedObject description: | - Encription key value of configVariable + Encryption key value of configVariable properties: - name: 'type' type: Enum description: | - Type of Encription Key + Type of Encryption Key enum_values: - 'GOOGLE_MANAGED' - 'CUSTOMER_MANAGED' @@ -890,7 +890,7 @@ properties: - name: 'encryptionKeyValue' type: NestedObject description: | - Encription key value of configVariable. + Encryption key value of configVariable. properties: - name: 'type' type: Enum diff --git a/mmv1/products/netapp/ActiveDirectory.yaml b/mmv1/products/netapp/ActiveDirectory.yaml index 6db6cd7d5ec4..e1645256b002 100644 --- a/mmv1/products/netapp/ActiveDirectory.yaml +++ b/mmv1/products/netapp/ActiveDirectory.yaml @@ -149,7 +149,7 @@ properties: - name: 'kdcHostname' type: String description: | - Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1 + Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only required for volumes using kerberized NFSv4.1 required: false - name: 'kdcIp' type: String diff --git a/mmv1/products/netapp/Volume.yaml b/mmv1/products/netapp/Volume.yaml index 8a7a1bf1dc60..f47a34d81ebe 100644 --- a/mmv1/products/netapp/Volume.yaml +++ b/mmv1/products/netapp/Volume.yaml @@ -113,7 +113,7 @@ properties: - name: 'storagePool' type: String description: | - Name of the storage pool to create the volume in. Pool needs enough spare capacity to accomodate the volume. + Name of the storage pool to create the volume in. Pool needs enough spare capacity to accommodate the volume. required: true - name: 'network' type: String @@ -123,7 +123,7 @@ properties: - name: 'serviceLevel' type: String description: | - Service level of the volume. Inherited from storage pool. Supported values are : PREMIUM, EXTERME, STANDARD, FLEX. + Service level of the volume. Inherited from storage pool. Supported values are : PREMIUM, EXTREME, STANDARD, FLEX. output: true - name: 'capacityGib' type: String @@ -146,7 +146,7 @@ properties: - name: 'allowedClients' type: String description: |- - Defines the client ingress specification (allowed clients) as a comma seperated list with IPv4 CIDRs or IPv4 host addresses. + Defines the client ingress specification (allowed clients) as a comma separated list with IPv4 CIDRs or IPv4 host addresses. - name: 'hasRootAccess' type: String description: |- diff --git a/mmv1/products/privateca/Certificate.yaml b/mmv1/products/privateca/Certificate.yaml index 3f3bc0331225..47a64dda8fdd 100644 --- a/mmv1/products/privateca/Certificate.yaml +++ b/mmv1/products/privateca/Certificate.yaml @@ -1111,7 +1111,7 @@ properties: properties: - name: 'keyId' type: String - description: The value of the KeyId in lowercase hexidecimal. + description: The value of the KeyId in lowercase hexadecimal. immutable: true - name: 'publicKey' type: NestedObject diff --git a/mmv1/products/privateca/CertificateAuthority.yaml b/mmv1/products/privateca/CertificateAuthority.yaml index 138790090552..dba2a9cfb0cd 100644 --- a/mmv1/products/privateca/CertificateAuthority.yaml +++ b/mmv1/products/privateca/CertificateAuthority.yaml @@ -225,7 +225,7 @@ properties: properties: - name: 'keyId' type: String - description: The value of the KeyId in lowercase hexidecimal. + description: The value of the KeyId in lowercase hexadecimal. immutable: true - name: 'x509Config' type: NestedObject diff --git a/mmv1/products/redis/Cluster.yaml b/mmv1/products/redis/Cluster.yaml index 6888932eca07..9a841e1ee0cf 100644 --- a/mmv1/products/redis/Cluster.yaml +++ b/mmv1/products/redis/Cluster.yaml @@ -462,7 +462,7 @@ properties: description: | Optional. Available fsync modes. - - NO - Do not explicilty call fsync(). Rely on OS defaults. + - NO - Do not explicitly call fsync(). Rely on OS defaults. - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability. - ALWAYS - Call fsync() for earch write command. enum_values: diff --git a/mmv1/products/vertexai/IndexEndpointDeployedIndex.yaml b/mmv1/products/vertexai/IndexEndpointDeployedIndex.yaml index 719d6ed862e7..0ee698f78127 100644 --- a/mmv1/products/vertexai/IndexEndpointDeployedIndex.yaml +++ b/mmv1/products/vertexai/IndexEndpointDeployedIndex.yaml @@ -187,7 +187,7 @@ properties: description: | A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. - # Note: Having the fields within automaticResouces not being marked as immutable was done in order to support the ability to update such fields. See : https://github.com/GoogleCloudPlatform/magic-modules/pull/11039#issuecomment-2209316648 + # Note: Having the fields within automaticResources not being marked as immutable was done in order to support the ability to update such fields. See : https://github.com/GoogleCloudPlatform/magic-modules/pull/11039#issuecomment-2209316648 default_from_api: true properties: - name: 'minReplicaCount' diff --git a/mmv1/templates/terraform/constants/access_context_manager.go.tmpl b/mmv1/templates/terraform/constants/access_context_manager.go.tmpl index 6d999edf1ebb..bbde0e0968e7 100644 --- a/mmv1/templates/terraform/constants/access_context_manager.go.tmpl +++ b/mmv1/templates/terraform/constants/access_context_manager.go.tmpl @@ -1,4 +1,4 @@ -func {{$.ResourceName}}EgressToResourcesDiffSupressFunc(_, _, _ string, d *schema.ResourceData) bool { +func {{$.ResourceName}}EgressToResourcesDiffSuppressFunc(_, _, _ string, d *schema.ResourceData) bool { old, new := d.GetChange("egress_to.0.resources") oldResources, err := tpgresource.InterfaceSliceToStringSlice(old) @@ -19,7 +19,7 @@ func {{$.ResourceName}}EgressToResourcesDiffSupressFunc(_, _, _ string, d *schem return slices.Equal(oldResources, newResources) } -func {{$.ResourceName}}IngressToResourcesDiffSupressFunc(_, _, _ string, d *schema.ResourceData) bool { +func {{$.ResourceName}}IngressToResourcesDiffSuppressFunc(_, _, _ string, d *schema.ResourceData) bool { old, new := d.GetChange("ingress_to.0.resources") oldResources, err := tpgresource.InterfaceSliceToStringSlice(old) @@ -40,7 +40,7 @@ func {{$.ResourceName}}IngressToResourcesDiffSupressFunc(_, _, _ string, d *sche return slices.Equal(oldResources, newResources) } -func {{$.ResourceName}}IdentityTypeDiffSupressFunc(_, old, new string, _ *schema.ResourceData) bool { +func {{$.ResourceName}}IdentityTypeDiffSuppressFunc(_, old, new string, _ *schema.ResourceData) bool { if old == "" && new == "IDENTITY_TYPE_UNSPECIFIED" { return true } diff --git a/mmv1/templates/terraform/constants/apigee_instance.go.tmpl b/mmv1/templates/terraform/constants/apigee_instance.go.tmpl index c092cf26daed..b87160ab731c 100644 --- a/mmv1/templates/terraform/constants/apigee_instance.go.tmpl +++ b/mmv1/templates/terraform/constants/apigee_instance.go.tmpl @@ -1,4 +1,4 @@ -// Supress diffs when the lists of project have the same number of entries to handle the case that +// Suppress diffs when the lists of project have the same number of entries to handle the case that // API does not return what the user originally provided. Instead, API does some transformation. // For example, user provides a list of project number, but API returns a list of project Id. func projectListDiffSuppress(_, _, _ string, d *schema.ResourceData) bool { @@ -21,4 +21,4 @@ func ProjectListDiffSuppressFunc(d tpgresource.TerraformResourceDataChange) bool log.Printf("[DEBUG] - suppressing diff with oldInt %d, newInt %d", oldInt, newInt) return oldInt == newInt -} \ No newline at end of file +} diff --git a/mmv1/templates/terraform/constants/disk.tmpl b/mmv1/templates/terraform/constants/disk.tmpl index d9583d03a3f1..e73ff28c98bb 100644 --- a/mmv1/templates/terraform/constants/disk.tmpl +++ b/mmv1/templates/terraform/constants/disk.tmpl @@ -1,7 +1,7 @@ {{- if ne $.Compiler "terraformgoogleconversion-codegen" }} -// diffsupress for hyperdisk provisioned_iops -func hyperDiskIopsUpdateDiffSupress(_ context.Context, d *schema.ResourceDiff, meta interface{}) error { +// diffsuppress for hyperdisk provisioned_iops +func hyperDiskIopsUpdateDiffSuppress(_ context.Context, d *schema.ResourceDiff, meta interface{}) error { if !strings.Contains(d.Get("type").(string), "hyperdisk") { resourceSchema := ResourceComputeDisk().Schema for field := range resourceSchema { @@ -24,8 +24,8 @@ func AlwaysDiffSuppress(_, _, _ string, _ *schema.ResourceData) bool { } {{- end }} -// diffsupress for beta and to check change in source_disk attribute -func sourceDiskDiffSupress(_, old, new string, _ *schema.ResourceData) bool { +// diffsuppress for beta and to check change in source_disk attribute +func sourceDiskDiffSuppress(_, old, new string, _ *schema.ResourceData) bool { s1 := strings.TrimPrefix(old, "https://www.googleapis.com/compute/beta") s2 := strings.TrimPrefix(new, "https://www.googleapis.com/compute/v1") if strings.HasSuffix(s1, s2) { diff --git a/mmv1/templates/terraform/custom_check_destroy/firestore_field.go.tmpl b/mmv1/templates/terraform/custom_check_destroy/firestore_field.go.tmpl index e42823418c84..b2eb939c523c 100644 --- a/mmv1/templates/terraform/custom_check_destroy/firestore_field.go.tmpl +++ b/mmv1/templates/terraform/custom_check_destroy/firestore_field.go.tmpl @@ -18,7 +18,7 @@ res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{ if err != nil { e := err.(*googleapi.Error) if e.Code == 403 && strings.Contains(e.Message, "Cloud Firestore API has not been used in project") { - // The acceptance test has provisioned the resources under test in a new project, and the destory check is seeing the + // The acceptance test has provisioned the resources under test in a new project, and the destroy check is seeing the // effects of the project not existing. This means the service isn't enabled, and that the resource is definitely destroyed. // We do not return the error in this case - destroy was successful return nil diff --git a/mmv1/templates/terraform/decoders/compute_region_target_https_proxy.go.tmpl b/mmv1/templates/terraform/decoders/compute_region_target_https_proxy.go.tmpl index 0a72fe1c476a..2bd75559bae0 100644 --- a/mmv1/templates/terraform/decoders/compute_region_target_https_proxy.go.tmpl +++ b/mmv1/templates/terraform/decoders/compute_region_target_https_proxy.go.tmpl @@ -6,10 +6,10 @@ if sslCertificates, ok := res["sslCertificates"].([]interface{}); ok && len(sslC regPat, _ := regexp.Compile("//certificatemanager.googleapis.com/projects/(.*)/locations/(.*)/certificates/(.*)") if regPat.MatchString(sslCertificates[0].(string)) { - // It is enough to check only the type of one of the provided certificates beacuse all the certificates should be the same type. + // It is enough to check only the type of one of the provided certificates because all the certificates should be the same type. log.Printf("[DEBUG] The field sslCertificates contains certificateManagerCertificates, the field name will be converted to certificateManagerCertificates") res["certificateManagerCertificates"] = res["sslCertificates"] delete(res, "sslCertificates") } } -return res, nil \ No newline at end of file +return res, nil diff --git a/mmv1/templates/terraform/decoders/compute_target_https_proxy.go.tmpl b/mmv1/templates/terraform/decoders/compute_target_https_proxy.go.tmpl index 0a72fe1c476a..2bd75559bae0 100644 --- a/mmv1/templates/terraform/decoders/compute_target_https_proxy.go.tmpl +++ b/mmv1/templates/terraform/decoders/compute_target_https_proxy.go.tmpl @@ -6,10 +6,10 @@ if sslCertificates, ok := res["sslCertificates"].([]interface{}); ok && len(sslC regPat, _ := regexp.Compile("//certificatemanager.googleapis.com/projects/(.*)/locations/(.*)/certificates/(.*)") if regPat.MatchString(sslCertificates[0].(string)) { - // It is enough to check only the type of one of the provided certificates beacuse all the certificates should be the same type. + // It is enough to check only the type of one of the provided certificates because all the certificates should be the same type. log.Printf("[DEBUG] The field sslCertificates contains certificateManagerCertificates, the field name will be converted to certificateManagerCertificates") res["certificateManagerCertificates"] = res["sslCertificates"] delete(res, "sslCertificates") } } -return res, nil \ No newline at end of file +return res, nil diff --git a/mmv1/templates/terraform/decoders/private_cloud.go.tmpl b/mmv1/templates/terraform/decoders/private_cloud.go.tmpl index 99bb7f71b831..8d0c83573c92 100644 --- a/mmv1/templates/terraform/decoders/private_cloud.go.tmpl +++ b/mmv1/templates/terraform/decoders/private_cloud.go.tmpl @@ -41,7 +41,7 @@ if err != nil { return nil, fmt.Errorf("Error reading management cluster of PrivateCloud: %s", err) } -// There can only be 1 management cluster and if the PC read is successfuly and +// There can only be 1 management cluster and if the PC read is successfully and // we got response from cluster API then it should be present. mgmtClusterObj := clusterResponse["clusters"].([]interface{})[0].(map[string]interface{}) clusterName := mgmtClusterObj["name"].(string) @@ -51,4 +51,4 @@ mgmtClusterObj["clusterId"] = clusterName[strings.LastIndex(clusterName, "/")+1: res["managementCluster"] = mgmtClusterObj -return res, nil \ No newline at end of file +return res, nil diff --git a/mmv1/templates/terraform/iam/iam_attributes.go.tmpl b/mmv1/templates/terraform/iam/iam_attributes.go.tmpl index 0be3e707e4dd..63f48a3da056 100644 --- a/mmv1/templates/terraform/iam/iam_attributes.go.tmpl +++ b/mmv1/templates/terraform/iam/iam_attributes.go.tmpl @@ -1,5 +1,5 @@ {{- $primaryResourceId := $.ExamplePrimaryResourceId }} {{- $ids := $.IamSelfLinkIdentifiers }} -{{- range $i, $attribue := $.IamAttributes}} - {{ $attribue }} = {{ $.IamParentSourceType }}.{{ $primaryResourceId }}.{{ underscore (index $ids $i)}} -{{- end }} \ No newline at end of file +{{- range $i, $attribute := $.IamAttributes}} + {{ $attribute }} = {{ $.IamParentSourceType }}.{{ $primaryResourceId }}.{{ underscore (index $ids $i)}} +{{- end }} diff --git a/mmv1/templates/terraform/post_create/private_cloud.go.tmpl b/mmv1/templates/terraform/post_create/private_cloud.go.tmpl index 9e3058b9fd80..c0c6421900b2 100644 --- a/mmv1/templates/terraform/post_create/private_cloud.go.tmpl +++ b/mmv1/templates/terraform/post_create/private_cloud.go.tmpl @@ -45,10 +45,10 @@ if len(clusterUpdateMask) > 0 { } err = VmwareengineOperationWaitTime( - config, res, project, "Updating Managment Cluster", userAgent, + config, res, project, "Updating Management Cluster", userAgent, d.Timeout(schema.TimeoutUpdate)) if err != nil { return err } -} \ No newline at end of file +} diff --git a/mmv1/templates/terraform/post_update/private_cloud.go.tmpl b/mmv1/templates/terraform/post_update/private_cloud.go.tmpl index 1aa16811314a..8b4ee48a556d 100644 --- a/mmv1/templates/terraform/post_update/private_cloud.go.tmpl +++ b/mmv1/templates/terraform/post_update/private_cloud.go.tmpl @@ -47,10 +47,10 @@ if len(clusterUpdateMask) > 0 { } err = VmwareengineOperationWaitTime( - config, res, project, "Updating Managment Cluster", userAgent, + config, res, project, "Updating Management Cluster", userAgent, d.Timeout(schema.TimeoutUpdate)) if err != nil { return err } -} \ No newline at end of file +} diff --git a/mmv1/templates/terraform/pre_update/datastream_stream.go.tmpl b/mmv1/templates/terraform/pre_update/datastream_stream.go.tmpl index abe6ebfe8c38..46ce5cca96ae 100644 --- a/mmv1/templates/terraform/pre_update/datastream_stream.go.tmpl +++ b/mmv1/templates/terraform/pre_update/datastream_stream.go.tmpl @@ -23,7 +23,7 @@ if err != nil { return err } -// lables and terraform_labels fields are overriden with the labels before updating inside the function waitForDatastreamStreamReady +// lables and terraform_labels fields are overridden with the labels before updating inside the function waitForDatastreamStreamReady labels := d.Get("labels") terraformLabels := d.Get("terraform_labels") @@ -36,4 +36,4 @@ if err := d.Set("labels", labels); err != nil { } if err := d.Set("terraform_labels", terraformLabels); err != nil { return fmt.Errorf("Error setting back terraform_labels field: %s", err) -} \ No newline at end of file +} diff --git a/mmv1/third_party/terraform/acctest/bootstrap_test_utils.go.tmpl b/mmv1/third_party/terraform/acctest/bootstrap_test_utils.go.tmpl index ca7d4acc60d1..f82858c15fab 100644 --- a/mmv1/third_party/terraform/acctest/bootstrap_test_utils.go.tmpl +++ b/mmv1/third_party/terraform/acctest/bootstrap_test_utils.go.tmpl @@ -501,7 +501,7 @@ func NewServiceNetworkSettings(options ...func(*ServiceNetworkSettings)) *Servic // BootstrapSharedServiceNetworkingConnection returns a persistent compute network name // for a test or set of tests. // -// To delete a service networking conneciton, all of the service instances that use that connection +// To delete a service networking connection, all of the service instances that use that connection // must be deleted first. After the service instances are deleted, some service producers delay the deletion // utnil a waiting period has passed. For example, after four days that you delete a SQL instance, // the service networking connection can be deleted. diff --git a/mmv1/third_party/terraform/functions/zone_from_id.go b/mmv1/third_party/terraform/functions/zone_from_id.go index c1f3ae95eeaa..c87654af3b0a 100644 --- a/mmv1/third_party/terraform/functions/zone_from_id.go +++ b/mmv1/third_party/terraform/functions/zone_from_id.go @@ -30,7 +30,7 @@ func (f ZoneFromIdFunction) Definition(ctx context.Context, req function.Definit Parameters: []function.Parameter{ function.StringParameter{ Name: "id", - Description: "An id of a resouce, or a self link. For example, both \"projects/my-project/zones/us-central1-c/instances/my-instance\" and \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/instances/my-instance\" are valid inputs", + Description: "An id of a resource, or a self link. For example, both \"projects/my-project/zones/us-central1-c/instances/my-instance\" and \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/instances/my-instance\" are valid inputs", }, }, Return: function.StringReturn{}, diff --git a/mmv1/third_party/terraform/provider/provider_internal_test.go b/mmv1/third_party/terraform/provider/provider_internal_test.go index 4b10ff1c55a6..6b4c103ca469 100644 --- a/mmv1/third_party/terraform/provider/provider_internal_test.go +++ b/mmv1/third_party/terraform/provider/provider_internal_test.go @@ -24,7 +24,7 @@ func TestProvider_ValidateCredentials(t *testing.T) { return transport_tpg.TestFakeCredentialsPath // Path to a test fixture }, }, - "configuring credentials as a path to a non-existant file is NOT valid": { + "configuring credentials as a path to a non-existent file is NOT valid": { ConfigValue: func(t *testing.T) interface{} { return "./this/path/doesnt/exist.json" // Doesn't exist }, diff --git a/mmv1/third_party/terraform/services/accesscontextmanager/resource_access_context_manager_service_perimeter_test.go.tmpl b/mmv1/third_party/terraform/services/accesscontextmanager/resource_access_context_manager_service_perimeter_test.go.tmpl index 9c340713664a..7007104794ec 100644 --- a/mmv1/third_party/terraform/services/accesscontextmanager/resource_access_context_manager_service_perimeter_test.go.tmpl +++ b/mmv1/third_party/terraform/services/accesscontextmanager/resource_access_context_manager_service_perimeter_test.go.tmpl @@ -413,7 +413,7 @@ resource "google_access_context_manager_service_perimeter" "test-access" { } -type IdentityTypeDiffSupressFuncDiffSuppressTestCase struct { +type IdentityTypeDiffSuppressFuncDiffSuppressTestCase struct { Name string AreEqual bool Before string @@ -421,7 +421,7 @@ type IdentityTypeDiffSupressFuncDiffSuppressTestCase struct { } -var identityTypeDiffSuppressTestCases = []IdentityTypeDiffSupressFuncDiffSuppressTestCase{ +var identityTypeDiffSuppressTestCases = []IdentityTypeDiffSuppressFuncDiffSuppressTestCase{ { AreEqual: false, Before: "A", @@ -461,8 +461,8 @@ func TestUnitAccessContextManagerServicePerimeter_identityTypeDiff(t *testing.T) } -func (tc *IdentityTypeDiffSupressFuncDiffSuppressTestCase) Test(t *testing.T) { - actual := accesscontextmanager.AccessContextManagerServicePerimeterIdentityTypeDiffSupressFunc("", tc.Before, tc.After, nil) +func (tc *IdentityTypeDiffSuppressFuncDiffSuppressTestCase) Test(t *testing.T) { + actual := accesscontextmanager.AccessContextManagerServicePerimeterIdentityTypeDiffSuppressFunc("", tc.Before, tc.After, nil) if actual != tc.AreEqual { t.Errorf( "Unexpected difference found. Before: \"%s\", after: \"%s\", actual: %t, expected: %t", diff --git a/mmv1/third_party/terraform/services/bigtable/resource_bigtable_instance_internal_test.go b/mmv1/third_party/terraform/services/bigtable/resource_bigtable_instance_internal_test.go index acc71d2397bb..6d0b26f61f76 100644 --- a/mmv1/third_party/terraform/services/bigtable/resource_bigtable_instance_internal_test.go +++ b/mmv1/third_party/terraform/services/bigtable/resource_bigtable_instance_internal_test.go @@ -94,7 +94,7 @@ func TestUnitBigtable_getInstanceFromResponse(t *testing.T) { wantInstanceName: "", wantId: originalId, }, - "unavailble error": { + "unavailable error": { instanceNames: []string{"wrong", "also_wrong"}, listInstancesError: bigtable.ErrPartiallyUnavailable{[]string{"some", "location"}}, diff --git a/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.tmpl b/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.tmpl index b0e34ecb012c..e2b2815229c1 100644 --- a/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.tmpl +++ b/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.tmpl @@ -11188,7 +11188,7 @@ func testAccContainerCluster_additional_pod_ranges_config(name string, nameCount master_ipv4_cidr_block = "172.16.0.0/28" } - # supresses permadiff + # suppresses permadiff dns_config { cluster_dns = "CLOUD_DNS" cluster_dns_domain = "cluster.local" diff --git a/mmv1/third_party/terraform/services/storage/resource_storage_bucket_test.go.tmpl b/mmv1/third_party/terraform/services/storage/resource_storage_bucket_test.go.tmpl index b5df505fc00c..e86f00d6f918 100644 --- a/mmv1/third_party/terraform/services/storage/resource_storage_bucket_test.go.tmpl +++ b/mmv1/third_party/terraform/services/storage/resource_storage_bucket_test.go.tmpl @@ -109,7 +109,7 @@ func TestAccStorageBucket_basicWithAutoclass(t *testing.T) { }) } -func TestAccStorageBucket_AutoclassDiffSupress(t *testing.T) { +func TestAccStorageBucket_AutoclassDiffSuppress(t *testing.T) { t.Parallel() var bucket storage.Bucket diff --git a/mmv1/third_party/terraform/tpgresource/annotations.go b/mmv1/third_party/terraform/tpgresource/annotations.go index bfe0e14d287c..2c639aa596a9 100644 --- a/mmv1/third_party/terraform/tpgresource/annotations.go +++ b/mmv1/third_party/terraform/tpgresource/annotations.go @@ -97,7 +97,7 @@ func SetMetadataAnnotationsDiff(_ context.Context, d *schema.ResourceDiff, meta // Sets the "annotations" field with the value of the field "effective_annotations" for data sources. // When reading data source, as the annotations field is unavailable in the configuration of the data source, -// the "annotations" field will be empty. With this funciton, the labels "annotations" will have all of annotations in the resource. +// the "annotations" field will be empty. With this function, the labels "annotations" will have all of annotations in the resource. func SetDataSourceAnnotations(d *schema.ResourceData) error { effectiveAnnotations := d.Get("effective_annotations") if effectiveAnnotations == nil { diff --git a/mmv1/third_party/terraform/tpgresource/labels.go b/mmv1/third_party/terraform/tpgresource/labels.go index 7db1a6305e66..c5d5abfe3e54 100644 --- a/mmv1/third_party/terraform/tpgresource/labels.go +++ b/mmv1/third_party/terraform/tpgresource/labels.go @@ -31,7 +31,7 @@ func SetLabels(labels map[string]string, d *schema.ResourceData, lineage string) // Sets the "labels" field and "terraform_labels" with the value of the field "effective_labels" for data sources. // When reading data source, as the labels field is unavailable in the configuration of the data source, -// the "labels" field will be empty. With this funciton, the labels "field" will have all of labels in the resource. +// the "labels" field will be empty. With this function, the labels "field" will have all of labels in the resource. func SetDataSourceLabels(d *schema.ResourceData) error { effectiveLabels := d.Get("effective_labels") if effectiveLabels == nil { diff --git a/mmv1/third_party/terraform/website/docs/d/compute_forwarding_rules.html.markdown b/mmv1/third_party/terraform/website/docs/d/compute_forwarding_rules.html.markdown index 2ae5f20232f7..e85b3cc31c8d 100644 --- a/mmv1/third_party/terraform/website/docs/d/compute_forwarding_rules.html.markdown +++ b/mmv1/third_party/terraform/website/docs/d/compute_forwarding_rules.html.markdown @@ -25,7 +25,7 @@ The following arguments are supported: * `region` - (Optional) The region you want to get the forwarding rules from. -These arguments must be set in either the provider or the resouce in order for the information to be queried. +These arguments must be set in either the provider or the resource in order for the information to be queried. ## Attributes Reference diff --git a/mmv1/third_party/terraform/website/docs/guides/version_5_upgrade.html.markdown b/mmv1/third_party/terraform/website/docs/guides/version_5_upgrade.html.markdown index 078ef0f0323a..6fefdba30792 100644 --- a/mmv1/third_party/terraform/website/docs/guides/version_5_upgrade.html.markdown +++ b/mmv1/third_party/terraform/website/docs/guides/version_5_upgrade.html.markdown @@ -726,7 +726,7 @@ proposed value to configuration (below) or apply `lifecycle.ignore_changes` to t ## Resource: `google_dataflow_flex_template_job` -### Fields that are a part of the [environment block](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.locations.flexTemplates/launch#FlexTemplateRuntimeEnvironment) will be overriden to be sent via their fields even when supplied via parameters. +### Fields that are a part of the [environment block](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.locations.flexTemplates/launch#FlexTemplateRuntimeEnvironment) will be overridden to be sent via their fields even when supplied via parameters. Several fields within the `google_dataflow_flex_template_job` resource can be supplied through either the `parameters{}` block or a field on the resource object. Support for these fields on the resource object was added in the `4.66.0` release of the Google provider. That version introduced an issue where the values were being double-sent to the API due to being recorded in Terraform state in two places. To resolve this issue, these fields will be deduplicated and sent to the API through the resource object. diff --git a/tools/issue-labeler/labeler/labels_test.go b/tools/issue-labeler/labeler/labels_test.go index 7161969dd8e9..dc02d198e884 100644 --- a/tools/issue-labeler/labeler/labels_test.go +++ b/tools/issue-labeler/labeler/labels_test.go @@ -14,7 +14,7 @@ func TestExtractAffectedResources(t *testing.T) { expectedResources []string }{ "2023 bug": { - body: "\r\n\r\n### Community Note\r\n\r\n* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request.\r\n* Please do not leave _+1_ or _me too_ comments, they generate extra noise for issue followers and do not help prioritize the request.\r\n* If you are interested in working on this issue or have submitted a pull request, please leave a comment.\r\n* If an issue is assigned to the `modular-magician` user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If an issue is assigned to a user, that user is claiming responsibility for the issue. If an issue is assigned to `hashibot`, a community member has claimed the issue already.\r\n\r\n\r\n\r\n### Terraform Version\r\n\r\n\r\nTerraform v1.3.7\r\non linux_amd64\r\nprovider registry.terraform.io/hashicorp/google v4.48.0\r\n\r\n### Affected Resource(s)\r\n\r\n\r\n\r\n* google_container_node_pool\r\n* google_container_cluster\r\n\r\n### Terraform Configuration Files\r\n\r\n\r\n\r\n```tf\r\nnode_config {\r\n tags = null\r\n}\r\n```\r\n### Expected Behavior\r\n\r\nIn above code, if there already exists a list of tags defined in the `node_config` block then I would expect TF to ignore this tags field and leave them as they are\r\n\r\n### Actual Behavior\r\n\r\nTF sets the tags to an emtpy list, [], thus removing existing tags\r\n\r\n### Steps to Reproduce\r\n\r\n1. Create google nodepool TF code with node_config block and set `tags` within the block to a list of strings, i.e. `tags=[ \"one\", \"two\" ]`\r\n2. Terraform apply to create the nodepool with this node config\r\n3. Now update code to say `tags=null`\r\n4. Terraform apply and see the tags removed rather than ignored\r\n", + body: "\r\n\r\n### Community Note\r\n\r\n* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request.\r\n* Please do not leave _+1_ or _me too_ comments, they generate extra noise for issue followers and do not help prioritize the request.\r\n* If you are interested in working on this issue or have submitted a pull request, please leave a comment.\r\n* If an issue is assigned to the `modular-magician` user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If an issue is assigned to a user, that user is claiming responsibility for the issue. If an issue is assigned to `hashibot`, a community member has claimed the issue already.\r\n\r\n\r\n\r\n### Terraform Version\r\n\r\n\r\nTerraform v1.3.7\r\non linux_amd64\r\nprovider registry.terraform.io/hashicorp/google v4.48.0\r\n\r\n### Affected Resource(s)\r\n\r\n\r\n\r\n* google_container_node_pool\r\n* google_container_cluster\r\n\r\n### Terraform Configuration Files\r\n\r\n\r\n\r\n```tf\r\nnode_config {\r\n tags = null\r\n}\r\n```\r\n### Expected Behavior\r\n\r\nIn above code, if there already exists a list of tags defined in the `node_config` block then I would expect TF to ignore this tags field and leave them as they are\r\n\r\n### Actual Behavior\r\n\r\nTF sets the tags to an empty list, [], thus removing existing tags\r\n\r\n### Steps to Reproduce\r\n\r\n1. Create google nodepool TF code with node_config block and set `tags` within the block to a list of strings, i.e. `tags=[ \"one\", \"two\" ]`\r\n2. Terraform apply to create the nodepool with this node config\r\n3. Now update code to say `tags=null`\r\n4. Terraform apply and see the tags removed rather than ignored\r\n", expectedResources: []string{"google_container_node_pool", "google_container_cluster"}, }, "2023 enhancement": { diff --git a/tpgtools/property.go b/tpgtools/property.go index 813b89e719ae..50cb4ae3acb9 100644 --- a/tpgtools/property.go +++ b/tpgtools/property.go @@ -246,7 +246,7 @@ func (p Property) ChangeStateGetter() string { } // Builds a Getter for constructing a shallow -// version of the object for destory purposes +// version of the object for destroy purposes func (p Property) StateGetterForDestroyTest() string { pullValueFromState := fmt.Sprintf(`rs.Primary.Attributes["%s"]`, p.Name()) diff --git a/tpgtools/resource.go b/tpgtools/resource.go index c7916dd303a1..ff1eb3d56ec1 100644 --- a/tpgtools/resource.go +++ b/tpgtools/resource.go @@ -160,7 +160,7 @@ type Resource struct { // CustomSerializer defines the function this resource should use to serialize itself. CustomSerializer *string - // TerraformProductName is the Product name overriden from the DCL + // TerraformProductName is the Product name overridden from the DCL TerraformProductName *SnakeCaseProductName // The array of Samples associated with the resource