Working with VCAP_SERVICES

Our documentation assumes that your QuotaGuard Static credentials are available in the form of a connection string in the QUOTAGUARDSTATIC_URL environment variable. On CloudFoundry based platforms like IBM Bluemix, Pivotal and RedHat Openshift this is not the case so you need slightly different code to access your QuotaGuard Static credentials by extracting them from the VCAP_SERVICES environment variable.


The VCAP_SERVICES entry looks like the following:


{
  "quotaguard": [
    {
      "name": "QuotaGuardInstance",
      "label": "quotaguard",
      "tags": [],
      "plan": "starter",
      "credentials": {
        "QUOTAGUARDSTATIC_URL": "http://username:password@proxy.quotaguard.com:9293"
      }
    }
  ]
}


Extract the variable using the snippets below and then continue with our standard documented solutions.


In Java


String vcapServices = System.getenv("VCAP_SERVICES");
JsonRootNode root = new JdomParser().parse(vcapServices);
JsonNode quotaguardNode = root.getNode("quotaguard");
JsonNode credentials = quotaguardNode.getNode(0).getNode("credentials");
String proxyURL = credentials.getStringValue("QUOTAGUARDSTATIC_URL");


In Ruby


vcapServices = JSON.parse(ENV['VCAP_SERVICES'])
proxyURL = vcapServices['quotaguard'].first.dig('credentials', 'QUOTAGUARDSTATIC_URL')


In Python


service = json.loads(os.environ['VCAP_SERVICES'])['quotaguard'][0]
credentials = service['credentials']
proxy_url = credentials['QUOTAGUARDSTATIC_URL']


In Node.js/Javascript


let vcap_services = JSON.parse(process.env.VCAP_SERVICES)
let proxyUrl = vcap_services.quotaguard[0].credentials.QUOTAGUARDSTATIC_URL


In PHP


 $vcap = json_decode(getenv("VCAP_SERVICES"),true);
 $proxy_url = $vcap["quotaguard"][0]["credentials"]["QUOTAGUARDSTATIC_URL"];