GCP Database Discovery Failure for Pattern "Google Cloud Platform (GCP) - Spanner DB"Issue Pattern "Google Cloud Platform (GCP) - Spanner DB" return 403 Error ie: 1.7. Get regionsGet regions2022-05-10 07:47:02: setAttribute(headers,)2022-05-10 07:47:02: setAttribute(method,GET)2022-05-10 07:47:02: setAttribute(formatted,true)2022-05-10 07:47:02: setAttribute(body,)2022-05-10 07:47:02: setAttribute(url,https://www.googleapis.com/compute/v1/projects/ap-emr-sha-01-d878/regions)2022-05-10 07:47:02: setAttribute(headers,null)2022-05-10 07:47:02: setAttribute(body,null)2022-05-10 07:47:07: Exception occurred while executing operation Cloud REST Query. Custom operation Failed to run script due to the following error: JAVASCRIPT_CODE_FAILURE: com.snc.sw.exception.CommandFailureException: Cloud request failed. URL: https://www.googleapis.com/compute/v1/projects/ap-emr-sha-01-d878/regions?maxResults=100 Status: 403 Response: HttpResponseProxy{HTTP/1.1 403 Forbidden .... 4. Get Spanner servicesGet Spanner services2022-05-10 07:47:08: setAttribute(headers,)2022-05-10 07:47:08: setAttribute(method,GET)2022-05-10 07:47:08: setAttribute(formatted,true)2022-05-10 07:47:08: setAttribute(arrayName,spanner_instances_response)2022-05-10 07:47:08: setAttribute(body,)2022-05-10 07:47:08: setAttribute(url,https://spanner.googleapis.com/v1/projects/ap-emr-sha-01-d878/instances)2022-05-10 07:47:08: setAttribute(body,null)2022-05-10 07:47:08: setAttribute(headers,null)2022-05-10 07:47:08: Exception occurred while executing operation Cloud REST - add response to context. Custom operation Failed to run script due to the following error: JAVASCRIPT_CODE_FAILURE: com.snc.sw.exception.CommandFailureException: Cloud request failed. URL: https://spanner.googleapis.com/v1/projects/ap-emr-sha-01-d878/instances Status: 403 Response: HttpResponseProxy{HTTP/1.1 403 Forbidden [Vary: X-Origin, Vary: Referer, Content-Type: application/json; charset=UTF-8, Date: Mon, 09 May 2022 21:47:08 GMT, Server: ESF, Cache-Control: private, X-XSS-Protection: 0, X-Frame-Options: SAMEORIGIN, Server-Timing: gfet4t7; dur=15, Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43", Accept-Ranges: none, Vary: Origin,Accept-Encoding, Connection: close, Transfer-Encoding: chunked] ResponseEntityProxy{[Content-Type: application/json; charset=UTF-8,Chunked: true]}} (script_include:GoogleApi2022-05-10 07:47:08: Execution time: 252 ms Customer claims that the tag "X-Goog-User-Project" should be added in GCP APIs headers.ResolutionThe development team review GCP documentation but there is no information about mandatory headers.https://cloud.google.com/spanner/docs/reference/restAs for the header :x-goog-user-projectThe documentationhttps://cloud.google.com/storage/docs/xml-api/reference-headers#xgooguserprojectmentions that "The project specified in the header is billed for charges associated with the request. This header is used, for example, when making requests to buckets that have Requester Pays enabled."This indicates the team is using a billed project which requires this header to be used with every query.It looks like the pattern didn't support such a billed project and customisation is needed to accommodate the requirement.