Skip to content

Commit

Permalink
azurerm_maintenance_configuration - set reboot AlwaysReboot to `A…
Browse files Browse the repository at this point in the history
…lways` (#24376)

* fix reboot

* fix lint

* insensitive string match

* fix
  • Loading branch information
teowa committed Jan 10, 2024
1 parent 2217332 commit 19b47c1
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"fmt"
"log"
"regexp"
"strings"
"time"

"github.com/hashicorp/go-azure-helpers/lang/pointer"
Expand Down Expand Up @@ -446,7 +447,12 @@ func flattenMaintenanceConfigurationInstallPatches(input *maintenanceconfigurati
output := make(map[string]interface{})

if rebootSetting := v.RebootSetting; rebootSetting != nil {
output["reboot"] = *rebootSetting
// https://github.com/Azure/azure-rest-api-specs/issues/27222
if strings.EqualFold(string(*rebootSetting), "AlwaysReboot") {
output["reboot"] = "Always"
} else {
output["reboot"] = *rebootSetting
}
}

if windowsParameters := v.WindowsParameters; windowsParameters != nil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,21 @@ func TestAccMaintenanceConfiguration_basic(t *testing.T) {
})
}

func TestAccMaintenanceConfiguration_basicWithAlwaysReboot(t *testing.T) {
data := acceptance.BuildTestData(t, "azurerm_maintenance_configuration", "test")
r := MaintenanceConfigurationResource{}

data.ResourceTest(t, r, []acceptance.TestStep{
{
Config: r.basic_withAlwaysReboot(data),
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).ExistsInAzure(r),
),
},
data.ImportStep(),
})
}

func TestAccMaintenanceConfiguration_basicWithInGuestPatch(t *testing.T) {
data := acceptance.BuildTestData(t, "azurerm_maintenance_configuration", "test")
r := MaintenanceConfigurationResource{}
Expand Down Expand Up @@ -192,6 +207,57 @@ resource "azurerm_maintenance_configuration" "test" {
`, data.RandomInteger, data.Locations.Primary, data.RandomInteger)
}

func (MaintenanceConfigurationResource) basic_withAlwaysReboot(data acceptance.TestData) string {
return fmt.Sprintf(`
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "test" {
name = "acctestRG-maint-%d"
location = "%s"
}
resource "azurerm_maintenance_configuration" "test" {
name = "acctest-MC%d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
scope = "InGuestPatch"
in_guest_user_patch_mode = "User"
install_patches {
reboot = "Always"
linux {
classifications_to_include = [
"Critical",
"Security",
]
package_names_mask_to_exclude = []
package_names_mask_to_include = []
}
windows {
classifications_to_include = [
"Critical",
"Security",
"UpdateRollup",
"Definition",
"Updates",
]
kb_numbers_to_exclude = []
kb_numbers_to_include = []
}
}
window {
duration = "02:00"
recur_every = "Day"
start_date_time = "2025-02-01 11:00"
time_zone = "Central Standard Time"
}
}
`, data.RandomInteger, data.Locations.Primary, data.RandomInteger)
}

func (MaintenanceConfigurationResource) basic_withInGuestPatch(data acceptance.TestData) string {
return fmt.Sprintf(`
provider "azurerm" {
Expand Down

0 comments on commit 19b47c1

Please sign in to comment.