From 707313c65e2c0eba261f159287e6db64aa1c163c Mon Sep 17 00:00:00 2001
From: tombuildsstuff <git@tom.ibuildstuff.eu>
Date: Fri, 10 Feb 2023 16:07:16 +0100
Subject: [PATCH] r/private_endpoint: normalizing the
 private_connection_resource_id for a redis cache

Fixes #20413
---
 internal/services/network/private_endpoint_resource.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/internal/services/network/private_endpoint_resource.go b/internal/services/network/private_endpoint_resource.go
index 4f6e0602f7cf..5f2099145a9b 100644
--- a/internal/services/network/private_endpoint_resource.go
+++ b/internal/services/network/private_endpoint_resource.go
@@ -14,6 +14,7 @@ import (
 	mariaDB "github.com/hashicorp/go-azure-sdk/resource-manager/mariadb/2018-06-01/servers"
 	"github.com/hashicorp/go-azure-sdk/resource-manager/postgresql/2017-12-01/servers"
 	"github.com/hashicorp/go-azure-sdk/resource-manager/privatedns/2018-09-01/privatezones"
+	"github.com/hashicorp/go-azure-sdk/resource-manager/redis/2021-06-01/redis"
 	"github.com/hashicorp/go-azure-sdk/resource-manager/signalr/2022-02-01/signalr"
 	"github.com/hashicorp/terraform-provider-azurerm/helpers/azure"
 	"github.com/hashicorp/terraform-provider-azurerm/helpers/tf"
@@ -873,6 +874,11 @@ func flattenPrivateLinkEndpointServiceConnection(serviceConnections *[]network.P
 						privateConnectionId = serverId.ID()
 					}
 				}
+				if strings.Contains(strings.ToLower(privateConnectionId), "microsoft.redis") {
+					if cacheId, err := redis.ParseRediIDInsensitively(privateConnectionId); err == nil {
+						privateConnectionId = cacheId.ID()
+					}
+				}
 				if strings.Contains(strings.ToLower(privateConnectionId), "microsoft.signalrservice") {
 					if serviceId, err := signalr.ParseSignalRIDInsensitively(privateConnectionId); err == nil {
 						privateConnectionId = serviceId.ID()