From d38d455d39181b609b89d28448e5684b0a6326fb Mon Sep 17 00:00:00 2001 From: Jin Kim Date: Tue, 28 Feb 2023 13:54:24 -0600 Subject: [PATCH 1/3] Added capability to put login banner using general_settings --- panos/resource_general_settings.go | 8 ++++++++ panos/resource_general_settings_test.go | 19 ++++++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/panos/resource_general_settings.go b/panos/resource_general_settings.go index df1ca62d..a61c5e01 100644 --- a/panos/resource_general_settings.go +++ b/panos/resource_general_settings.go @@ -146,6 +146,12 @@ func resourceGeneralSettings() *schema.Resource { Computed: true, Description: "NTP symmetric-key auth key", }, + "login_banner": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "Banner shown in login page", + }, }, } } @@ -173,6 +179,7 @@ func parseGeneralSettings(d *schema.ResourceData) general.Config { NtpSecondaryKeyId: d.Get("ntp_secondary_key_id").(int), NtpSecondaryAlgorithm: d.Get("ntp_secondary_algorithm").(string), NtpSecondaryAuthKey: d.Get("ntp_secondary_auth_key").(string), + LoginBanner: d.Get("login_banner").(string), } } @@ -239,6 +246,7 @@ func readGeneralSettings(d *schema.ResourceData, meta interface{}) error { d.Set("ntp_secondary_key_id", o.NtpSecondaryKeyId) d.Set("ntp_secondary_algorithm", o.NtpSecondaryAlgorithm) d.Set("ntp_secondary_auth_key", o.NtpSecondaryAuthKey) + d.Set("login_banner", o.LoginBanner) return nil } diff --git a/panos/resource_general_settings_test.go b/panos/resource_general_settings_test.go index 91aab86c..67db0573 100644 --- a/panos/resource_general_settings_test.go +++ b/panos/resource_general_settings_test.go @@ -23,17 +23,17 @@ func TestAccPanosGeneralSettings_basic(t *testing.T) { Providers: testAccProviders, Steps: []resource.TestStep{ { - Config: testAccGeneralSettingsConfig("acctest", "10.5.5.5", "10.10.10.10", "autokey"), + Config: testAccGeneralSettingsConfig("acctest", "10.5.5.5", "10.10.10.10", "autokey", "testing_banner"), Check: resource.ComposeTestCheckFunc( testAccCheckPanosGeneralSettingsExists("panos_general_settings.test", &o), - testAccCheckPanosGeneralSettingsAttributes(&o, "acctest", "10.5.5.5", "10.10.10.10", "autokey"), + testAccCheckPanosGeneralSettingsAttributes(&o, "acctest", "10.5.5.5", "10.10.10.10", "autokey", "testing_banner"), ), }, { - Config: testAccGeneralSettingsConfig("ngfw", "10.15.15.15", "10.20.20.20", "none"), + Config: testAccGeneralSettingsConfig("ngfw", "10.15.15.15", "10.20.20.20", "none", "testing_banner"), Check: resource.ComposeTestCheckFunc( testAccCheckPanosGeneralSettingsExists("panos_general_settings.test", &o), - testAccCheckPanosGeneralSettingsAttributes(&o, "ngfw", "10.15.15.15", "10.20.20.20", "none"), + testAccCheckPanosGeneralSettingsAttributes(&o, "ngfw", "10.15.15.15", "10.20.20.20", "none", "testing_banner"), ), }, }, @@ -63,7 +63,7 @@ func testAccCheckPanosGeneralSettingsExists(n string, o *general.Config) resourc } } -func testAccCheckPanosGeneralSettingsAttributes(o *general.Config, h, ds, nsa, nsat string) resource.TestCheckFunc { +func testAccCheckPanosGeneralSettingsAttributes(o *general.Config, h, ds, nsa, nsat, loginBanner string) resource.TestCheckFunc { return func(s *terraform.State) error { if o.Hostname != h { return fmt.Errorf("Hostname is %s, expected %s", o.Hostname, h) @@ -81,17 +81,22 @@ func testAccCheckPanosGeneralSettingsAttributes(o *general.Config, h, ds, nsa, n return fmt.Errorf("Hostname is %s, expected %s", o.NtpSecondaryAuthType, nsat) } + if o.LoginBanner != loginBanner { + return fmt.Errorf("Login Banner is %s, expected %s", o.LoginBanner, loginBanner) + } + return nil } } -func testAccGeneralSettingsConfig(h, ds, nsa, nsat string) string { +func testAccGeneralSettingsConfig(h, ds, nsa, nsat, loginBanner string) string { return fmt.Sprintf(` resource "panos_general_settings" "test" { hostname = "%s" dns_secondary = "%s" ntp_secondary_address = "%s" ntp_secondary_auth_type = "%s" + login_banner = "%s" } -`, h, ds, nsa, nsat) +`, h, ds, nsa, nsat, loginBanner) } From 56d5e950fe71f26731b933ce3c09ce4014c92c7b Mon Sep 17 00:00:00 2001 From: Jin Kim Date: Tue, 28 Feb 2023 14:11:27 -0600 Subject: [PATCH 2/3] updated readme doc --- docs/resources/general_settings.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/resources/general_settings.md b/docs/resources/general_settings.md index 8e064539..e0b093a4 100644 --- a/docs/resources/general_settings.md +++ b/docs/resources/general_settings.md @@ -43,6 +43,7 @@ The following arguments are supported: * `domain` - The domain. * `update_server` - The update server (Default: `updates.paloaltonetworks.com`). * `verify_update_server` - Verify update server identity (Default: `true`). +* `login_banner` - Login banner that is shown during the login page * `proxy_server` - (1.5+) Specify a proxy server. * `proxy_port` - (int, 1.5+) Proxy's port number. * `proxy_username` - (1.5+) Proxy's username. From 947a6d63b9e32a43210ed44d3ee168dee4576e76 Mon Sep 17 00:00:00 2001 From: Jin Kim Date: Mon, 13 Mar 2023 15:05:47 -0500 Subject: [PATCH 3/3] adding missing value --- panos/resource_general_settings_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panos/resource_general_settings_test.go b/panos/resource_general_settings_test.go index 907d330d..fa3e9fc4 100644 --- a/panos/resource_general_settings_test.go +++ b/panos/resource_general_settings_test.go @@ -103,5 +103,5 @@ resource "panos_general_settings" "test" { ntp_secondary_auth_type = "%s" login_banner = "%s" } -`, h, ds, nsa, nsat, loginBanner) +`, h, ps, ds, nsa, nsat, loginBanner) }