BinhostService: Add method to fetch private prebuilt ACL config

BUG=chromium:963528
TEST=run_tests

Change-Id: I61baf40690b37cbb580764832b733f18ba7dd1c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1638252
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
Commit-Queue: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/binhost.py b/api/controller/binhost.py
index ff6ca6f..d434379 100644
--- a/api/controller/binhost.py
+++ b/api/controller/binhost.py
@@ -10,12 +10,32 @@
 import urlparse
 
 from chromite.api.gen.chromite.api import binhost_pb2
+from chromite.lib import build_target_util
 from chromite.lib import constants
 from chromite.lib import cros_build_lib
 from chromite.lib import gs
 from chromite.service import binhost
 
 
+def GetPrivatePrebuiltAclArgs(input_proto, output_proto):
+  """Get the ACL args from the files in the private overlays."""
+  build_target_name = input_proto.build_target.name
+  if not build_target_name:
+    cros_build_lib.Die('Build target name is required.')
+
+  build_target = build_target_util.BuildTarget(build_target_name)
+
+  try:
+    args = binhost.GetPrebuiltAclArgs(build_target)
+  except binhost.Error as e:
+    cros_build_lib.Die(e.message)
+
+  for arg, value in args:
+    new_arg = output_proto.args.add()
+    new_arg.arg = arg
+    new_arg.value = value
+
+
 def PrepareBinhostUploads(input_proto, output_proto):
   """Return a list of files to uplooad to the binhost.