id: ovhcloud name: OVHcloud domain: www.ovhcloud.com kind: operator mode: hybrid priority: 1 license: "Publicly accessible operator pages; factual data only; © OVHcloud" attribution: "OVHcloud" homepage: https://www.ovhcloud.com/en/datacenter/ notes: "Index page embeds a `datacenters` JSON map (city, country, lat/lng per datacenter location) → one record per location (geo precision approximate). Only depth-6 city pages (continent/country/region/city) are parsed for name/description/region; depth-5 pages are ambiguous (region vs city) and are skipped. OVHcloud does not publish per-site MW." coverage: { operators: ["OVHcloud"], countries: ["FR", "CA", "US", "DE", "GB", "PL", "AU", "SG", "IN", "IT", "ES", "MA"] } fetch: { level: 1, maxLevel: 2, rpm: 15, concurrency: 2, respectRobots: true, maxCreditsPerRun: 20, maxBytes: 6000000 } discovery: sitemap: ["https://www.ovhcloud.com/en/www.ovhcloud.com_en_sitemap.xml"] seeds: [{ url: "/en/datacenter/", group: facility_index, pageType: facility_index }] include: ["/en/datacenter/"] exclude: ["\\?", "#"] classify: - { pattern: "/en/datacenter/$", group: facility_index, pageType: facility_index, priority: 90 } - { pattern: "/en/datacenter/[a-z-]+/[a-z-]+/[a-z-]+(/[a-z-]+)?/$", group: facility_pages, pageType: facility_page, priority: 60 } schedule: { facility_index: weekly, facility_pages: monthly, sitemap: weekly } extractors: locations: { match: ["/en/datacenter/$"], kind: facility, parser: ovhcloud_locations_v1 } facility: { match: ["/en/datacenter/[a-z-]+/[a-z-]+/[a-z-]+"], kind: facility, parser: ovhcloud_facility_v1 } defaults: { operatorName: OVHcloud, facilityType: hyperscale, isHyperscale: true }