export async function getExecutionRegion()

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;
}