{"record":{"id":"7551af654eb5bce6","repo":"CanineHQ/canine","slug":"permission-denied-to-access-rancher","errorCode":null,"errorMessage":"Permission denied to access Rancher","messagePattern":"Permission denied to access Rancher","errorType":"exception","errorClass":"Rancher::Client::PermissionDeniedError","httpStatus":403,"severity":"error","filePath":"lib/rancher/client.rb","lineNumber":107,"sourceCode":"      raise ConnectionError, \"Rancher URL is not resolvable\"\n    rescue Net::ReadTimeout, Net::OpenTimeout\n      raise ConnectionError, \"Connection to Rancher timed out\"\n    end\n\n    private\n\n    def headers\n      @headers ||= {\n        'Content-Type' => 'application/json',\n        'Authorization' => \"Bearer #{api_token}\"\n      }\n    end\n\n    def fetch_wrapper(&block)\n      response = yield\n\n      raise UnauthorizedError, \"Unauthorized to access Rancher\" if response.code == 401\n      raise PermissionDeniedError, \"Permission denied to access Rancher\" if response.code == 403\n\n      if response.success?\n        response.parsed_response\n      else\n        raise \"Failed to fetch from Rancher: #{response.code} #{response.body}\"\n      end\n    end\n  end\nend\n","sourceCodeStart":89,"sourceCodeEnd":117,"githubUrl":"https://github.com/CanineHQ/canine/blob/ba4ee3968d8513ee27d8583fbd3e854a8dd053f3/lib/rancher/client.rb#L89-L117","documentation":"Error \"Permission denied to access Rancher\" thrown in CanineHQ/canine.","triggerScenarios":"Thrown at lib/rancher/client.rb:107 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ba4ee3968d8513ee27d8583fbd3e854a8dd053f3","analyzedAt":"2026-08-23T17:49:27.834Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}