Class ArtifactStoreURIBuilder
- java.lang.Object
-
- com.netflix.spinnaker.kork.artifacts.artifactstore.ArtifactStoreURIBuilder
-
- Direct Known Subclasses:
ArtifactStoreURISHA256Builder
public abstract class ArtifactStoreURIBuilder extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringuriSchemeuriScheme is used as an HTTP scheme to let us further distinguish a String that is a URI to an artifact.
-
Constructor Summary
Constructors Constructor Description ArtifactStoreURIBuilder()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract ArtifactReferenceURIbuildArtifactURI(java.lang.String context, Artifact artifact)Returns the remote artifact URI that will be associated with some artifact.abstract ArtifactReferenceURIbuildURIFromPaths(java.lang.String context, java.lang.String... paths)buildRawURI is used when you have the raw path and context.
-
-
-
Field Detail
-
uriScheme
public static final java.lang.String uriScheme
uriScheme is used as an HTTP scheme to let us further distinguish a String that is a URI to an artifact. This is helpful in determining what is an artifact since sometimes we are only given a string rather than a full artifact.- See Also:
- Constant Field Values
-
-
Method Detail
-
buildArtifactURI
public abstract ArtifactReferenceURI buildArtifactURI(java.lang.String context, Artifact artifact)
Returns the remote artifact URI that will be associated with some artifact.- Parameters:
context- is the context in which this artifact was run in, e.g. the application.artifact- that will be associated with the generated URI.- Returns:
- the remote URI
-
buildURIFromPaths
public abstract ArtifactReferenceURI buildURIFromPaths(java.lang.String context, java.lang.String... paths)
buildRawURI is used when you have the raw path and context. This method just simply returns the properly formatted URI using the URI builder that extends this class.This function is primarily used in clouddriver when deck is asking for the raw artifact to be displayed. Since we don't have the artifact, but only the context and some raw ID from the gate endpoint,
/context/hash
we need to reconstruct the full remote URI in clouddriver.
String application = "my-spinnaker-application"; String artifactSHA256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; ArtifactStoreURIBuilder uriBuilder = new ArtifactStoreURISHA256Builder(); // returns ref://my-spinnaker-application/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 String uriString = uriBuilder.buildRawURI(application, artifactSHA256);- Parameters:
context- is the context in which this artifact was run in, e.g. the application.paths- are any individual path required for distinguishing an artifact.- Returns:
- a properly formatted artifact store URI
-
-