func resourceGlobalSettings() *schema.Resource {
	return &schema.Resource{
		CreateContext: resourceGlobalSettingsCreate,
		ReadContext:   resourceGlobalSettingsRead,
		UpdateContext: resourceGlobalSettingsUpdate,
		DeleteContext: resourceGlobalSettingsDelete,
		Importer: &schema.ResourceImporter{
			State: schema.ImportStatePassthrough,
		},
		Timeouts: &schema.ResourceTimeout{
			Create: schema.DefaultTimeout(10 * time.Minute),
			Update: schema.DefaultTimeout(10 * time.Minute),
			Delete: schema.DefaultTimeout(10 * time.Minute),
		},
		SchemaVersion: 1,
		Schema: map[string]*schema.Schema{
			"profile_hostname": {
				Type:        schema.TypeString,
				Description: "Client Connections, The hostname to use for generating profile URLs.",
				Optional:    true,
				Computed:    true,
			},
			"claims_token_expiration": {
				Type:        schema.TypeInt,
				Description: "Number of minutes the Claims Token is valid both for administrators and clients.",
				Optional:    true,
				Computed:    true,
			},
			"entitlement_token_expiration": {
				Type:        schema.TypeInt,
				Description: "Number of minutes the Entitlement Token is valid for clients.",
				Optional:    true,
				Computed:    true,
			},
			"administration_token_expiration": {
				Type:        schema.TypeInt,
				Description: "Number of minutes the administration Token is valid for administrators.",
				Optional:    true,
				Computed:    true,
			},
			"vpn_certificate_expiration": {
				Type:        schema.TypeInt,
				Description: "Number of minutes the VPN certificates is valid for clients.",
				Optional:    true,
				Computed:    true,
			},
			"login_banner_message": {
				Type:        schema.TypeString,
				Description: "The configured message will be displayed on the login UI.",
				Optional:    true,
				Computed:    true,
			},
			"message_of_the_day": {
				Type:        schema.TypeString,
				Description: "The configured message will be displayed after a successful logging.",
				Optional:    true,
				Computed:    true,
			},
			"backup_api_enabled": {
				Type:        schema.TypeBool,
				Description: "Whether the backup API is enabled or not.",
				Optional:    true,
				Computed:    true,
			},
			"has_backup_passphrase": {
				Type:        schema.TypeBool,
				Description: "Whether there is a backup passphrase set or not. Deprecated as of 5.0. Use backupApiEnabled instead.",
				Optional:    true,
				Computed:    true,
				Deprecated:  "Deprecated as of 5.0. Use backupApiEnabled instead.",
			},
			"backup_passphrase": {
				Type:        schema.TypeString,
				Description: "The passphrase to encrypt Appliance Backups when backup API is used.",
				Optional:    true,
				Computed:    true,
				Sensitive:   true,
			},
			"fips": {
				Type:        schema.TypeBool,
				Description: "FIPS 140-2 Compliant Tunneling.",
				Optional:    true,
				Computed:    true,
			},
			"geo_ip_updates": {
				Type:        schema.TypeBool,
				Description: "Whether the automatic GeoIp updates are enabled or not.",
				Optional:    true,
				Computed:    true,
			},
			"audit_log_persistence_mode": {
				Type:        schema.TypeString,
				Description: "Audit Log persistence mode.",
				Optional:    true,
				Computed:    true,
			},
			"app_discovery_domains": {
				Type:        schema.TypeSet,
				Description: "Domains to monitor for for App Discovery feature.",
				Optional:    true,
				Computed:    true,
				Elem:        &schema.Schema{Type: schema.TypeString},
			},
			"collective_id": {
				Type:        schema.TypeString,
				Description: "A randomly generated ID during first installation to identify the Collective.",
				Computed:    true,
			},
		},
	}
}
Global settings is as the name suggest global settings, and should be treated as a singleton object.
we can never delete global_settings, but we can UPDATE and DELETE (reset) it.
https://discuss.hashicorp.com/t/singleton-resource/9869
package appgate
import (
	"context"
	"fmt"
	"log"
	"net/http"
	"time"
	"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)