<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 29, 2015 at 7:55 PM, Fox, Kevin M <span dir="ltr"><<a href="mailto:Kevin.Fox@pnnl.gov" target="_blank">Kevin.Fox@pnnl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">As an Op, I really really want to replace one image with a new one atomically with security updates preapplied. Think shellshock,
 ghost, etc. It will be basically be the same exact image as before, but patched. Referencing local ID's explicitly makes it harder to ensure things are patched, since new vm's will tend to pop up after things are patched with new vulnerabilities.<br></div></div></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">​That's the exact use case for the versioning concept we have in Artifacts: each artifact is identified by name and version, so there is always "latest version of X" ​and an API call which returns it. However, that's the question of different API calls and their proper usage: get-by-id returns the very same object which was uploaded, and get by name - the latest object matching the required version. First is good for bit-to-bit immutability guarantees, cache checks etc, second - for the use cases like yours.  </div><div class="gmail_default" style="font-size:small">Same is true for the cross-artifact dependency relations: they may be static (i.e. reference by ID) or dynamic (i.e. reference by name and version).</div><br></div></div></div></div>