Class ArtifactStoreURIBuilder

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static 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.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      abstract ArtifactReferenceURI buildArtifactURI​(java.lang.String context, Artifact artifact)
      Returns the remote artifact URI that will be associated with some artifact.
      abstract ArtifactReferenceURI buildURIFromPaths​(java.lang.String context, java.lang.String... paths)
      buildRawURI is used when you have the raw path and context.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • ArtifactStoreURIBuilder

        public ArtifactStoreURIBuilder()
    • 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