Extend LogMe instance parameters (#438)
* Extend LogMe instance parameters * Update acc test * Add more field descriptions * Improve code and tests * Add more fields to acc test * Fix linter * Add float parameter
This commit is contained in:
parent
e553628b5e
commit
a08dbd8926
15 changed files with 868 additions and 200 deletions
|
|
@ -18,16 +18,49 @@ import (
|
|||
|
||||
// Instance resource data
|
||||
var instanceResource = map[string]string{
|
||||
"project_id": testutil.ProjectId,
|
||||
"name": testutil.ResourceNameWithDateTime("logme"),
|
||||
"plan_id": "201d743c-0f06-4af2-8f20-649baf4819ae",
|
||||
"plan_name": "stackit-logme2-1.2.50-replica",
|
||||
"version": "2",
|
||||
"sgw_acl-1": "192.168.0.0/16",
|
||||
"sgw_acl-2": "192.168.0.0/24",
|
||||
"project_id": testutil.ProjectId,
|
||||
"name": testutil.ResourceNameWithDateTime("logme"),
|
||||
"plan_id": "201d743c-0f06-4af2-8f20-649baf4819ae",
|
||||
"plan_name": "stackit-logme2-1.2.50-replica",
|
||||
"version": "2",
|
||||
"sgw_acl-1": "192.168.0.0/16",
|
||||
"sgw_acl-2": "192.168.0.0/24",
|
||||
"fluent_tcp": "4",
|
||||
"max_disk_threshold": "80",
|
||||
"enable_monitoring": "false",
|
||||
"syslog-0": "syslog.example.com:514",
|
||||
"ism_jitter": "0.6",
|
||||
}
|
||||
|
||||
func resourceConfig(acls string) string {
|
||||
func parametersConfig(params map[string]string) string {
|
||||
nonStringParams := []string{
|
||||
"enable_monitoring",
|
||||
"fluentd_tcp",
|
||||
"fluentd_tls",
|
||||
"fluentd_udp",
|
||||
"ism_jitter",
|
||||
"ism_job_interval",
|
||||
"java_heapspace",
|
||||
"java_maxmetaspace",
|
||||
"max_disk_threshold",
|
||||
"metrics_frequency",
|
||||
"opensearch_tls_ciphers",
|
||||
"opensearch_tls_protocols",
|
||||
"syslog",
|
||||
}
|
||||
parameters := "parameters = {"
|
||||
for k, v := range params {
|
||||
if utils.Contains(nonStringParams, k) {
|
||||
parameters += fmt.Sprintf("%s = %s\n", k, v)
|
||||
} else {
|
||||
parameters += fmt.Sprintf("%s = %q\n", k, v)
|
||||
}
|
||||
}
|
||||
parameters += "\n}"
|
||||
return parameters
|
||||
}
|
||||
|
||||
func resourceConfig(params map[string]string) string {
|
||||
return fmt.Sprintf(`
|
||||
%s
|
||||
|
||||
|
|
@ -36,9 +69,7 @@ func resourceConfig(acls string) string {
|
|||
name = "%s"
|
||||
plan_name = "%s"
|
||||
version = "%s"
|
||||
parameters = {
|
||||
sgw_acl = "%s"
|
||||
}
|
||||
%s
|
||||
}
|
||||
|
||||
resource "stackit_logme_credential" "credential" {
|
||||
|
|
@ -51,7 +82,7 @@ func resourceConfig(acls string) string {
|
|||
instanceResource["name"],
|
||||
instanceResource["plan_name"],
|
||||
instanceResource["version"],
|
||||
acls,
|
||||
parametersConfig(params),
|
||||
)
|
||||
}
|
||||
func TestAccLogMeResource(t *testing.T) {
|
||||
|
|
@ -62,7 +93,15 @@ func TestAccLogMeResource(t *testing.T) {
|
|||
|
||||
// Creation
|
||||
{
|
||||
Config: resourceConfig(instanceResource["sgw_acl-1"]),
|
||||
Config: resourceConfig(
|
||||
map[string]string{
|
||||
"sgw_acl": instanceResource["sgw_acl-1"],
|
||||
"fluentd_tcp": instanceResource["fluent_tcp"],
|
||||
"max_disk_threshold": instanceResource["max_disk_threshold"],
|
||||
"enable_monitoring": instanceResource["enable_monitoring"],
|
||||
"syslog": fmt.Sprintf(`[%q]`, instanceResource["syslog-0"]),
|
||||
"ism_jitter": instanceResource["ism_jitter"],
|
||||
}),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
// Instance data
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "project_id", instanceResource["project_id"]),
|
||||
|
|
@ -72,6 +111,12 @@ func TestAccLogMeResource(t *testing.T) {
|
|||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "version", instanceResource["version"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "name", instanceResource["name"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.sgw_acl", instanceResource["sgw_acl-1"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.fluentd_tcp", instanceResource["fluent_tcp"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.max_disk_threshold", instanceResource["max_disk_threshold"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.enable_monitoring", instanceResource["enable_monitoring"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.syslog.#", "1"),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.syslog.0", instanceResource["syslog-0"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.ism_jitter", instanceResource["ism_jitter"]),
|
||||
|
||||
// Credential data
|
||||
resource.TestCheckResourceAttrPair(
|
||||
|
|
@ -101,7 +146,14 @@ func TestAccLogMeResource(t *testing.T) {
|
|||
instance_id = stackit_logme_credential.credential.instance_id
|
||||
credential_id = stackit_logme_credential.credential.credential_id
|
||||
}`,
|
||||
resourceConfig(instanceResource["sgw_acl-1"]),
|
||||
resourceConfig(map[string]string{
|
||||
"sgw_acl": instanceResource["sgw_acl-1"],
|
||||
"fluentd_tcp": instanceResource["fluent_tcp"],
|
||||
"max_disk_threshold": instanceResource["max_disk_threshold"],
|
||||
"enable_monitoring": instanceResource["enable_monitoring"],
|
||||
"syslog": fmt.Sprintf(`[%q]`, instanceResource["syslog-0"]),
|
||||
"ism_jitter": instanceResource["ism_jitter"],
|
||||
}),
|
||||
),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
// Instance data
|
||||
|
|
@ -114,6 +166,12 @@ func TestAccLogMeResource(t *testing.T) {
|
|||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "plan_id", instanceResource["plan_id"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "name", instanceResource["name"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.sgw_acl", instanceResource["sgw_acl-1"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.fluentd_tcp", instanceResource["fluent_tcp"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.max_disk_threshold", instanceResource["max_disk_threshold"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.enable_monitoring", instanceResource["enable_monitoring"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.syslog.#", "1"),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.syslog.0", instanceResource["syslog-0"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_instance.instance", "parameters.ism_jitter", instanceResource["ism_jitter"]),
|
||||
|
||||
// Credential data
|
||||
resource.TestCheckResourceAttr("data.stackit_logme_credential.credential", "project_id", instanceResource["project_id"]),
|
||||
|
|
@ -162,7 +220,14 @@ func TestAccLogMeResource(t *testing.T) {
|
|||
},
|
||||
// Update
|
||||
{
|
||||
Config: resourceConfig(instanceResource["sgw_acl-2"]),
|
||||
Config: resourceConfig(map[string]string{
|
||||
"sgw_acl": instanceResource["sgw_acl-2"],
|
||||
"fluentd_tcp": instanceResource["fluent_tcp"],
|
||||
"max_disk_threshold": instanceResource["max_disk_threshold"],
|
||||
"enable_monitoring": instanceResource["enable_monitoring"],
|
||||
"syslog": fmt.Sprintf(`[%q]`, instanceResource["syslog-0"]),
|
||||
"ism_jitter": instanceResource["ism_jitter"],
|
||||
}),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
// Instance data
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "project_id", instanceResource["project_id"]),
|
||||
|
|
@ -172,6 +237,12 @@ func TestAccLogMeResource(t *testing.T) {
|
|||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "version", instanceResource["version"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "name", instanceResource["name"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.sgw_acl", instanceResource["sgw_acl-2"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.fluentd_tcp", instanceResource["fluent_tcp"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.max_disk_threshold", instanceResource["max_disk_threshold"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.enable_monitoring", instanceResource["enable_monitoring"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.syslog.#", "1"),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.syslog.0", instanceResource["syslog-0"]),
|
||||
resource.TestCheckResourceAttr("stackit_logme_instance.instance", "parameters.ism_jitter", instanceResource["ism_jitter"]),
|
||||
),
|
||||
},
|
||||
// Deletion is done by the framework implicitly
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue