Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More info on the use of 'params' in resource_type declaration #273

Open
kdvolder opened this issue Oct 31, 2019 · 4 comments
Open

More info on the use of 'params' in resource_type declaration #273

kdvolder opened this issue Oct 31, 2019 · 4 comments

Comments

@kdvolder
Copy link
Contributor

I am looking at this: https://concourse-ci.org/resource-types.html#resource-type-params

It says there that this is just an 'arbitrary' object. So this suggest that the concourse editor (https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-concourse) which I am maintaining should not attempt the validate the contents of the 'params'?

However, I suspect that these params actually are a lot less arbitrary than the doc suggests. Are the parameters in fact used in the same way as would be the parameters in a get step? If so then I guess it makes sense for our editor to validate them in the same way? (i.e. for resource type like 'registry_image' we know what to expect there and so we can actually validate it.

Anyhow. The docs may not need to actually be modified (consider doing that at your own discretion), but I would like to be sure I am understanding things correctly before adding validation logic to our editor. So I would appreciate at least an answer here.

@kdvolder
Copy link
Contributor Author

Related issue: spring-projects/sts4#382

@jamieklassen
Copy link
Member

@kdvolder That's pretty cool that your editor is going that far to validate!

tl;dr - I think if your editor knows about the params that a resource type will accept, then you can look up the rule for the type: field on a resource type and validate the given params against that.

My understanding of params: on a resource type is pretty much what you said. Every resource type has a base type that it's constructed from, and the params: that you pass to the resource_types: config are the ones that get passed to the underlying type when concourse pulls it (concourse will check for versions of the custom resource type the same way it checks for concrete resources, and pull when it needs to construct a resource-related container for the custom resource). In the vast majority of cases, the base type is registry-image or docker-image, and so those params will be handled the same way those resource types normally handle params on a get.

Given how brief the current doc is, I could imagine expanding it a bit to make the connection with the params that get passed to a get. It strikes me as an important insight.

@kdvolder
Copy link
Contributor Author

kdvolder commented Nov 4, 2019

Okay thanks for confirming my guess about the 'params' being handled just like the params on a get step.

if your editor knows about the params that a resource type will accept ...

It does but only for a supported set of 'built-in' resource types. But since registry_image is one of those supported resources, I think it makes sense for our editor to validate the params here.

@jamieklassen
Copy link
Member

Totally agree, and let's leave this issue open to help fill that gap for future doc readers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants