Class BlobStoreProvider
java.lang.Object
hudson.model.AbstractDescribableImpl<BlobStoreProvider>
io.jenkins.plugins.artifact_manager_jclouds.BlobStoreProvider
- All Implemented Interfaces:
ExtensionPoint,Describable<BlobStoreProvider>,Serializable
- Direct Known Subclasses:
S3BlobStore
@Restricted(org.kohsuke.accmod.restrictions.Beta.class)
public abstract class BlobStoreProvider
extends AbstractDescribableImpl<BlobStoreProvider>
implements ExtensionPoint, Serializable
Provider for jclouds-based blob stores usable for artifact storage.
An instance will be copied into a build record together with any fields it defines.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionartifactUrls(Map<String, String> artifacts, Map<String, String> contentTypes, org.jclouds.blobstore.BlobStore blobStore, String key) protected StringgetBlobPath(String key, String path) abstract StringA constant for the blob container name to use.abstract org.jclouds.blobstore.BlobStoreContextCreates the jclouds handle for working with blob.abstract StringA constant for the blob path prefix to use.abstract booleanA constant to define whether we should delete artifacts or leave them to be managed on the blob service side.abstract booleanA constant to define whether we should delete stashes or leave them to be managed on the blob service side.abstract URLtoExternalURL(org.jclouds.blobstore.domain.Blob blob, BlobStoreProvider.HttpMethod httpMethod, Duration duration) Generate a URL valid for downloading OR uploading the blob for a limited period of timeabstract URIGet a provider-specific URI.
-
Constructor Details
-
BlobStoreProvider
public BlobStoreProvider()
-
-
Method Details
-
getPrefix
A constant for the blob path prefix to use. -
getContainer
A constant for the blob container name to use. -
isDeleteArtifacts
public abstract boolean isDeleteArtifacts()A constant to define whether we should delete artifacts or leave them to be managed on the blob service side. -
isDeleteStashes
public abstract boolean isDeleteStashes()A constant to define whether we should delete stashes or leave them to be managed on the blob service side. -
getContext
Creates the jclouds handle for working with blob.- Throws:
IOException
-
toURI
Get a provider-specific URI.- Parameters:
container- container where this exists.key- fully qualified name relative to the container.- Returns:
- the URI
-
toExternalURL
@NonNull public abstract URL toExternalURL(org.jclouds.blobstore.domain.Blob blob, BlobStoreProvider.HttpMethod httpMethod, Duration duration) throws IOException Generate a URL valid for downloading OR uploading the blob for a limited period of time- Parameters:
blob- blob to generate the URL forhttpMethod- HTTP method to create a URL for (downloads or uploads)duration- The expected duration that the URL is to be valid for. Implementations without a concept of URL expiration can ignore this. Implementations can limit validity inside required bounds if the argument is too small/big, but impractical/broken arguments should be honored whenq possible.- Returns:
- the URL
- Throws:
IOException
-
getDescriptor
- Specified by:
getDescriptorin interfaceDescribable<BlobStoreProvider>
-
artifactUrls
public Map<String,URL> artifactUrls(Map<String, String> artifacts, Map<String, throws IOExceptionString> contentTypes, org.jclouds.blobstore.BlobStore blobStore, String key) - Throws:
IOException
-
getBlobPath
-