in packages/synthetics-sdk-api/src/cloud_region_resolver.ts [24:48]
export async function getExecutionRegion(): Promise<string | null> {
const metadataServerUrl =
'http://metadata.google.internal/computeMetadata/v1/instance/region';
const headers = { 'Metadata-Flavor': 'Google' };
try {
const response: AxiosResponse = await axios.get(metadataServerUrl, {
headers,
});
// Extract region from the response (e.g., 'us-east1')
const regions = response.data.split('/');
const region = regions[regions.length - 1];
return region;
} catch (error) {
if (axios.isAxiosError(error)) {
console.error('Error fetching region from metadata server:', error);
} else {
console.error('Unexpected error:', error);
}
}
return null;
}