Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(setup): monitors in integrations folder #2274

Merged
39 changes: 32 additions & 7 deletions deploy/helm/sumologic/conf/setup/monitors.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,46 @@ readonly SUMOLOGIC_ACCESSKEY
SUMOLOGIC_BASE_URL=${SUMOLOGIC_BASE_URL:=""}
readonly SUMOLOGIC_BASE_URL

INTEGRATIONS_FOLDER_NAME="Sumo Logic Integrations"
MONITORS_FOLDER_NAME="Kubernetes"
{{- if eq .Values.sumologic.setup.monitors.monitorStatus "enabled" }}
MONITORS_DISABLED="false"
{{- else }}
MONITORS_DISABLED="true"
{{- end}}

MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

# verify if the integrations folder already exists
INTEGRATIONS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${INTEGRATIONS_FOLDER_NAME}" | jq '.[]' )"
readonly INTEGRATIONS_RESPONSE

INTEGRATIONS_FOLDER_ID="$( echo "${INTEGRATIONS_RESPONSE}" | \
jq -r "select(.item.name == \"${INTEGRATIONS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"

# and create it if necessary
if [[ -z "${INTEGRATIONS_FOLDER_ID}" ]]; then
INTEGRATIONS_FOLDER_ID="$(curl -XPOST -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${INTEGRATIONS_FOLDER_NAME}\",\"type\":\"MonitorsLibraryFolder\",\"description\":\"Monitors provided by the Sumo Logic integrations.\"}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors?parentId="${MONITORS_ROOT_ID}" | \
jq -r " .id" )"
fi

# verify if the k8s monitors folder already exists
MONITORS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${MONITORS_FOLDER_NAME}" | jq '.[]' )"
readonly MONITORS_RESPONSE
MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

MONITORS_FOLDER_ID="$( echo "${MONITORS_RESPONSE}" | \
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${INTEGRATIONS_FOLDER_ID}\") | .item.id" )"
readonly MONITORS_FOLDER_ID

if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
Expand All @@ -44,9 +65,12 @@ if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
fi

{{- if not (.Values.sumologic.setup.monitors.notificationEmails | empty) }}

{{- if kindIs "slice" .Values.sumologic.setup.monitors.notificationEmails }}
NOTIFICATIONS_RECIPIENTS='{{- .Values.sumologic.setup.monitors.notificationEmails | toRawJson }}'
NOTIFICATIONS_CONTENT="subject=\"Monitor Alert: {{ printf `{{ TriggerType }}` }} on {{ printf `{{ Name }}` }}\",message_body=\"Triggered {{ printf `{{ TriggerType }}` }} Alert on {{ printf `{{ Name }}` }}: {{ printf `{{ QueryURL }}` }}\""
{{- else }}
NOTIFICATIONS_RECIPIENTS='[{{- .Values.sumologic.setup.monitors.notificationEmails | toRawJson }}]'
{{- end }}
NOTIFICATIONS_CONTENT="subject=\"Monitor Alert: {{ printf `{{TriggerType}}` }} on {{ printf `{{Name}}` }}\",message_body=\"Triggered {{ printf `{{TriggerType}}` }} alert on {{ printf `{{Name}}` }}: {{ printf `{{QueryURL}}` }}\""
NOTIFICATIONS_SETTINGS="recipients=${NOTIFICATIONS_RECIPIENTS},connection_type=\"Email\",time_zone=\"UTC\""
{{- end }}

Expand All @@ -56,6 +80,7 @@ if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
-var="access_key=${SUMOLOGIC_ACCESSKEY}" \
-var="environment=${SUMOLOGIC_ENV}" \
-var="folder=${MONITORS_FOLDER_NAME}" \
-var="folder_parent_id=${INTEGRATIONS_FOLDER_ID}" \
-var="monitors_disabled=${MONITORS_DISABLED}" \
{{- if not (.Values.sumologic.setup.monitors.notificationEmails | empty) }}
-var="email_notifications_critical=[{${NOTIFICATIONS_SETTINGS},${NOTIFICATIONS_CONTENT},run_for_trigger_types=[\"Critical\", \"ResolvedCritical\"]}]" \
Expand Down
32 changes: 27 additions & 5 deletions tests/helm/terraform/static/all_fields.output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -155,21 +155,42 @@ data:
SUMOLOGIC_BASE_URL=${SUMOLOGIC_BASE_URL:=""}
readonly SUMOLOGIC_BASE_URL

INTEGRATIONS_FOLDER_NAME="Sumo Logic Integrations"
MONITORS_FOLDER_NAME="Kubernetes"
MONITORS_DISABLED="false"

MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

# verify if the integrations folder already exists
INTEGRATIONS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${INTEGRATIONS_FOLDER_NAME}" | jq '.[]' )"
readonly INTEGRATIONS_RESPONSE

INTEGRATIONS_FOLDER_ID="$( echo "${INTEGRATIONS_RESPONSE}" | \
jq -r "select(.item.name == \"${INTEGRATIONS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"

# and create it if necessary
if [[ -z "${INTEGRATIONS_FOLDER_ID}" ]]; then
INTEGRATIONS_FOLDER_ID="$(curl -XPOST -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${INTEGRATIONS_FOLDER_NAME}\",\"type\":\"MonitorsLibraryFolder\",\"description\":\"Monitors provided by the Sumo Logic integrations.\"}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors?parentId="${MONITORS_ROOT_ID}" | \
jq -r " .id" )"
fi

# verify if the k8s monitors folder already exists
MONITORS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${MONITORS_FOLDER_NAME}" | jq '.[]' )"
readonly MONITORS_RESPONSE
MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

MONITORS_FOLDER_ID="$( echo "${MONITORS_RESPONSE}" | \
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${INTEGRATIONS_FOLDER_ID}\") | .item.id" )"
readonly MONITORS_FOLDER_ID

if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
Expand All @@ -193,6 +214,7 @@ data:
-var="access_key=${SUMOLOGIC_ACCESSKEY}" \
-var="environment=${SUMOLOGIC_ENV}" \
-var="folder=${MONITORS_FOLDER_NAME}" \
-var="folder_parent_id=${INTEGRATIONS_FOLDER_ID}" \
-var="monitors_disabled=${MONITORS_DISABLED}" \
|| { echo "Error during applying Terraform monitors."; exit 1; }
else
Expand Down
32 changes: 27 additions & 5 deletions tests/helm/terraform/static/collector_fields.output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -154,21 +154,42 @@ data:
SUMOLOGIC_BASE_URL=${SUMOLOGIC_BASE_URL:=""}
readonly SUMOLOGIC_BASE_URL

INTEGRATIONS_FOLDER_NAME="Sumo Logic Integrations"
MONITORS_FOLDER_NAME="Kubernetes"
MONITORS_DISABLED="false"

MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

# verify if the integrations folder already exists
INTEGRATIONS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${INTEGRATIONS_FOLDER_NAME}" | jq '.[]' )"
readonly INTEGRATIONS_RESPONSE

INTEGRATIONS_FOLDER_ID="$( echo "${INTEGRATIONS_RESPONSE}" | \
jq -r "select(.item.name == \"${INTEGRATIONS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"

# and create it if necessary
if [[ -z "${INTEGRATIONS_FOLDER_ID}" ]]; then
INTEGRATIONS_FOLDER_ID="$(curl -XPOST -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${INTEGRATIONS_FOLDER_NAME}\",\"type\":\"MonitorsLibraryFolder\",\"description\":\"Monitors provided by the Sumo Logic integrations.\"}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors?parentId="${MONITORS_ROOT_ID}" | \
jq -r " .id" )"
fi

# verify if the k8s monitors folder already exists
MONITORS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${MONITORS_FOLDER_NAME}" | jq '.[]' )"
readonly MONITORS_RESPONSE
MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

MONITORS_FOLDER_ID="$( echo "${MONITORS_RESPONSE}" | \
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${INTEGRATIONS_FOLDER_ID}\") | .item.id" )"
readonly MONITORS_FOLDER_ID

if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
Expand All @@ -192,6 +213,7 @@ data:
-var="access_key=${SUMOLOGIC_ACCESSKEY}" \
-var="environment=${SUMOLOGIC_ENV}" \
-var="folder=${MONITORS_FOLDER_NAME}" \
-var="folder_parent_id=${INTEGRATIONS_FOLDER_ID}" \
-var="monitors_disabled=${MONITORS_DISABLED}" \
|| { echo "Error during applying Terraform monitors."; exit 1; }
else
Expand Down
32 changes: 27 additions & 5 deletions tests/helm/terraform/static/conditional_sources.output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,21 +144,42 @@ data:
SUMOLOGIC_BASE_URL=${SUMOLOGIC_BASE_URL:=""}
readonly SUMOLOGIC_BASE_URL

INTEGRATIONS_FOLDER_NAME="Sumo Logic Integrations"
MONITORS_FOLDER_NAME="Kubernetes"
MONITORS_DISABLED="false"

MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

# verify if the integrations folder already exists
INTEGRATIONS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${INTEGRATIONS_FOLDER_NAME}" | jq '.[]' )"
readonly INTEGRATIONS_RESPONSE

INTEGRATIONS_FOLDER_ID="$( echo "${INTEGRATIONS_RESPONSE}" | \
jq -r "select(.item.name == \"${INTEGRATIONS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"

# and create it if necessary
if [[ -z "${INTEGRATIONS_FOLDER_ID}" ]]; then
INTEGRATIONS_FOLDER_ID="$(curl -XPOST -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${INTEGRATIONS_FOLDER_NAME}\",\"type\":\"MonitorsLibraryFolder\",\"description\":\"Monitors provided by the Sumo Logic integrations.\"}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors?parentId="${MONITORS_ROOT_ID}" | \
jq -r " .id" )"
fi

# verify if the k8s monitors folder already exists
MONITORS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${MONITORS_FOLDER_NAME}" | jq '.[]' )"
readonly MONITORS_RESPONSE
MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

MONITORS_FOLDER_ID="$( echo "${MONITORS_RESPONSE}" | \
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${INTEGRATIONS_FOLDER_ID}\") | .item.id" )"
readonly MONITORS_FOLDER_ID

if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
Expand All @@ -182,6 +203,7 @@ data:
-var="access_key=${SUMOLOGIC_ACCESSKEY}" \
-var="environment=${SUMOLOGIC_ENV}" \
-var="folder=${MONITORS_FOLDER_NAME}" \
-var="folder_parent_id=${INTEGRATIONS_FOLDER_ID}" \
-var="monitors_disabled=${MONITORS_DISABLED}" \
|| { echo "Error during applying Terraform monitors."; exit 1; }
else
Expand Down
32 changes: 27 additions & 5 deletions tests/helm/terraform/static/custom.output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,21 +144,42 @@ data:
SUMOLOGIC_BASE_URL=${SUMOLOGIC_BASE_URL:=""}
readonly SUMOLOGIC_BASE_URL

INTEGRATIONS_FOLDER_NAME="Sumo Logic Integrations"
MONITORS_FOLDER_NAME="Kubernetes"
MONITORS_DISABLED="false"

MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

# verify if the integrations folder already exists
INTEGRATIONS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${INTEGRATIONS_FOLDER_NAME}" | jq '.[]' )"
readonly INTEGRATIONS_RESPONSE

INTEGRATIONS_FOLDER_ID="$( echo "${INTEGRATIONS_RESPONSE}" | \
jq -r "select(.item.name == \"${INTEGRATIONS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"

# and create it if necessary
if [[ -z "${INTEGRATIONS_FOLDER_ID}" ]]; then
INTEGRATIONS_FOLDER_ID="$(curl -XPOST -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${INTEGRATIONS_FOLDER_NAME}\",\"type\":\"MonitorsLibraryFolder\",\"description\":\"Monitors provided by the Sumo Logic integrations.\"}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors?parentId="${MONITORS_ROOT_ID}" | \
jq -r " .id" )"
fi

# verify if the k8s monitors folder already exists
MONITORS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${MONITORS_FOLDER_NAME}" | jq '.[]' )"
readonly MONITORS_RESPONSE
MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

MONITORS_FOLDER_ID="$( echo "${MONITORS_RESPONSE}" | \
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${INTEGRATIONS_FOLDER_ID}\") | .item.id" )"
readonly MONITORS_FOLDER_ID

if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
Expand All @@ -182,6 +203,7 @@ data:
-var="access_key=${SUMOLOGIC_ACCESSKEY}" \
-var="environment=${SUMOLOGIC_ENV}" \
-var="folder=${MONITORS_FOLDER_NAME}" \
-var="folder_parent_id=${INTEGRATIONS_FOLDER_ID}" \
-var="monitors_disabled=${MONITORS_DISABLED}" \
|| { echo "Error during applying Terraform monitors."; exit 1; }
else
Expand Down
32 changes: 27 additions & 5 deletions tests/helm/terraform/static/default.output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -154,21 +154,42 @@ data:
SUMOLOGIC_BASE_URL=${SUMOLOGIC_BASE_URL:=""}
readonly SUMOLOGIC_BASE_URL

INTEGRATIONS_FOLDER_NAME="Sumo Logic Integrations"
MONITORS_FOLDER_NAME="Kubernetes"
MONITORS_DISABLED="false"

MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

# verify if the integrations folder already exists
INTEGRATIONS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${INTEGRATIONS_FOLDER_NAME}" | jq '.[]' )"
readonly INTEGRATIONS_RESPONSE

INTEGRATIONS_FOLDER_ID="$( echo "${INTEGRATIONS_RESPONSE}" | \
jq -r "select(.item.name == \"${INTEGRATIONS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"

# and create it if necessary
if [[ -z "${INTEGRATIONS_FOLDER_ID}" ]]; then
INTEGRATIONS_FOLDER_ID="$(curl -XPOST -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${INTEGRATIONS_FOLDER_NAME}\",\"type\":\"MonitorsLibraryFolder\",\"description\":\"Monitors provided by the Sumo Logic integrations.\"}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors?parentId="${MONITORS_ROOT_ID}" | \
jq -r " .id" )"
fi

# verify if the k8s monitors folder already exists
MONITORS_RESPONSE="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/search?query=type:folder%20"${MONITORS_FOLDER_NAME}" | jq '.[]' )"
readonly MONITORS_RESPONSE
MONITORS_ROOT_ID="$(curl -XGET -s \
-u "${SUMOLOGIC_ACCESSID}:${SUMOLOGIC_ACCESSKEY}" \
"${SUMOLOGIC_BASE_URL}"v1/monitors/root | jq -r '.id' )"
readonly MONITORS_ROOT_ID

MONITORS_FOLDER_ID="$( echo "${MONITORS_RESPONSE}" | \
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${MONITORS_ROOT_ID}\") | .item.id" )"
jq -r "select(.item.name == \"${MONITORS_FOLDER_NAME}\") | select(.item.parentId == \"${INTEGRATIONS_FOLDER_ID}\") | .item.id" )"
readonly MONITORS_FOLDER_ID

if [[ -z "${MONITORS_FOLDER_ID}" ]]; then
Expand All @@ -192,6 +213,7 @@ data:
-var="access_key=${SUMOLOGIC_ACCESSKEY}" \
-var="environment=${SUMOLOGIC_ENV}" \
-var="folder=${MONITORS_FOLDER_NAME}" \
-var="folder_parent_id=${INTEGRATIONS_FOLDER_ID}" \
-var="monitors_disabled=${MONITORS_DISABLED}" \
|| { echo "Error during applying Terraform monitors."; exit 1; }
else
Expand Down
Loading