Inputs to implicit get

Hello lovely Concoursers.

How can I make an input available to an implicit get following a put?

I’ve forked bosh-config-resource with the intention of allowing it to take a source_file that can be read to configure the resource dynamically via a file. It’s the pattern used by the bosh-deployment-resource, and I want to use the same files ideally.

I’ve got this working, and I can do the put successfully. However, the implicit get aftwards fails, because the input containing the config file isn’t mounted into the container. Is there something I can do in the plan definition to solve this, or is there a design patter in my resource that I need to consider?

Here’s the job config:

- name: set-cloud-config
  serial: true
  plan:
  - get: cfvk8s
    passed: [bosh-tf]
  - get: bosh-source
    passed: [write-bosh-source]
    trigger: true
    params: { unpack: true }
  - put: cloud-config
    params:
      source_file: bosh-source/source.json
      manifest: cfvk8s/cloud-config/cloud-config.yml
    get_params:
      source_file: bosh-source/source.json
      manifest: cfvk8s/cloud-config/cloud-config.yml

It looks like get steps in general don’t support any inputs, so you won’t be able to access the bosh-source mount from the implicit get step.

I’m not familiar with BOSH, so the following might not make sense. But if the cloud-config resource’s put step can produce a unique version for each source.json and cloud-config.yml, the implicit get should automatically grab the latest version and you shouldn’t need to pass get_params. For example, you could add a timestamp to source.json. But maybe you’re trying to grab something that’s not the latest version? In that case, I’m not really sure what to do.