async function gaeResource()

in packages/opentelemetry-resource-util/src/detector/detector.ts [119:143]


async function gaeResource(): Promise<Resource> {
  let zone, region;
  if (await gae.onAppEngineStandard()) {
    [zone, region] = await Promise.all([
      gae.standardAvailabilityZone(),
      gae.standardCloudRegion(),
    ]);
  } else {
    ({zone, region} = await gce.availabilityZoneAndRegion());
  }
  const [faasName, faasVersion, faasInstance] = await Promise.all([
    gae.serviceName(),
    gae.serviceVersion(),
    gae.serviceInstance(),
  ]);

  return await makeResource({
    [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_GCP_APP_ENGINE,
    [SEMRESATTRS_FAAS_NAME]: faasName,
    [SEMRESATTRS_FAAS_VERSION]: faasVersion,
    [SEMRESATTRS_FAAS_INSTANCE]: faasInstance,
    [SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: zone,
    [SEMRESATTRS_CLOUD_REGION]: region,
  });
}