Open pauljegouic opened 1 week ago
Hello there,
I'd like a resource that will allow me to manage this page :
Here is my current implementation to handle this with automation:
variable "global_catalog_configuration" { description = "Filter object to apply to global catalog" type = object({ include_all = bool category_filters = object({ provider = object({ include = bool filter = object({ filter_terms = list(string) }) }) }) id_filters = object({ include = object({ filter_terms = list(string) }) exclude = object({ filter_terms = list(string) }) }) }) } resource "null_resource" "patch_global_catalog" { triggers = { catalog_filter_payload = local.catalog_filter_payload } provisioner "local-exec" { command = <<EOT if [ ! -z $IC_IAM_TOKEN ] then export TOKEN="$IC_IAM_TOKEN" else export TOKEN=$(curl -X POST "https://iam.cloud.ibm.com/identity/token" --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' --data-urlencode "apikey=$IC_API_KEY" | jq -r .access_token) fi res=$(curl -X "GET" "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/catalogaccount" -H "accept: */*" -H "Authorization: Bearer $TOKEN") rev=$(echo $res | grep -Eo '"_rev"[^,]*' | grep -Eo '[^:]*$' | sed 's/\"//g') id=$(echo $res | grep -Eo '"id"[^,]*' | grep -Eo '[^:]*$' | sed 's/\"//g') echo "REV" $rev echo "ID" $id data_final=$(echo '{ "id": "ID", "_rev": "REV","account_filters": ${local.catalog_filter_payload}}' | sed "s/ID/$id/g" | sed "s/REV/$rev/g") echo $data_final > payload.json curl -X "PUT" "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/catalogaccount" -H "content-type: application/json" -H "accept: */*" -H "Authorization: Bearer $TOKEN" --data-binary @payload.json EOT } provisioner "local-exec" { when = destroy command = <<EOT if [ ! -z $IC_IAM_TOKEN ] then export TOKEN="$IC_IAM_TOKEN" else export TOKEN=$(curl -X POST "https://iam.cloud.ibm.com/identity/token" --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' --data-urlencode "apikey=qYlr_FvI8RkZsC0cvadCqBnWJRNJy-qxsNA5PwsqyKCw" | jq -r .access_token) fi res=$(curl -X "GET" "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/catalogaccount" -H "accept: */*" -H "Authorization: Bearer $TOKEN") rev=$(echo $res | grep -Eo '"_rev"[^,]*' | grep -Eo '[^:]*$' | sed 's/\"//g') id=$(echo $res | grep -Eo '"id"[^,]*' | grep -Eo '[^:]*$' | sed 's/\"//g') echo "REV" $rev echo "ID" $id data_final=$(echo '{ "id": "ID", "_rev": "REV","account_filters": {"include_all": true,"category_filters":{"provider":{"filter":{"filter_terms":[]},"include":true}},"id_filters":{"exclude":{"filter_terms":[]},"include":{"filter_terms":[]}},"include_all":true}}' | sed "s/ID/$id/g" | sed "s/REV/$rev/g") echo $data_final > payload.json curl -X "PUT" "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/catalogaccount" -H "content-type: application/json" -H "accept: */*" -H "Authorization: Bearer $TOKEN" --data-binary @payload.json EOT } }
Hello there,
I'd like a resource that will allow me to manage this page :
Here is my current implementation to handle this with automation: