#!/bin/bash # # Example RSC API call script # v0.1 - James Pattinson - June 2024 # # Lists Global SLAs from RSC which support Oracle # # usage: rsc_list_slas.sh [filter] usage() { echo "Usage: $0 [filter]" 1>&2; exit 1; } MYDIR="$(dirname "$(realpath "$0")")" # source $MYDIR/rbk_api.conf source $MYDIR/rsc_ops.sh gql_SLAListQuery='query SLAListQuery($after: String, $first: Int, $filter: [GlobalSlaFilterInput!], $sortBy: SlaQuerySortByField, $sortOrder: SortOrder) { slaDomains( after: $after first: $first filter: $filter sortBy: $sortBy sortOrder: $sortOrder ) { edges { node { name ... on GlobalSlaReply { id objectTypes __typename } } } } }' filter=$1 variables="{ \"shouldShowPausedClusters\":true, \"filter\":[{\"field\":\"NAME\",\"text\":\"$filter\"},{\"field\":\"OBJECT_TYPE\",\"objectTypeList\":[\"ORACLE_OBJECT_TYPE\"]}], \"sortBy\":\"NAME\", \"sortOrder\":\"ASC\", \"first\":50 }" gqlQuery="$(echo $gql_SLAListQuery)" gqlVars="$(echo $variables)" rsc_gql_query cat /tmp/rbkresponse.$$ | jq -r '.data.slaDomains.edges[] | .node.name' cleanup