id: airtrunk name: AirTrunk domain: airtrunk.com kind: operator mode: hybrid priority: 1 license: "Publicly accessible operator pages; factual data only; © AirTrunk Operating Pty Ltd" attribution: "AirTrunk" homepage: https://airtrunk.com/locations/ notes: "Facility pages /location/-/ publish key features (total capacity MW, site ha, built-up m², design PUE). Country resolved from the city named on the page (deterministic metro lookup)." coverage: { operators: ["AirTrunk"], countries: ["AU", "SG", "HK", "JP", "MY", "IN"] } fetch: { level: 1, maxLevel: 2, rpm: 15, concurrency: 2, respectRobots: true, maxCreditsPerRun: 20 } discovery: sitemap: ["https://airtrunk.com/location-sitemap.xml", "https://airtrunk.com/post-sitemap.xml"] include: ["/location/[a-z]{3}\\d-[a-z-]+/$", "airtrunk\\.com/airtrunk-[a-z0-9-]+/$"] exclude: ["\\?", "#", "/customer-notification/", "airtrunk\\.com/(zh-hans|zh|ja|ko)/"] classify: - { pattern: "/location/[a-z]{3}\\d-[a-z-]+/$", group: facility_pages, pageType: facility_page, priority: 60 } - { pattern: "airtrunk\\.com/airtrunk-[a-z0-9-]+/$", group: newsroom, pageType: press_release, priority: 50 } schedule: { facility_pages: weekly, newsroom: daily, sitemap: weekly } extractors: facility: { match: ["/location/[a-z]{3}\\d-[a-z-]+/$"], kind: facility, parser: airtrunk_facility_v1 } defaults: { operatorName: AirTrunk, facilityType: hyperscale, isHyperscale: true }