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

add external ipv6 support #5241

Merged
merged 7 commits into from
Sep 29, 2021
Merged

Conversation

megan07
Copy link
Contributor

@megan07 megan07 commented Sep 24, 2021

Fixes hashicorp/terraform-provider-google#9860

I'm unsure if these fields are updateable. The documentation seems to suggest it is (This field can be both set at instance creation and update network interface operations.) however, the documentation for the updateNetworkInterface seems to suggest This method can only update an interface's alias IP range and attached network. I tried a few things, but only ran into errors, so left it off.

If this PR is for Terraform, I acknowledge that I have:

  • Searched through the issue tracker for an open issue that this either resolves or contributes to, commented on it to claim it, and written "fixes {url}" or "part of {url}" in this PR description. If there were no relevant open issues, I opened one and commented that I would like to work on it (not necessary for very small changes).
  • Generated Terraform, and ran make test and make lint to ensure it passes unit and linter tests.
  • Ensured that all new fields I added that can be set by a user appear in at least one example (for generated resources) or third_party test (for handwritten resources or update tests).
  • Ran relevant acceptance tests (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read the Release Notes Guide before writing my release note below.

Release Note Template for Downstream PRs (will be copied)

compute: added external IPv6 support on `google_compute_subnetwork` and `google_compute_instance.network_interfaces`

@modular-magician
Copy link
Collaborator

Hi! I'm the modular magician. Your PR generated some diffs in downstreams - here they are.

Diff report:

Terraform GA: Diff ( 7 files changed, 365 insertions(+), 7 deletions(-))
Terraform Beta: Diff ( 8 files changed, 366 insertions(+), 8 deletions(-))
TF Conversion: Diff ( 2 files changed, 57 insertions(+), 6 deletions(-))
TF OiCS: Diff ( 4 files changed, 117 insertions(+))

@modular-magician
Copy link
Collaborator

I have triggered VCR tests in RECORDING mode for the following tests that failed during VCR: TestAccDataSourceComputeNetworkEndpointGroup|TestAccDataSourceComposerEnvironment_basic|TestAccDataSourceGoogleComputeInstanceGroup_basic|TestAccDataSourceGoogleComputeInstanceGroup_withNamedPort|TestAccDataSourceGoogleComputeInstanceGroup_fromIGM|TestAccDataSourceComputeInstanceSerialPort_basic|TestAccInstanceTemplateDatasource_name|TestAccInstanceTemplateDatasource_filter|TestAccInstanceTemplateDatasource_filter_mostRecent|TestAccDataSourceComputeInstance_basic|TestAccDataSourceGoogleSubnetwork|TestAccComputeInstanceIamBindingGenerated|TestAccComputeInstanceIamMemberGenerated|TestAccComputeInstanceIamBindingGenerated_withCondition|TestAccComputeInstanceIamMemberGenerated_withCondition|TestAccComputeMachineImageIamBindingGenerated|TestAccComputeInstanceIamPolicyGenerated|TestAccComputeMachineImageIamMemberGenerated|TestAccComputeInstanceIamPolicyGenerated_withCondition|TestAccComputeMachineImageIamBindingGenerated_withCondition|TestAccComputeMachineImageIamMemberGenerated_withCondition|TestAccComputeMachineImageIamPolicyGenerated|TestAccComputeMachineImageIamPolicyGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated|TestAccComputeSubnetworkIamBindingGenerated|TestAccComputeSubnetworkIamPolicyGenerated|TestAccComputeSubnetworkIamBindingGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated_withCondition|TestAccComputeSubnetworkIamPolicyGenerated_withCondition|TestAccIapTunnelInstanceIamBindingGenerated|TestAccIapTunnelInstanceIamMemberGenerated|TestAccIapTunnelInstanceIamBindingGenerated_withCondition|TestAccIapTunnelInstanceIamPolicyGenerated|TestAccIapTunnelInstanceIamMemberGenerated_withCondition|TestAccIapTunnelInstanceIamPolicyGenerated_withCondition|TestAccComposerEnvironment_basic|TestAccComposerEnvironment_update|TestAccComposerEnvironment_private|TestAccComposerEnvironment_privateWithWebServerControl|TestAccComposerEnvironment_withDatabaseConfig|TestAccComposerEnvironment_withWebServerConfig|TestAccComposerEnvironment_withMaintenanceWindow|TestAccComposerEnvironment_withSoftwareConfig|TestAccComposerEnvironment_withUpdateOnCreate|TestAccComposerEnvironment_withNodeConfig|TestAccComputeAddress_addressWithSubnetworkExample|TestAccComposerEnvironment_withEncryptionConfig|TestAccComputeAddress_instanceWithIpExample|TestAccComputeAttachedDisk_basic|TestAccComputeAddress_internal|TestAccComputeAttachedDisk_full|TestAccComputeAttachedDisk_region|TestAccComputeAutoscaler_autoscalerSingleInstanceExample|TestAccComputeAttachedDisk_count|TestAccComputeAutoscaler_autoscalerBasicExample|TestAccComputeAutoscaler_update|TestAccComputeAutoscaler_multicondition|TestAccComputeAutoscaler_scaleDownControl|TestAccComputeAutoscaler_scalingSchedule|TestAccComputeAutoscaler_scaleInControl|TestAccComputeAutoscaler_scaleInControlFixed|TestAccComputeBackendService_withBackend|TestAccComputeBackendService_withBackendAndMaxUtilization|TestAccComputeBackendService_withBackendAndIAP|TestAccComputeBackendService_withMaxConnections|TestAccComputeBackendService_withMaxConnectionsPerInstance|TestAccComputeBackendService_withMaxRatePerEndpoint|TestAccComputeBackendService_withMaxConnectionsPerEndpoint|TestAccComputeDisk_deleteDetach|TestAccComputeDisk_multiWriter|TestAccComputeForwardingRule_internalHttpLbWithMigBackendExample|TestAccComputeForwardingRule_forwardingRuleGlobalInternallbExample|TestAccComputeForwardingRule_internalTcpUdpLbWithMigBackendExample|TestAccComputeForwardingRule_forwardingRuleInternallbExample|TestAccComputeForwardingRule_forwardingRuleHttpLbExample|TestAccComputeGlobalForwardingRule_globalForwardingRuleInternalExample|TestAccComputeGlobalForwardingRule_externalHttpLbMigBackendCustomHeaderExample|TestAccComputeGlobalForwardingRule_internalLoadBalancing|TestAccComputeGlobalForwardingRule_privateServiceConnectGoogleApisExample|TestAccComputeInstanceFromTemplate_basic|TestAccComputeInstanceFromMachineImage_basic|TestAccComputeInstanceFromMachineImage_overrideMetadataDotStartupScript|TestAccComputeInstanceFromTemplate_overrideBootDisk|TestAccComputeInstanceFromTemplate_overrideAttachedDisk|TestAccComputeInstanceFromTemplate_overrideScratchDisk|TestAccComputeInstanceFromTemplate_overrideScheduling|TestAccComputeInstanceFromTemplate_012_removableFields|TestAccInstanceGroupManager_basic|TestAccComputeInstanceFromTemplate_overrideMetadataDotStartupScript|TestAccInstanceGroupManager_targetSizeZero|TestAccInstanceGroupManager_update|TestAccInstanceGroupManager_autoHealingPolicies|TestAccInstanceGroupManager_versions|TestAccInstanceGroupManager_stateful|TestAccInstanceGroupManager_waitForStatus|TestAccComputeInstanceGroup_basic|TestAccComputeInstanceGroup_rename|TestAccComputeInstanceGroup_update|TestAccComputeInstanceGroup_outOfOrderInstances|TestAccComputeInstanceGroup_network|TestAccComputeInstanceTemplate_preemptible|TestAccComputeInstanceFromMachineImage_diffProject|TestAccComputeInstanceTemplate_basic|TestAccComputeInstanceTemplate_IP|TestAccComputeInstanceTemplate_imageShorthand|TestAccComputeInstanceIamPolicy|TestAccComputeInstanceTemplate_networkTier|TestAccComputeInstanceTemplate_networkIPAddress|TestAccComputeInstanceTemplate_networkIP|TestAccComputeInstanceTemplate_disks|TestAccComputeInstanceTemplate_primaryAliasIpRange|TestAccComputeInstanceTemplate_regionDisks|TestAccComputeInstanceTemplate_subnet_auto|TestAccComputeInstanceTemplate_metadata_startup_script|TestAccComputeInstanceTemplate_subnet_custom|TestAccComputeInstanceTemplate_guestAccelerator|TestAccComputeInstanceTemplate_secondaryAliasIpRange|TestAccComputeInstanceTemplate_guestAcceleratorSkip|TestAccComputeInstanceTemplate_minCpuPlatform|TestAccComputeInstanceTemplate_soleTenantNodeAffinities|TestAccComputeInstanceTemplate_EncryptKMS|TestAccComputeInstanceTemplate_shieldedVmConfig2|TestAccComputeInstanceTemplate_shieldedVmConfig1|TestAccComputeInstanceTemplate_reservationAffinities|TestAccComputeInstanceTemplate_ConfidentialInstanceConfigMain|TestAccComputeInstanceTemplate_AdvancedMachineFeatures|TestAccComputeInstance_IPv6|TestAccComputeInstanceTemplate_withScratchDisk|TestAccComputeInstanceTemplate_enableDisplay|TestAccComputeInstanceTemplate_resourcePolicies|TestAccComputeInstanceTemplate_nictype_update|TestAccComputeInstance_basic2|TestAccComputeInstance_basic1|TestAccComputeInstance_basic5|TestAccComputeInstance_basic4|TestAccComputeInstance_basic3|TestAccComputeInstance_networkTier|TestAccComputeInstance_PTRRecord|TestAccComputeInstance_IP|TestAccComputeInstance_diskEncryption|TestAccComputeInstance_diskEncryptionRestart|TestAccComputeInstance_attachedDisk|TestAccComputeInstance_attachedDisk_modeRo|TestAccComputeInstance_attachedDisk_sourceUrl|TestAccComputeInstance_attachedDiskUpdate|TestAccComputeInstance_bootDisk_source|TestAccComputeInstance_bootDisk_sourceUrl|TestAccComputeInstance_kmsDiskEncryption|TestAccComputeInstance_bootDisk_type|TestAccComputeInstance_bootDisk_mode|TestAccComputeInstance_scratchDisk|TestAccComputeInstance_forceNewAndChangeMetadata|TestAccComputeInstance_update|TestAccComputeInstance_stopInstanceToUpdate|TestAccComputeInstance_serviceAccount|TestAccComputeInstance_advancedMachineFeatures|TestAccComputeInstance_serviceAccount_updated0to1to0scopes|TestAccComputeInstance_scheduling|TestAccComputeInstance_serviceAccount_updated|TestAccComputeInstance_reservationAffinities|TestAccComputeInstance_soleTenantNodeAffinities|TestAccComputeInstance_subnet_auto|TestAccComputeInstance_subnet_custom|TestAccComputeInstance_network_ip_custom|TestAccComputeInstance_networkIPAuto|TestAccComputeInstance_private_image_family|TestAccComputeInstance_forceChangeMachineTypeManually|TestAccComputeInstance_guestAccelerator|TestAccComputeInstance_nictype_update|TestAccComputeInstance_multiNic|TestAccComputeInstance_networkPerformanceConfig|TestAccComputeInstance_guestAcceleratorSkip|TestAccComputeInstance_minCpuPlatform|TestAccComputeInstance_deletionProtectionExplicitFalse|TestAccComputeInstance_deletionProtectionExplicitTrueAndUpdateFalse|TestAccComputeInstance_primaryAliasIpRange|TestAccComputeInstance_secondaryAliasIpRange|TestAccComputeInstance_hostname|TestAccComputeInstance_shieldedVmConfig|TestAccComputeInstanceConfidentialInstanceConfigMain|TestAccComputeInstance_enableDisplay|TestAccComputeInstance_desiredStatusTerminatedUpdateFields|TestAccComputeInstance_desiredStatusUpdateBasic|TestAccComputeInstance_updateRunning_desiredStatusRunning_allowStoppingForUpdate|TestAccComputeInstance_desiredStatusOnCreation|TestAccComputeInstance_updateRunning_desiredStatusRunning_notAllowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusNotSet_notAllowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusTerminated_allowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusTerminated_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusNotSet_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusTerminated_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusNotSet_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusTerminated_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusRunning_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusRunning_allowStoppingForUpdate|TestAccComputeMachineImage_machineImageBasicExample|TestAccComputeInstance_subnetworkUpdate|TestAccComputeInstance_resourcePolicyCollocate|TestAccComputeNetworkEndpointGroup_networkEndpointGroupExample|TestAccComputeNetworkPeeringRoutesConfig_networkPeeringRoutesConfigGkeExample|TestAccComputeMachineImage_computeMachineImageKmsExample|TestAccComputePacketMirroring_computePacketMirroringFullExample|TestAccComputePerInstanceConfig_update|TestAccComputeRegionAutoscaler_regionAutoscalerBasicExample|TestAccComputeRegionAutoscaler_update|TestAccComputeRegionAutoscaler_scalingSchedule|TestAccComputeRegionAutoscaler_scaleDownControl|TestAccComputeRegionAutoscaler_scaleInControl|TestAccComputeRegionBackendService_regionBackendServiceBalancingModeExample|TestAccComputeRegionBackendService_withBackendInternal|TestAccComputeRegionBackendService_withBackendInternalManaged|TestAccComputeRegionBackendService_withBackendMultiNic|TestAccComputeRegionBackendService_ilbUpdateFull|TestAccComputeRegionDisk_deleteDetach|TestAccRegionInstanceGroupManager_basic|TestAccRegionInstanceGroupManager_targetSizeZero|TestAccRegionInstanceGroupManager_update|TestAccRegionInstanceGroupManager_versions|TestAccRegionInstanceGroupManager_autoHealingPolicies|TestAccRegionInstanceGroupManager_distributionPolicy|TestAccRegionInstanceGroupManager_stateful|TestAccComputeRegionPerInstanceConfig_update|TestAccComputeResourcePolicy_attached|TestAccComputeRoute_routeIlbExample|TestAccComputeRoute_routeIlbVipExample|TestAccComputeRoute_hopInstance|TestAccComputeRouterPeer_basic|TestAccComputeRouterPeer_advertiseMode|TestAccComputeRouterPeer_enable|TestAccComputeRouterInterface_withTunnel|TestAccComputeRouterInterface_basic|TestAccComputeRouterNat_basic|TestAccComputeRouterNat_update|TestAccComputeRouterNat_removeLogConfig|TestAccComputeRouterNat_withManualIpAndSubnetConfiguration|TestAccComputeRouterNat_withDisabledIndependentEndpointMapping|TestAccComputeRouterNat_withNatIpsAndDrainNatIps|TestAccComputeRouter_basic|TestAccComputeRouter_noRegion|TestAccComputeRouter_update|TestAccComputeRouter_updateAddRemoveBGP|TestAccComputeServiceAttachment_serviceAttachmentExplicitProjectsExample|TestAccComputeServiceAttachment_serviceAttachmentBasicExample|TestAccComputeServiceAttachment_serviceAttachmentBasicExampleUpdate|TestAccComputeSubnetwork_subnetworkIpv6Example|TestAccComputeSubnetwork_subnetworkBasicExample|TestAccComputeSubnetwork_subnetworkInternalL7lbExample|TestAccComputeSubnetwork_subnetworkLoggingConfigExample|TestAccComputeSubnetworkIamPolicy|TestAccComputeSubnetwork_basic|TestAccComputeSubnetwork_secondaryIpRanges|TestAccComputeSubnetwork_flowLogsMigrate|TestAccComputeSubnetwork_update|TestAccComputeSubnetwork_flowLogs|TestAccComputeTargetInstance_targetInstanceBasicExample|TestAccComputeTargetInstance_targetInstanceCustomNetworkExample|TestAccComputeTargetPool_basic|TestAccComputeTargetPool_update|TestAccComputeVpnTunnel_regionFromGateway|TestAccComputeVpnTunnel_router|TestAccContainerCluster_withAuthenticatorGroupsConfig|TestAccContainerCluster_withTpu|TestAccContainerCluster_withPrivateClusterConfig|TestAccContainerCluster_withIPAllocationPolicy_existingSecondaryRanges|TestAccContainerCluster_withIPAllocationPolicy_specificIPRanges|TestAccContainerCluster_withIPAllocationPolicy_specificSizes|TestAccContainerCluster_withAutopilot|TestAccContainerCluster_withFlexiblePodCIDR|TestAccContainerCluster_errorCleanDanglingCluster|TestAccContainerCluster_withMasterAuthorizedNetworksDisabled|TestAccContainerNodePool_nodeLocations|TestAccContainerNodePool_maxPodsPerNode|TestAccContainerNodePool_withNetworkConfig|TestAccDataprocCluster_withInternalIpOnlyTrueAndShieldedConfig|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestInstancesExample|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestAddressesExample|TestAccNetworkManagementConnectivityTest_update|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginBasicExample|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginAdvancedExample|TestAccNetworkServicesEdgeCacheService_networkServicesEdgeCacheServiceAdvancedExample|TestAccOSConfigGuestPolicies_osConfigGuestPoliciesBasicExample|TestAccOSConfigPatchDeployment_osConfigPatchDeploymentInstanceExample|TestAccVPCAccessConnector_vpcAccessConnectorSharedVPCExample|TestAccVPCAccessConnector_vpcAccessConnectorThroughput You can view the result here: https://ci-oss.hashicorp.engineering/viewQueued.html?itemId=207438

values:
- :IPV4_ONLY
- :IPV4_IPV6
default_value: :IPV4_ONLY
Copy link
Member

Choose a reason for hiding this comment

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

I don't think we can apply a default here! The API doesn't return the value for older resources, so it wouldn't be safe to apply.

Here's an example from a couple nights ago:

{
  "id": "9043695605119007144",
  "creationTimestamp": "2021-09-23T06:55:19.039-07:00",
  "name": "tf-test-xyvapdt3w1",
  "selfLink": "https://www.googleapis.com/compute/beta/projects/ci-test-project-188019/global/networks/tf-test-xyvapdt3w1",
  "autoCreateSubnetworks": false,
  "routingConfig": {
    "routingMode": "REGIONAL"
  },
  "kind": "compute#network"
}

There's a few mitigation options:

  1. Remove the default, do nothing else
    • This is probably what I'd do- it has a mix of risk and safety.
  2. Remove the default, make the field O+C
    • This is technically the safest option, but has the downside of making the field O+C. It's safest because if the API started returning it out of the blue, Terraform wouldn't have a diff. This is probably not worth applying.
  3. Add default_if_empty: true in terraform.yaml
    • This gives us a Terraform-side default, which is useful information at plan time, but means that if the default ever changes we may handle it very badly. default_if_empty rewrites all empty responses into the default, so if empty means something else Terraform'll confuse users.

Optional: true,
ValidateFunc: validation.StringInSlice([]string{"IPV4_ONLY", "IPV4_IPV6", ""}, false),
Description: `The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.`,
Default: "IPV4_ONLY",
Copy link
Member

Choose a reason for hiding this comment

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

Conversely, this one does appear to be returned. There's a question of whether it's also returned for old resources created before the field was introduced, and I'm not sure what the answer is. If you happen to have an old GCE instance lying around, that'd be worth checking!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i checked, it is not returned on old instances. thanks for pointing this out!

Description: `One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.`,
},

"ipv6_access_config": {
Copy link
Member

Choose a reason for hiding this comment

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

Should we make one of the subfields of this Required? That'll stop the empty block problem.

"access_config": ac,
"alias_ip_range": flattenAliasIpRange(iface.AliasIpRanges),
"nic_type": iface.NicType,
"network_ip": iface.NetworkIP,
Copy link
Member

Choose a reason for hiding this comment

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

Instance template shares this code, so this is likely to crash it by setting a field that doesn't exist. Does template support configuring this value? We may need to guard it, otherwise.

@modular-magician
Copy link
Collaborator

Tests failed during RECORDING mode: TestAccDataSourceGoogleComputeInstanceGroup_fromIGM|TestAccInstanceTemplateDatasource_filter|TestAccInstanceTemplateDatasource_filter_mostRecent|TestAccInstanceTemplateDatasource_name|TestAccComposerEnvironment_update|TestAccComputeAutoscaler_autoscalerSingleInstanceExample|TestAccComputeAutoscaler_autoscalerBasicExample|TestAccComputeAutoscaler_update|TestAccComputeAutoscaler_multicondition|TestAccComputeAutoscaler_scaleDownControl|TestAccComputeAutoscaler_scalingSchedule|TestAccComputeAutoscaler_scaleInControl|TestAccComputeAutoscaler_scaleInControlFixed|TestAccComputeBackendService_withBackend|TestAccComputeBackendService_withBackendAndMaxUtilization|TestAccComputeBackendService_withBackendAndIAP|TestAccComputeBackendService_withMaxConnections|TestAccComputeBackendService_withMaxConnectionsPerInstance|TestAccComputeForwardingRule_internalHttpLbWithMigBackendExample|TestAccComputeForwardingRule_internalTcpUdpLbWithMigBackendExample|TestAccComputeGlobalForwardingRule_globalForwardingRuleInternalExample|TestAccComputeForwardingRule_forwardingRuleHttpLbExample|TestAccComputeGlobalForwardingRule_externalHttpLbMigBackendCustomHeaderExample|TestAccComputeGlobalForwardingRule_internalLoadBalancing|TestAccComputeInstanceFromTemplate_basic|TestAccComputeInstanceFromTemplate_overrideBootDisk|TestAccComputeInstanceFromTemplate_overrideScratchDisk|TestAccComputeInstanceFromTemplate_overrideAttachedDisk|TestAccComputeInstanceFromTemplate_012_removableFields|TestAccComputeInstanceFromTemplate_overrideMetadataDotStartupScript|TestAccComputeInstanceFromTemplate_overrideScheduling|TestAccInstanceGroupManager_basic|TestAccInstanceGroupManager_targetSizeZero|TestAccInstanceGroupManager_update|TestAccInstanceGroupManager_versions|TestAccInstanceGroupManager_autoHealingPolicies|TestAccInstanceGroupManager_stateful|TestAccInstanceGroupManager_waitForStatus|TestAccComputeInstanceTemplate_basic|TestAccComputeInstanceTemplate_preemptible|TestAccComputeInstanceTemplate_IP|TestAccComputeInstanceTemplate_networkTier|TestAccComputeInstanceTemplate_networkIP|TestAccComputeInstanceTemplate_networkIPAddress|TestAccComputeInstanceTemplate_disks|TestAccComputeInstanceTemplate_regionDisks|TestAccComputeInstanceTemplate_metadata_startup_script|TestAccComputeInstanceTemplate_primaryAliasIpRange|TestAccComputeInstanceTemplate_guestAccelerator|TestAccComputeInstanceTemplate_guestAcceleratorSkip|TestAccComputeInstanceTemplate_minCpuPlatform|TestAccComputeInstanceTemplate_EncryptKMS|TestAccComputeInstanceTemplate_soleTenantNodeAffinities|TestAccComputeInstanceTemplate_reservationAffinities|TestAccComputeInstanceTemplate_shieldedVmConfig1|TestAccComputeInstanceTemplate_shieldedVmConfig2|TestAccComputeInstanceTemplate_ConfidentialInstanceConfigMain|TestAccComputeInstanceTemplate_imageShorthand|TestAccComputeInstanceTemplate_AdvancedMachineFeatures|TestAccComputeInstanceTemplate_enableDisplay|TestAccComputeInstanceTemplate_withScratchDisk|TestAccComputeInstanceTemplate_subnet_auto|TestAccComputeInstanceTemplate_resourcePolicies|TestAccComputeInstanceTemplate_subnet_custom|TestAccComputeInstanceTemplate_secondaryAliasIpRange|TestAccComputeInstanceTemplate_nictype_update|TestAccComputePerInstanceConfig_update|TestAccComputeRegionAutoscaler_regionAutoscalerBasicExample|TestAccComputeRegionAutoscaler_update|TestAccComputeRegionAutoscaler_scaleDownControl|TestAccComputeRegionAutoscaler_scalingSchedule|TestAccComputeRegionAutoscaler_scaleInControl|TestAccComputeRegionBackendService_withBackendInternal|TestAccComputeRegionBackendService_withBackendInternalManaged|TestAccRegionInstanceGroupManager_basic|TestAccRegionInstanceGroupManager_targetSizeZero|TestAccRegionInstanceGroupManager_update|TestAccRegionInstanceGroupManager_versions|TestAccRegionInstanceGroupManager_autoHealingPolicies|TestAccRegionInstanceGroupManager_distributionPolicy|TestAccRegionInstanceGroupManager_stateful|TestAccComputeRegionPerInstanceConfig_update|TestAccComputeRegionBackendService_regionBackendServiceBalancingModeExample|TestAccComputeRegionBackendService_withBackendMultiNic|TestAccComputeRouterInterface_withTunnel|TestAccComputeRouterPeer_basic|TestAccComputeSubnetwork_subnetworkInternalL7lbExample|TestAccComputeServiceAttachment_serviceAttachmentExplicitProjectsExample|TestAccComputeServiceAttachment_serviceAttachmentBasicExample|TestAccComputeServiceAttachment_serviceAttachmentBasicExampleUpdate|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginAdvancedExample|TestAccNetworkServicesEdgeCacheService_networkServicesEdgeCacheServiceAdvancedExample Please fix these to complete your PR

@modular-magician
Copy link
Collaborator

Hi! I'm the modular magician. Your PR generated some diffs in downstreams - here they are.

Diff report:

Terraform GA: Diff ( 8 files changed, 409 insertions(+), 7 deletions(-))
Terraform Beta: Diff ( 9 files changed, 410 insertions(+), 8 deletions(-))
TF Conversion: Diff ( 2 files changed, 57 insertions(+), 6 deletions(-))
TF OiCS: Diff ( 4 files changed, 117 insertions(+))

@modular-magician
Copy link
Collaborator

I have triggered VCR tests in RECORDING mode for the following tests that failed during VCR: TestAccDataSourceComputeNetworkEndpointGroup|TestAccDataSourceComposerEnvironment_basic|TestAccDataSourceGoogleComputeInstanceGroup_basic|TestAccDataSourceGoogleComputeInstanceGroup_withNamedPort|TestAccDataSourceComputeInstanceSerialPort_basic|TestAccDataSourceComputeInstance_basic|TestAccDataSourceGoogleSubnetwork|TestAccComputeInstanceIamBindingGenerated|TestAccComputeInstanceIamMemberGenerated|TestAccComputeInstanceIamPolicyGenerated|TestAccComputeInstanceIamBindingGenerated_withCondition|TestAccComputeMachineImageIamMemberGenerated|TestAccComputeMachineImageIamBindingGenerated|TestAccComputeInstanceIamMemberGenerated_withCondition|TestAccComputeInstanceIamPolicyGenerated_withCondition|TestAccComputeMachineImageIamBindingGenerated_withCondition|TestAccComputeMachineImageIamPolicyGenerated|TestAccComputeMachineImageIamMemberGenerated_withCondition|TestAccComputeMachineImageIamPolicyGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated|TestAccComputeSubnetworkIamPolicyGenerated|TestAccComputeSubnetworkIamBindingGenerated|TestAccComputeSubnetworkIamBindingGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated_withCondition|TestAccComputeSubnetworkIamPolicyGenerated_withCondition|TestAccIapTunnelInstanceIamBindingGenerated|TestAccIapTunnelInstanceIamMemberGenerated|TestAccIapTunnelInstanceIamPolicyGenerated|TestAccIapTunnelInstanceIamBindingGenerated_withCondition|TestAccIapTunnelInstanceIamMemberGenerated_withCondition|TestAccIapTunnelInstanceIamPolicyGenerated_withCondition|TestAccComposerEnvironment_basic|TestAccComposerEnvironment_private|TestAccComposerEnvironment_privateWithWebServerControl|TestAccComposerEnvironment_withDatabaseConfig|TestAccComposerEnvironment_update|TestAccComposerEnvironment_withSoftwareConfig|TestAccComposerEnvironment_withWebServerConfig|TestAccComposerEnvironment_withMaintenanceWindow|TestAccComposerEnvironment_withUpdateOnCreate|TestAccComputeAddress_addressWithSubnetworkExample|TestAccComposerEnvironmentAirflow2_withSoftwareConfig|TestAccComposerEnvironment_withNodeConfig|TestAccComposerEnvironment_withEncryptionConfig|TestAccComputeAddress_instanceWithIpExample|TestAccComputeAddress_internal|TestAccComputeAttachedDisk_basic|TestAccComputeAttachedDisk_full|TestAccComputeAttachedDisk_region|TestAccComputeAttachedDisk_count|TestAccComputeBackendService_withMaxRatePerEndpoint|TestAccComputeBackendService_withMaxConnectionsPerEndpoint|TestAccComputeDisk_deleteDetach|TestAccComputeDisk_multiWriter|TestAccComputeForwardingRule_forwardingRuleGlobalInternallbExample|TestAccComputeForwardingRule_forwardingRuleInternallbExample|TestAccComputeForwardingRule_internalHttpLbWithMigBackendExample|TestAccComputeForwardingRule_internalTcpUdpLbWithMigBackendExample|TestAccComputeForwardingRule_forwardingRuleHttpLbExample|TestAccComputeGlobalForwardingRule_externalHttpLbMigBackendCustomHeaderExample|TestAccComputeGlobalForwardingRule_privateServiceConnectGoogleApisExample|TestAccComputeInstanceFromMachineImage_basic|TestAccComputeInstanceFromMachineImage_overrideMetadataDotStartupScript|TestAccComputeInstanceFromMachineImage_diffProject|TestAccComputeInstanceGroup_basic|TestAccComputeInstanceGroup_update|TestAccComputeInstanceGroup_rename|TestAccComputeInstanceGroup_outOfOrderInstances|TestAccComputeInstanceGroup_network|TestAccComputeInstanceIamPolicy|TestAccComputeInstanceTemplate_subnet_custom|TestAccComputeInstanceTemplate_secondaryAliasIpRange|TestAccComputeInstance_basic2|TestAccComputeInstance_basic1|TestAccComputeInstance_basic3|TestAccComputeInstance_basic4|TestAccComputeInstance_basic5|TestAccComputeInstance_PTRRecord|TestAccComputeInstance_networkTier|TestAccComputeInstance_IP|TestAccComputeInstance_diskEncryption|TestAccComputeInstance_diskEncryptionRestart|TestAccComputeInstance_attachedDisk|TestAccComputeInstance_attachedDisk_sourceUrl|TestAccComputeInstance_attachedDiskUpdate|TestAccComputeInstance_attachedDisk_modeRo|TestAccComputeInstance_bootDisk_source|TestAccComputeInstance_kmsDiskEncryption|TestAccComputeInstance_bootDisk_type|TestAccComputeInstance_bootDisk_sourceUrl|TestAccComputeInstance_bootDisk_mode|TestAccComputeInstance_scratchDisk|TestAccComputeInstance_forceNewAndChangeMetadata|TestAccComputeInstance_update|TestAccComputeInstance_serviceAccount|TestAccComputeInstance_stopInstanceToUpdate|TestAccComputeInstance_serviceAccount_updated|TestAccComputeInstance_advancedMachineFeatures|TestAccComputeInstance_serviceAccount_updated0to1to0scopes|TestAccComputeInstance_scheduling|TestAccComputeInstance_soleTenantNodeAffinities|TestAccComputeInstance_reservationAffinities|TestAccComputeInstance_subnet_custom|TestAccComputeInstance_subnet_auto|TestAccComputeInstance_networkIPAuto|TestAccComputeInstance_forceChangeMachineTypeManually|TestAccComputeInstance_private_image_family|TestAccComputeInstance_guestAcceleratorSkip|TestAccComputeInstance_network_ip_custom|TestAccComputeInstance_networkPerformanceConfig|TestAccComputeInstance_multiNic|TestAccComputeInstance_nictype_update|TestAccComputeInstance_guestAccelerator|TestAccComputeInstance_minCpuPlatform|TestAccComputeInstance_deletionProtectionExplicitFalse|TestAccComputeInstance_deletionProtectionExplicitTrueAndUpdateFalse|TestAccComputeInstance_primaryAliasIpRange|TestAccComputeInstance_hostname|TestAccComputeInstance_shieldedVmConfig|TestAccComputeInstance_enableDisplay|TestAccComputeInstance_secondaryAliasIpRange|TestAccComputeInstanceConfidentialInstanceConfigMain|TestAccComputeInstance_desiredStatusUpdateBasic|TestAccComputeInstance_desiredStatusTerminatedUpdateFields|TestAccComputeInstance_updateRunning_desiredStatusRunning_allowStoppingForUpdate|TestAccComputeInstance_desiredStatusOnCreation|TestAccComputeInstance_updateRunning_desiredStatusNotSet_notAllowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusRunning_notAllowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusTerminated_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusNotSet_allowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusTerminated_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusTerminated_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusNotSet_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusTerminated_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusRunning_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusRunning_allowStoppingForUpdate|TestAccComputeInstance_resourcePolicyCollocate|TestAccComputeInstance_subnetworkUpdate|TestAccComputeMachineImage_machineImageBasicExample|TestAccComputeNetworkEndpointGroup_networkEndpointGroupExample|TestAccComputeNetworkPeeringRoutesConfig_networkPeeringRoutesConfigGkeExample|TestAccComputeMachineImage_computeMachineImageKmsExample|TestAccComputePacketMirroring_computePacketMirroringFullExample|TestAccComputeRegionBackendService_regionBackendServiceBalancingModeExample|TestAccComputeRegionBackendService_withBackendMultiNic|TestAccComputeRegionBackendService_ilbUpdateFull|TestAccComputeRegionDisk_deleteDetach|TestAccComputeResourcePolicy_attached|TestAccComputeRoute_routeIlbExample|TestAccComputeRoute_routeIlbVipExample|TestAccComputeRoute_hopInstance|TestAccComputeRouterPeer_advertiseMode|TestAccComputeRouterPeer_enable|TestAccComputeRouterInterface_basic|TestAccComputeRouterNat_update|TestAccComputeRouterNat_basic|TestAccComputeRouterNat_removeLogConfig|TestAccComputeRouterNat_withManualIpAndSubnetConfiguration|TestAccComputeRouterNat_withDisabledIndependentEndpointMapping|TestAccComputeRouterNat_withNatIpsAndDrainNatIps|TestAccComputeRouter_basic|TestAccComputeRouter_noRegion|TestAccComputeRouter_update|TestAccComputeRouter_updateAddRemoveBGP|TestAccComputeServiceAttachment_serviceAttachmentExplicitProjectsExample|TestAccComputeRouterInterface_withTunnel|TestAccComputeRouterPeer_basic|TestAccComputeSubnetwork_subnetworkBasicExample|TestAccComputeSubnetwork_subnetworkLoggingConfigExample|TestAccComputeSubnetwork_subnetworkInternalL7lbExample|TestAccComputeSubnetworkIamPolicy|TestAccComputeSubnetwork_basic|TestAccComputeSubnetwork_update|TestAccComputeSubnetwork_secondaryIpRanges|TestAccComputeServiceAttachment_serviceAttachmentBasicExample|TestAccComputeSubnetwork_flowLogs|TestAccComputeSubnetwork_flowLogsMigrate|TestAccComputeTargetInstance_targetInstanceBasicExample|TestAccComputeTargetInstance_targetInstanceCustomNetworkExample|TestAccComputeServiceAttachment_serviceAttachmentBasicExampleUpdate|TestAccComputeTargetPool_basic|TestAccComputeTargetPool_update|TestAccComputeVpnTunnel_regionFromGateway|TestAccComputeVpnTunnel_router|TestAccContainerCluster_withAuthenticatorGroupsConfig|TestAccContainerCluster_withTpu|TestAccContainerCluster_withPrivateClusterConfig|TestAccContainerCluster_withIPAllocationPolicy_existingSecondaryRanges|TestAccContainerCluster_withIPAllocationPolicy_specificIPRanges|TestAccContainerCluster_withIPAllocationPolicy_specificSizes|TestAccContainerCluster_withAutopilot|TestAccContainerCluster_withFlexiblePodCIDR|TestAccContainerCluster_errorCleanDanglingCluster|TestAccContainerCluster_withMasterAuthorizedNetworksDisabled|TestAccContainerNodePool_nodeLocations|TestAccContainerNodePool_maxPodsPerNode|TestAccContainerNodePool_withNetworkConfig|TestAccDataprocCluster_withInternalIpOnlyTrueAndShieldedConfig|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestInstancesExample|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestAddressesExample|TestAccNetworkManagementConnectivityTest_update|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginAdvancedExample|TestAccNetworkServicesEdgeCacheService_networkServicesEdgeCacheServiceAdvancedExample|TestAccOSConfigGuestPolicies_osConfigGuestPoliciesBasicExample|TestAccOSConfigPatchDeployment_osConfigPatchDeploymentInstanceExample|TestAccVPCAccessConnector_vpcAccessConnectorSharedVPCExample|TestAccVPCAccessConnector_vpcAccessConnectorThroughput You can view the result here: https://ci-oss.hashicorp.engineering/viewQueued.html?itemId=207771

@modular-magician
Copy link
Collaborator

Tests failed during RECORDING mode: TestAccComputeInstanceIamPolicyGenerated|TestAccDataSourceComputeInstanceSerialPort_basic|TestAccComputeInstanceIamBindingGenerated_withCondition|TestAccComputeInstanceIamBindingGenerated|TestAccDataSourceComputeInstance_basic|TestAccComputeInstanceIamMemberGenerated_withCondition|TestAccComputeInstanceIamMemberGenerated|TestAccDataSourceGoogleComputeInstanceGroup_withNamedPort|TestAccDataSourceGoogleComputeInstanceGroup_basic|TestAccComputeInstanceIamPolicyGenerated_withCondition|TestAccDataSourceComputeNetworkEndpointGroup|TestAccComputeMachineImageIamPolicyGenerated|TestAccComputeMachineImageIamPolicyGenerated_withCondition|TestAccComputeMachineImageIamBindingGenerated|TestAccComputeMachineImageIamBindingGenerated_withCondition|TestAccComputeMachineImageIamMemberGenerated|TestAccComputeMachineImageIamMemberGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated|TestAccDataSourceGoogleSubnetwork|TestAccComputeSubnetworkIamBindingGenerated|TestAccIapTunnelInstanceIamBindingGenerated|TestAccComputeSubnetworkIamPolicyGenerated|TestAccIapTunnelInstanceIamPolicyGenerated_withCondition|TestAccIapTunnelInstanceIamMemberGenerated|TestAccIapTunnelInstanceIamBindingGenerated_withCondition|TestAccIapTunnelInstanceIamPolicyGenerated|TestAccIapTunnelInstanceIamMemberGenerated_withCondition|TestAccComputeSubnetworkIamBindingGenerated_withCondition|TestAccComputeSubnetworkIamPolicyGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated_withCondition|TestAccDataSourceComposerEnvironment_basic|TestAccComposerEnvironmentAirflow2_withSoftwareConfig|TestAccComposerEnvironment_update|TestAccComposerEnvironment_withMaintenanceWindow|TestAccComposerEnvironment_withWebServerConfig|TestAccComposerEnvironment_withDatabaseConfig|TestAccComposerEnvironment_basic|TestAccComposerEnvironment_withEncryptionConfig|TestAccComputeAddress_instanceWithIpExample|TestAccComputeAttachedDisk_basic|TestAccComputeAttachedDisk_full|TestAccComputeAttachedDisk_region|TestAccComputeAttachedDisk_count|TestAccComputeDisk_deleteDetach|TestAccComputeAddress_addressWithSubnetworkExample|TestAccComputeAddress_internal|TestAccComputeDisk_multiWriter|TestAccComputeForwardingRule_internalHttpLbWithMigBackendExample|TestAccComposerEnvironment_withNodeConfig|TestAccComposerEnvironment_withSoftwareConfig|TestAccComputeForwardingRule_forwardingRuleGlobalInternallbExample|TestAccComputeForwardingRule_forwardingRuleInternallbExample|TestAccComputeForwardingRule_forwardingRuleHttpLbExample|TestAccComputeGlobalForwardingRule_externalHttpLbMigBackendCustomHeaderExample|TestAccComputeInstanceFromMachineImage_diffProject|TestAccComputeGlobalForwardingRule_privateServiceConnectGoogleApisExample|TestAccComputeInstanceGroup_basic|TestAccComputeInstanceFromMachineImage_basic|TestAccComputeInstanceGroup_update|TestAccComputeInstanceFromMachineImage_overrideMetadataDotStartupScript|TestAccComputeInstanceGroup_outOfOrderInstances|TestAccComputeInstanceGroup_rename|TestAccComputeForwardingRule_internalTcpUdpLbWithMigBackendExample|TestAccComputeInstanceIamPolicy|TestAccComputeInstance_basic1|TestAccComputeInstance_basic2|TestAccComputeInstance_basic3|TestAccComputeInstance_basic4|TestAccComputeBackendService_withMaxRatePerEndpoint|TestAccComputeInstance_basic5|TestAccComputeInstance_IP|TestAccComputeBackendService_withMaxConnectionsPerEndpoint|TestAccComputeInstance_PTRRecord|TestAccComputeInstance_networkTier|TestAccComputeInstanceTemplate_subnet_custom|TestAccComputeInstance_diskEncryption|TestAccComputeInstanceTemplate_secondaryAliasIpRange|TestAccComputeInstance_diskEncryptionRestart|TestAccComputeInstance_attachedDisk|TestAccComputeInstance_attachedDisk_sourceUrl|TestAccComputeInstance_kmsDiskEncryption|TestAccComputeInstance_attachedDisk_modeRo|TestAccComputeInstance_attachedDiskUpdate|TestAccComputeInstance_bootDisk_source|TestAccComputeInstance_bootDisk_type|TestAccComputeInstance_bootDisk_sourceUrl|TestAccComputeInstanceGroup_network|TestAccComputeInstance_bootDisk_mode|TestAccComputeInstance_forceNewAndChangeMetadata|TestAccComputeInstance_scratchDisk|TestAccComposerEnvironment_private|TestAccComposerEnvironment_privateWithWebServerControl|TestAccComputeInstance_update|TestAccComputeInstance_stopInstanceToUpdate|TestAccComputeInstance_serviceAccount|TestAccComputeInstance_serviceAccount_updated|TestAccComputeInstance_serviceAccount_updated0to1to0scopes|TestAccComputeInstance_scheduling|TestAccComputeInstance_reservationAffinities|TestAccComputeInstance_soleTenantNodeAffinities Please fix these to complete your PR

@modular-magician
Copy link
Collaborator

Hi! I'm the modular magician. Your PR generated some diffs in downstreams - here they are.

Diff report:

Terraform GA: Diff ( 8 files changed, 411 insertions(+), 7 deletions(-))
Terraform Beta: Diff ( 8 files changed, 411 insertions(+), 7 deletions(-))
TF Conversion: Diff ( 2 files changed, 57 insertions(+), 6 deletions(-))
TF OiCS: Diff ( 4 files changed, 117 insertions(+))

@modular-magician
Copy link
Collaborator

I have triggered VCR tests in RECORDING mode for the following tests that failed during VCR: TestAccDataSourceComputeNetworkEndpointGroup|TestAccDataSourceComposerEnvironment_basic|TestAccDataSourceGoogleComputeInstanceGroup_basic|TestAccDataSourceComputeInstanceSerialPort_basic|TestAccDataSourceGoogleComputeInstanceGroup_withNamedPort|TestAccDataSourceComputeInstance_basic|TestAccDataSourceGoogleSubnetwork|TestAccComputeInstanceIamBindingGenerated|TestAccComputeInstanceIamMemberGenerated|TestAccComputeInstanceIamBindingGenerated_withCondition|TestAccComputeInstanceIamMemberGenerated_withCondition|TestAccComputeInstanceIamPolicyGenerated|TestAccComputeInstanceIamPolicyGenerated_withCondition|TestAccComputeMachineImageIamBindingGenerated|TestAccComputeMachineImageIamMemberGenerated|TestAccComputeMachineImageIamPolicyGenerated|TestAccComputeMachineImageIamBindingGenerated_withCondition|TestAccComputeMachineImageIamMemberGenerated_withCondition|TestAccComputeMachineImageIamPolicyGenerated_withCondition|TestAccComputeSubnetworkIamBindingGenerated|TestAccComputeSubnetworkIamMemberGenerated|TestAccComputeSubnetworkIamBindingGenerated_withCondition|TestAccComputeSubnetworkIamPolicyGenerated|TestAccComputeSubnetworkIamMemberGenerated_withCondition|TestAccComputeSubnetworkIamPolicyGenerated_withCondition|TestAccIapTunnelInstanceIamBindingGenerated|TestAccIapTunnelInstanceIamMemberGenerated|TestAccIapTunnelInstanceIamPolicyGenerated|TestAccIapTunnelInstanceIamBindingGenerated_withCondition|TestAccIapTunnelInstanceIamMemberGenerated_withCondition|TestAccIapTunnelInstanceIamPolicyGenerated_withCondition|TestAccComposerEnvironment_basic|TestAccComposerEnvironment_private|TestAccComposerEnvironment_privateWithWebServerControl|TestAccComposerEnvironment_update|TestAccComposerEnvironment_withDatabaseConfig|TestAccComposerEnvironment_withSoftwareConfig|TestAccComposerEnvironment_withWebServerConfig|TestAccComposerEnvironment_withMaintenanceWindow|TestAccComputeAddress_addressWithSubnetworkExample|TestAccComposerEnvironment_withUpdateOnCreate|TestAccComposerEnvironmentAirflow2_withSoftwareConfig|TestAccComposerEnvironment_withEncryptionConfig|TestAccComposerEnvironment_withNodeConfig|TestAccComputeAddress_instanceWithIpExample|TestAccComputeAddress_internal|TestAccComputeAttachedDisk_basic|TestAccComputeAttachedDisk_full|TestAccComputeAttachedDisk_region|TestAccComputeAttachedDisk_count|TestAccComputeBackendService_withMaxRatePerEndpoint|TestAccComputeBackendService_withMaxConnectionsPerEndpoint|TestAccComputeDisk_deleteDetach|TestAccComputeDisk_multiWriter|TestAccComputeForwardingRule_forwardingRuleGlobalInternallbExample|TestAccComputeForwardingRule_forwardingRuleInternallbExample|TestAccComputeForwardingRule_internalTcpUdpLbWithMigBackendExample|TestAccComputeForwardingRule_internalHttpLbWithMigBackendExample|TestAccComputeGlobalForwardingRule_externalHttpLbMigBackendCustomHeaderExample|TestAccComputeForwardingRule_forwardingRuleHttpLbExample|TestAccComputeGlobalForwardingRule_privateServiceConnectGoogleApisExample|TestAccComputeInstanceFromMachineImage_basic|TestAccComputeInstanceFromMachineImage_overrideMetadataDotStartupScript|TestAccComputeInstanceFromMachineImage_diffProject|TestAccComputeInstanceGroup_basic|TestAccComputeInstanceGroup_rename|TestAccComputeInstanceGroup_update|TestAccComputeInstanceGroup_outOfOrderInstances|TestAccComputeInstanceGroup_network|TestAccComputeInstanceIamPolicy|TestAccComputeInstanceTemplate_subnet_custom|TestAccComputeInstanceTemplate_secondaryAliasIpRange|TestAccComputeInstance_basic1|TestAccComputeInstance_basic2|TestAccComputeInstance_basic3|TestAccComputeInstance_basic4|TestAccComputeInstance_basic5|TestAccComputeInstance_PTRRecord|TestAccComputeInstance_IP|TestAccComputeInstance_networkTier|TestAccComputeInstance_diskEncryption|TestAccComputeInstance_diskEncryptionRestart|TestAccComputeInstance_attachedDisk|TestAccComputeInstance_attachedDiskUpdate|TestAccComputeInstance_attachedDisk_sourceUrl|TestAccComputeInstance_attachedDisk_modeRo|TestAccComputeInstance_bootDisk_source|TestAccComputeInstance_kmsDiskEncryption|TestAccComputeInstance_bootDisk_sourceUrl|TestAccComputeInstance_bootDisk_type|TestAccComputeInstance_bootDisk_mode|TestAccComputeInstance_scratchDisk|TestAccComputeInstance_forceNewAndChangeMetadata|TestAccComputeInstance_stopInstanceToUpdate|TestAccComputeInstance_serviceAccount_updated0to1to0scopes|TestAccComputeInstance_update|TestAccComputeInstance_serviceAccount|TestAccComputeInstance_serviceAccount_updated|TestAccComputeInstance_scheduling|TestAccComputeInstance_advancedMachineFeatures|TestAccComputeInstance_soleTenantNodeAffinities|TestAccComputeInstance_reservationAffinities|TestAccComputeInstance_subnet_custom|TestAccComputeInstance_subnet_auto|TestAccComputeInstance_networkIPAuto|TestAccComputeInstance_network_ip_custom|TestAccComputeInstance_networkPerformanceConfig|TestAccComputeInstance_multiNic|TestAccComputeInstance_nictype_update|TestAccComputeInstance_private_image_family|TestAccComputeInstance_guestAccelerator|TestAccComputeInstance_guestAcceleratorSkip|TestAccComputeInstance_minCpuPlatform|TestAccComputeInstance_deletionProtectionExplicitFalse|TestAccComputeInstance_deletionProtectionExplicitTrueAndUpdateFalse|TestAccComputeInstance_primaryAliasIpRange|TestAccComputeInstance_hostname|TestAccComputeInstanceConfidentialInstanceConfigMain|TestAccComputeInstance_shieldedVmConfig|TestAccComputeInstance_secondaryAliasIpRange|TestAccComputeInstance_enableDisplay|TestAccComputeInstance_desiredStatusUpdateBasic|TestAccComputeInstance_desiredStatusOnCreation|TestAccComputeInstance_desiredStatusTerminatedUpdateFields|TestAccComputeInstance_updateRunning_desiredStatusRunning_allowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusNotSet_notAllowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusRunning_notAllowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusTerminated_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusNotSet_allowStoppingForUpdate|TestAccComputeInstance_updateRunning_desiredStatusTerminated_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusTerminated_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusNotSet_notAllowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusTerminated_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusRunning_allowStoppingForUpdate|TestAccComputeInstance_updateTerminated_desiredStatusRunning_notAllowStoppingForUpdate|TestAccComputeInstance_resourcePolicyCollocate|TestAccComputeInstance_subnetworkUpdate|TestAccComputeMachineImage_machineImageBasicExample|TestAccComputeNetworkEndpointGroup_networkEndpointGroupExample|TestAccComputeNetworkPeeringRoutesConfig_networkPeeringRoutesConfigGkeExample|TestAccComputeMachineImage_computeMachineImageKmsExample|TestAccComputePacketMirroring_computePacketMirroringFullExample|TestAccComputeRegionBackendService_regionBackendServiceBalancingModeExample|TestAccComputeRegionBackendService_withBackendMultiNic|TestAccComputeRegionBackendService_ilbUpdateFull|TestAccComputeRegionDisk_deleteDetach|TestAccComputeResourcePolicy_attached|TestAccComputeRoute_routeIlbExample|TestAccComputeRoute_routeIlbVipExample|TestAccComputeRoute_hopInstance|TestAccComputeRouterPeer_advertiseMode|TestAccComputeRouterPeer_enable|TestAccComputeRouterInterface_basic|TestAccComputeRouterNat_basic|TestAccComputeRouterNat_update|TestAccComputeRouterNat_removeLogConfig|TestAccComputeRouterNat_withManualIpAndSubnetConfiguration|TestAccComputeRouterNat_withDisabledIndependentEndpointMapping|TestAccComputeRouterNat_withNatIpsAndDrainNatIps|TestAccComputeRouter_basic|TestAccComputeRouter_noRegion|TestAccComputeRouter_update|TestAccComputeRouter_updateAddRemoveBGP|TestAccComputeRouterInterface_withTunnel|TestAccComputeServiceAttachment_serviceAttachmentExplicitProjectsExample|TestAccComputeSubnetwork_subnetworkBasicExample|TestAccComputeSubnetwork_subnetworkLoggingConfigExample|TestAccComputeRouterPeer_basic|TestAccComputeSubnetworkIamPolicy|TestAccComputeSubnetwork_subnetworkInternalL7lbExample|TestAccComputeSubnetwork_update|TestAccComputeSubnetwork_basic|TestAccComputeSubnetwork_secondaryIpRanges|TestAccComputeSubnetwork_flowLogs|TestAccComputeServiceAttachment_serviceAttachmentBasicExample|TestAccComputeSubnetwork_flowLogsMigrate|TestAccComputeTargetInstance_targetInstanceBasicExample|TestAccComputeTargetInstance_targetInstanceCustomNetworkExample|TestAccComputeTargetPool_basic|TestAccComputeTargetPool_update|TestAccComputeServiceAttachment_serviceAttachmentBasicExampleUpdate|TestAccComputeVpnTunnel_router|TestAccComputeVpnTunnel_regionFromGateway|TestAccContainerCluster_withAuthenticatorGroupsConfig|TestAccContainerCluster_withTpu|TestAccContainerCluster_withPrivateClusterConfig|TestAccContainerCluster_withIPAllocationPolicy_existingSecondaryRanges|TestAccContainerCluster_withIPAllocationPolicy_specificSizes|TestAccContainerCluster_withIPAllocationPolicy_specificIPRanges|TestAccContainerCluster_withAutopilot|TestAccContainerCluster_withFlexiblePodCIDR|TestAccContainerCluster_errorCleanDanglingCluster|TestAccContainerCluster_withMasterAuthorizedNetworksDisabled|TestAccContainerNodePool_nodeLocations|TestAccContainerNodePool_maxPodsPerNode|TestAccContainerNodePool_withNetworkConfig|TestAccDataprocCluster_withInternalIpOnlyTrueAndShieldedConfig|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestInstancesExample|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestAddressesExample|TestAccNetworkManagementConnectivityTest_update|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginAdvancedExample|TestAccNetworkServicesEdgeCacheService_networkServicesEdgeCacheServiceAdvancedExample|TestAccOSConfigGuestPolicies_osConfigGuestPoliciesBasicExample|TestAccOSConfigPatchDeployment_osConfigPatchDeploymentInstanceExample|TestAccVPCAccessConnector_vpcAccessConnectorThroughput|TestAccVPCAccessConnector_vpcAccessConnectorSharedVPCExample You can view the result here: https://ci-oss.hashicorp.engineering/viewQueued.html?itemId=207800

@modular-magician
Copy link
Collaborator

Hi! I'm the modular magician. Your PR generated some diffs in downstreams - here they are.

Diff report:

Terraform GA: Diff ( 8 files changed, 412 insertions(+), 7 deletions(-))
Terraform Beta: Diff ( 8 files changed, 412 insertions(+), 7 deletions(-))
TF Conversion: Diff ( 2 files changed, 57 insertions(+), 6 deletions(-))
TF OiCS: Diff ( 4 files changed, 117 insertions(+))

@modular-magician
Copy link
Collaborator

I have triggered VCR tests in RECORDING mode for the following tests that failed during VCR: TestAccDataSourceComputeNetworkEndpointGroup|TestAccDataSourceComposerEnvironment_basic|TestAccDataSourceGoogleSubnetwork|TestAccComputeSubnetworkIamBindingGenerated|TestAccComputeSubnetworkIamMemberGenerated|TestAccComputeSubnetworkIamPolicyGenerated|TestAccComputeSubnetworkIamBindingGenerated_withCondition|TestAccComputeSubnetworkIamMemberGenerated_withCondition|TestAccComputeSubnetworkIamPolicyGenerated_withCondition|TestAccComposerEnvironment_basic|TestAccComposerEnvironment_private|TestAccComposerEnvironment_privateWithWebServerControl|TestAccComposerEnvironment_withDatabaseConfig|TestAccComposerEnvironment_withWebServerConfig|TestAccComposerEnvironment_withSoftwareConfig|TestAccComposerEnvironment_withMaintenanceWindow|TestAccComposerEnvironment_withUpdateOnCreate|TestAccComputeAddress_addressWithSubnetworkExample|TestAccComposerEnvironment_withNodeConfig|TestAccComposerEnvironment_withEncryptionConfig|TestAccComputeAddress_internal|TestAccComputeBackendService_withMaxConnectionsPerEndpoint|TestAccComputeBackendService_withMaxRatePerEndpoint|TestAccComputeForwardingRule_forwardingRuleGlobalInternallbExample|TestAccComputeForwardingRule_forwardingRuleInternallbExample|TestAccComputeGlobalForwardingRule_privateServiceConnectGoogleApisExample|TestAccComputeInstance_subnet_custom|TestAccComputeInstance_networkIPAuto|TestAccComputeInstance_network_ip_custom|TestAccComputeInstance_multiNic|TestAccComputeInstance_secondaryAliasIpRange|TestAccComputeInstance_subnetworkUpdate|TestAccComputeNetworkEndpointGroup_networkEndpointGroupExample|TestAccComputeNetworkPeeringRoutesConfig_networkPeeringRoutesConfigGkeExample|TestAccComputePacketMirroring_computePacketMirroringFullExample|TestAccComputeRoute_routeIlbExample|TestAccComputeRoute_routeIlbVipExample|TestAccComputeRouterPeer_advertiseMode|TestAccComputeRouterPeer_enable|TestAccComputeRouterInterface_basic|TestAccComputeRouterNat_removeLogConfig|TestAccComputeRouterNat_basic|TestAccComputeRouterNat_update|TestAccComputeRouterNat_withDisabledIndependentEndpointMapping|TestAccComputeRouterNat_withManualIpAndSubnetConfiguration|TestAccComputeRouterNat_withNatIpsAndDrainNatIps|TestAccComputeRouter_basic|TestAccComputeRouter_noRegion|TestAccComputeRouter_update|TestAccComputeRouter_updateAddRemoveBGP|TestAccComputeSubnetwork_subnetworkBasicExample|TestAccComputeSubnetwork_subnetworkLoggingConfigExample|TestAccComputeSubnetworkIamPolicy|TestAccComputeSubnetwork_basic|TestAccComputeSubnetwork_secondaryIpRanges|TestAccComputeSubnetwork_flowLogs|TestAccComputeSubnetwork_update|TestAccComputeSubnetwork_flowLogsMigrate|TestAccComputeVpnTunnel_regionFromGateway|TestAccComputeVpnTunnel_router|TestAccContainerCluster_withAuthenticatorGroupsConfig|TestAccContainerCluster_withTpu|TestAccContainerCluster_withPrivateClusterConfig|TestAccContainerCluster_withIPAllocationPolicy_existingSecondaryRanges|TestAccContainerCluster_withIPAllocationPolicy_specificIPRanges|TestAccContainerCluster_withIPAllocationPolicy_specificSizes|TestAccContainerCluster_withAutopilot|TestAccContainerCluster_withFlexiblePodCIDR|TestAccContainerCluster_errorCleanDanglingCluster|TestAccContainerCluster_withMasterAuthorizedNetworksDisabled|TestAccContainerNodePool_nodeLocations|TestAccContainerNodePool_maxPodsPerNode|TestAccContainerNodePool_withNetworkConfig|TestAccDataprocCluster_withInternalIpOnlyTrueAndShieldedConfig|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestAddressesExample|TestAccNetworkManagementConnectivityTest_update|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginAdvancedExample|TestAccNetworkServicesEdgeCacheService_networkServicesEdgeCacheServiceAdvancedExample|TestAccVPCAccessConnector_vpcAccessConnectorSharedVPCExample|TestAccVPCAccessConnector_vpcAccessConnectorThroughput You can view the result here: https://ci-oss.hashicorp.engineering/viewQueued.html?itemId=207893

@modular-magician
Copy link
Collaborator

Tests failed during RECORDING mode: TestAccDataSourceComposerEnvironment_basic|TestAccContainerCluster_withAuthenticatorGroupsConfig|TestAccDataprocCluster_withInternalIpOnlyTrueAndShieldedConfig|TestAccNetworkManagementConnectivityTest_update|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestAddressesExample|TestAccVPCAccessConnector_vpcAccessConnectorSharedVPCExample|TestAccNetworkServicesEdgeCacheService_networkServicesEdgeCacheServiceAdvancedExample|TestAccNetworkServicesEdgeCacheOrigin_networkServicesEdgeCacheOriginAdvancedExample Please fix these to complete your PR

@megan07 megan07 requested a review from rileykarson September 28, 2021 18:11
@megan07
Copy link
Contributor Author

megan07 commented Sep 28, 2021

I think the last failures are unrelated

Optional: true,
Description: `An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.`,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
Copy link
Member

Choose a reason for hiding this comment

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

nit: ordering Required -> Optional -> Computed would be nice, that's consistent with most of the code base (although there are certainly exceptions)

@@ -408,6 +408,54 @@ func resourceComputeInstanceTemplate() *schema.Resource {
},
},
},

"stack_type": {
Copy link
Member

Choose a reason for hiding this comment

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

Can we test and document this for instance template or switch to guarding the shared code (eg by passing in a mode var) instead? I'd be concerned about adding fields that aren't actually supported- it takes one person going through the fields and not clicking git blame to find the context, and all of the sudden they're in our docs.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure! Thanks! One thing I noticed is, the InstanceTemplate REST API docs show that these are all supported, however, I didn't see the computed fields returned (or even when I tried to set ipv6_access_config.public_ptr_domain_name). It accepted it to be set, but didn't return it, so I checked what access_config had and it's just Computed there, with a note, so I just copied that over and did the same thing. I also didn't mention the outputs in the docs, simply because I didn't see them returned - despite the documentation saying they should be? I can remove them if you'd prefer, or just leave them for compatibility with Instance. They shouldn't hurt anything, right? We might just have to add documentation later.

Copy link
Member

Choose a reason for hiding this comment

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

I also didn't mention the outputs in the docs, simply because I didn't see them returned - despite the documentation saying they should be

Ah- since it's not actually provisioned yet, I think this probably makes sense. Thanks! Seems like the right call to me.

@modular-magician
Copy link
Collaborator

Hi! I'm the modular magician. Your PR generated some diffs in downstreams - here they are.

Diff report:

Terraform GA: Diff ( 10 files changed, 501 insertions(+), 7 deletions(-))
Terraform Beta: Diff ( 10 files changed, 501 insertions(+), 7 deletions(-))
TF Conversion: Diff ( 2 files changed, 57 insertions(+), 6 deletions(-))
TF OiCS: Diff ( 4 files changed, 117 insertions(+))

Copy link
Member

@rileykarson rileykarson left a comment

Choose a reason for hiding this comment

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

Assuming tests are 🟢 , LGTM.

@modular-magician
Copy link
Collaborator

I have triggered VCR tests in RECORDING mode for the following tests that failed during VCR: TestAccDataSourceComposerEnvironment_basic|TestAccComputeInstanceTemplate_IPv6|TestAccComputeInstance_IPv6|TestAccContainerCluster_withAuthenticatorGroupsConfig|TestAccDataprocCluster_withInternalIpOnlyTrueAndShieldedConfig|TestAccNetworkManagementConnectivityTest_networkManagementConnectivityTestAddressesExample|TestAccNetworkManagementConnectivityTest_update|TestAccVPCAccessConnector_vpcAccessConnectorSharedVPCExample You can view the result here: https://ci-oss.hashicorp.engineering/viewQueued.html?itemId=208283

@modular-magician
Copy link
Collaborator

Tests failed during RECORDING mode: TestAccContainerCluster_withAuthenticatorGroupsConfig Please fix these to complete your PR

@megan07 megan07 merged commit 703a6b3 into GoogleCloudPlatform:master Sep 29, 2021
khajduczenia pushed a commit to khajduczenia/magic-modules that referenced this pull request Oct 12, 2021
* add external ipv6 support for subnetworks

* add support for ipv6 to instance network interfaces

* add documentation

* update from review comments

* make stack_type O+C

* make stack_type O+C on subnetwork too. oops.

* update per review comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support external IPv6 Lightweight GA in Terraform
3 participants