How can I override a typesafe config list value on the command line?

Michael Frank picture Michael Frank · Apr 24, 2013 · Viewed 13.7k times · Source

I have an application.conf file with a structure like the following:

poller {
  datacenters = []
}

I would like to override "datacenters" on the command line.

For other configuration keys whose values are simple types (strings, numbers) I can override using -Dpath.to.config.value=<value>, and this works fine.

However, I can't seem to find a way to do this for lists. In the example above, I tried to set "datacenters" to ["SJC", "IAD"] like so: -Dpoller.datacenters="['SJC', 'IAD']", but I get an exception that the key value is a string, not a list.

Is there a way to signal to the typesafe config library that this value is a list?

Answer

Patrik Nordwall picture Patrik Nordwall · Jun 4, 2013

An alternative syntax is implemented in version 1.0.1 for this:

-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD