@@ -44,14 +44,14 @@ func basicTestCase(tb testing.TB) *resource.TestCase {
44
44
CheckDestroy : checkDestroy ,
45
45
Steps : []resource.TestStep {
46
46
{
47
- Config : configAzureBasic (projectID , azureKeyVault , region ),
47
+ Config : configPrivateEndpointAzureBasic (projectID , azureKeyVault , region ),
48
48
Check : resource .ComposeAggregateTestCheckFunc (
49
49
resource .TestCheckResourceAttrSet (resourceName , "id" ),
50
50
resource .TestCheckResourceAttr (resourceName , "status" , "PENDING_ACCEPTANCE" ),
51
51
),
52
52
},
53
53
{
54
- Config : configAzureBasic (projectID , azureKeyVault , region ),
54
+ Config : configPrivateEndpointAzureBasic (projectID , azureKeyVault , region ),
55
55
ResourceName : resourceName ,
56
56
ImportStateIdFunc : importStateIDFunc (resourceName ),
57
57
ImportState : true ,
@@ -61,6 +61,51 @@ func basicTestCase(tb testing.TB) *resource.TestCase {
61
61
}
62
62
}
63
63
64
+ func TestAccEncryptionAtRestPrivateEndpoint_transitionPublicToPrivateNetwork (t * testing.T ) {
65
+ acc .SkipTestForCI (t ) // needs Azure configuration
66
+ var (
67
+ earResourceName = "mongodbatlas_encryption_at_rest.test"
68
+ privateEndpointResourceName = "mongodbatlas_encryption_at_rest_private_endpoint.test"
69
+ projectID = os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
70
+ azureKeyVault = & admin.AzureKeyVault {
71
+ Enabled : conversion .Pointer (true ),
72
+ RequirePrivateNetworking : conversion .Pointer (true ),
73
+ AzureEnvironment : conversion .StringPtr ("AZURE" ),
74
+ ClientID : conversion .StringPtr (os .Getenv ("AZURE_CLIENT_ID" )),
75
+ SubscriptionID : conversion .StringPtr (os .Getenv ("AZURE_SUBSCRIPTION_ID" )),
76
+ ResourceGroupName : conversion .StringPtr (os .Getenv ("AZURE_RESOURCE_GROUP_NAME" )),
77
+ KeyVaultName : conversion .StringPtr (os .Getenv ("AZURE_KEY_VAULT_NAME" )),
78
+ KeyIdentifier : conversion .StringPtr (os .Getenv ("AZURE_KEY_IDENTIFIER" )),
79
+ Secret : conversion .StringPtr (os .Getenv ("AZURE_SECRET" )),
80
+ TenantID : conversion .StringPtr (os .Getenv ("AZURE_TENANT_ID" )),
81
+ }
82
+ region = os .Getenv ("AZURE_PRIVATE_ENDPOINT_REGION" )
83
+ )
84
+
85
+ resource .ParallelTest (t , resource.TestCase {
86
+ PreCheck : func () { acc .PreCheckBasic (t ) },
87
+ ProtoV6ProviderFactories : acc .TestAccProviderV6Factories ,
88
+ CheckDestroy : checkDestroy ,
89
+ Steps : []resource.TestStep {
90
+ {
91
+ Config : acc .ConfigEARAzureKeyVault (projectID , azureKeyVault , false ),
92
+ Check : resource .ComposeAggregateTestCheckFunc (
93
+ resource .TestCheckResourceAttr (earResourceName , "azure_key_vault_config.0.enabled" , "true" ),
94
+ resource .TestCheckResourceAttr (earResourceName , "azure_key_vault_config.0.require_private_networking" , "false" ),
95
+ ),
96
+ },
97
+ {
98
+ Config : configPrivateEndpointAzureBasic (projectID , azureKeyVault , region ),
99
+ Check : resource .ComposeAggregateTestCheckFunc (
100
+ resource .TestCheckResourceAttr (earResourceName , "azure_key_vault_config.0.require_private_networking" , "true" ),
101
+ resource .TestCheckResourceAttrSet (privateEndpointResourceName , "id" ),
102
+ resource .TestCheckResourceAttr (privateEndpointResourceName , "status" , "PENDING_ACCEPTANCE" ),
103
+ ),
104
+ },
105
+ },
106
+ })
107
+ }
108
+
64
109
func importStateIDFunc (resourceName string ) resource.ImportStateIdFunc {
65
110
return func (s * terraform.State ) (string , error ) {
66
111
rs , ok := s .RootModule ().Resources [resourceName ]
@@ -71,7 +116,7 @@ func importStateIDFunc(resourceName string) resource.ImportStateIdFunc {
71
116
}
72
117
}
73
118
74
- func configAzureBasic (projectID string , azure * admin.AzureKeyVault , region string ) string {
119
+ func configPrivateEndpointAzureBasic (projectID string , azure * admin.AzureKeyVault , region string ) string {
75
120
encryptionAtRestConfig := acc .ConfigEARAzureKeyVault (projectID , azure , true )
76
121
return fmt .Sprintf (`
77
122
%[1]s
0 commit comments