def _gae_resource()

in opentelemetry-resourcedetector-gcp/src/opentelemetry/resourcedetector/gcp_resource_detector/_detector.py [0:0]


def _gae_resource() -> Resource:
    if _gae.on_app_engine_standard():
        zone = _gae.standard_availability_zone()
        region = _gae.standard_cloud_region()
    else:
        zone_and_region = _gae.flex_availability_zone_and_region()
        zone = zone_and_region.zone
        region = zone_and_region.region

    faas_name = _gae.service_name()
    faas_version = _gae.service_version()
    faas_instance = _gae.service_instance()

    return _make_resource(
        {
            ResourceAttributes.CLOUD_PLATFORM_KEY: ResourceAttributes.GCP_APP_ENGINE,
            ResourceAttributes.FAAS_NAME: faas_name,
            ResourceAttributes.FAAS_VERSION: faas_version,
            ResourceAttributes.FAAS_INSTANCE: faas_instance,
            ResourceAttributes.CLOUD_AVAILABILITY_ZONE: zone,
            ResourceAttributes.CLOUD_REGION: region,
        }
    )