@@ -103,6 +103,44 @@ func TestAccContainerAppEnvironmentManagedCertificate_domainControlValidationHTT
103103 })
104104}
105105
106+ func TestAccContainerAppEnvironmentManagedCertificate_domainControlValidationCNAME (t * testing.T ) {
107+ if os .Getenv ("ARM_TEST_DNS_ZONE" ) == "" || os .Getenv ("ARM_TEST_DATA_RESOURCE_GROUP" ) == "" {
108+ t .Skipf ("Skipping as either ARM_TEST_DNS_ZONE or ARM_TEST_DATA_RESOURCE_GROUP is not set" )
109+ }
110+
111+ data := acceptance .BuildTestData (t , "azurerm_container_app_environment_managed_certificate" , "test" )
112+ r := ContainerAppEnvironmentManagedCertificateResource {}
113+
114+ data .ResourceTest (t , r , []acceptance.TestStep {
115+ {
116+ Config : r .domainControlValidationCNAME (data ),
117+ Check : acceptance .ComposeTestCheckFunc (
118+ check .That (data .ResourceName ).ExistsInAzure (r ),
119+ ),
120+ },
121+ data .ImportStep (),
122+ })
123+ }
124+
125+ func TestAccContainerAppEnvironmentManagedCertificate_domainControlValidationTXT (t * testing.T ) {
126+ if os .Getenv ("ARM_TEST_DNS_ZONE" ) == "" || os .Getenv ("ARM_TEST_DATA_RESOURCE_GROUP" ) == "" {
127+ t .Skipf ("Skipping as either ARM_TEST_DNS_ZONE or ARM_TEST_DATA_RESOURCE_GROUP is not set" )
128+ }
129+
130+ data := acceptance .BuildTestData (t , "azurerm_container_app_environment_managed_certificate" , "test" )
131+ r := ContainerAppEnvironmentManagedCertificateResource {}
132+
133+ data .ResourceTest (t , r , []acceptance.TestStep {
134+ {
135+ Config : r .domainControlValidationTXT (data ),
136+ Check : acceptance .ComposeTestCheckFunc (
137+ check .That (data .ResourceName ).ExistsInAzure (r ),
138+ ),
139+ },
140+ data .ImportStep (),
141+ })
142+ }
143+
106144func (r ContainerAppEnvironmentManagedCertificateResource ) Exists (ctx context.Context , client * clients.Client , state * pluginsdk.InstanceState ) (* bool , error ) {
107145 id , err := managedenvironments .ParseManagedCertificateID (state .ID )
108146 if err != nil {
@@ -222,6 +260,62 @@ resource "azurerm_container_app_environment_managed_certificate" "test" {
222260` , r .template (data ), data .RandomInteger )
223261}
224262
263+ func (r ContainerAppEnvironmentManagedCertificateResource ) domainControlValidationCNAME (data acceptance.TestData ) string {
264+ return fmt .Sprintf (`
265+ provider "azurerm" {
266+ features {}
267+ }
268+
269+ %[1]s
270+
271+ resource "azurerm_container_app_custom_domain" "test" {
272+ name = trimsuffix(trimprefix(azurerm_dns_txt_record.test.fqdn, "asuid."), ".")
273+ container_app_id = azurerm_container_app.test.id
274+
275+ lifecycle {
276+ ignore_changes = [certificate_binding_type, container_app_environment_certificate_id]
277+ }
278+ }
279+
280+ resource "azurerm_container_app_environment_managed_certificate" "test" {
281+ name = "acctest-cacertmgd%[2]d"
282+ container_app_environment_id = azurerm_container_app_environment.test.id
283+ subject_name = trimsuffix(trimprefix(azurerm_dns_txt_record.test.fqdn, "asuid."), ".")
284+ domain_control_validation = "CNAME"
285+
286+ depends_on = [azurerm_container_app_custom_domain.test]
287+ }
288+ ` , r .template (data ), data .RandomInteger )
289+ }
290+
291+ func (r ContainerAppEnvironmentManagedCertificateResource ) domainControlValidationTXT (data acceptance.TestData ) string {
292+ return fmt .Sprintf (`
293+ provider "azurerm" {
294+ features {}
295+ }
296+
297+ %[1]s
298+
299+ resource "azurerm_container_app_custom_domain" "test" {
300+ name = trimsuffix(trimprefix(azurerm_dns_txt_record.test.fqdn, "asuid."), ".")
301+ container_app_id = azurerm_container_app.test.id
302+
303+ lifecycle {
304+ ignore_changes = [certificate_binding_type, container_app_environment_certificate_id]
305+ }
306+ }
307+
308+ resource "azurerm_container_app_environment_managed_certificate" "test" {
309+ name = "acctest-cacertmgd%[2]d"
310+ container_app_environment_id = azurerm_container_app_environment.test.id
311+ subject_name = trimsuffix(trimprefix(azurerm_dns_txt_record.test.fqdn, "asuid."), ".")
312+ domain_control_validation = "TXT"
313+
314+ depends_on = [azurerm_container_app_custom_domain.test]
315+ }
316+ ` , r .template (data ), data .RandomInteger )
317+ }
318+
225319func (r ContainerAppEnvironmentManagedCertificateResource ) template (data acceptance.TestData ) string {
226320 dnsZone := os .Getenv ("ARM_TEST_DNS_ZONE" )
227321 dataResourceGroup := os .Getenv ("ARM_TEST_DATA_RESOURCE_GROUP" )
@@ -281,15 +375,15 @@ resource "azurerm_container_app" "test" {
281375}
282376
283377resource "azurerm_dns_cname_record" "test" {
284- name = "containerapp %[1]d"
378+ name = "contapp %[1]d"
285379 resource_group_name = data.azurerm_dns_zone.test.resource_group_name
286380 zone_name = data.azurerm_dns_zone.test.name
287381 ttl = 300
288382 record = azurerm_container_app.test.latest_revision_fqdn
289383}
290384
291385resource "azurerm_dns_txt_record" "test" {
292- name = "asuid.containerapp %[1]d"
386+ name = "asuid.contapp %[1]d"
293387 resource_group_name = data.azurerm_dns_zone.test.resource_group_name
294388 zone_name = data.azurerm_dns_zone.test.name
295389 ttl = 60
0 commit comments