in s3/src/main/scala/org/apache/pekko/stream/connectors/s3/javadsl/S3.scala [1317:1638]
def multipartCopy(sourceBucket: String,
sourceKey: String,
targetBucket: String,
targetKey: String,
sourceVersionId: Optional[String],
s3Headers: S3Headers): RunnableGraph[CompletionStage[MultipartUploadResult]] =
multipartCopy(sourceBucket,
sourceKey,
targetBucket,
targetKey,
sourceVersionId,
ContentTypes.APPLICATION_OCTET_STREAM,
s3Headers)
/**
* Copy a S3 Object by making multiple requests.
*
* @param sourceBucket the source s3 bucket name
* @param sourceKey the source s3 key
* @param targetBucket the target s3 bucket name
* @param targetKey the target s3 key
* @param contentType an optional [[pekko.http.javadsl.model.ContentType ContentType]]
* @param s3Headers any headers you want to add
* @return the [[pekko.stream.connectors.s3.MultipartUploadResult MultipartUploadResult]] of the uploaded S3 Object
*/
def multipartCopy(sourceBucket: String,
sourceKey: String,
targetBucket: String,
targetKey: String,
contentType: ContentType,
s3Headers: S3Headers): RunnableGraph[CompletionStage[MultipartUploadResult]] =
multipartCopy(sourceBucket, sourceKey, targetBucket, targetKey, Optional.empty(), contentType, s3Headers)
/**
* Copy a S3 Object by making multiple requests.
*
* @param sourceBucket the source s3 bucket name
* @param sourceKey the source s3 key
* @param targetBucket the target s3 bucket name
* @param targetKey the target s3 key
* @param s3Headers any headers you want to add
* @return the [[pekko.stream.connectors.s3.MultipartUploadResult MultipartUploadResult]] of the uploaded S3 Object
*/
def multipartCopy(sourceBucket: String,
sourceKey: String,
targetBucket: String,
targetKey: String,
s3Headers: S3Headers): RunnableGraph[CompletionStage[MultipartUploadResult]] =
multipartCopy(sourceBucket, sourceKey, targetBucket, targetKey, ContentTypes.APPLICATION_OCTET_STREAM, s3Headers)
/**
* Copy a S3 Object by making multiple requests.
*
* @param sourceBucket the source s3 bucket name
* @param sourceKey the source s3 key
* @param targetBucket the target s3 bucket name
* @param targetKey the target s3 key
* @return the [[pekko.stream.connectors.s3.MultipartUploadResult MultipartUploadResult]] of the uploaded S3 Object
*/
def multipartCopy(sourceBucket: String,
sourceKey: String,
targetBucket: String,
targetKey: String): RunnableGraph[CompletionStage[MultipartUploadResult]] =
multipartCopy(sourceBucket,
sourceKey,
targetBucket,
targetKey,
ContentTypes.APPLICATION_OCTET_STREAM,
S3Headers.empty)
/**
* Create new bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
* @param bucketName bucket name
* @param system actor system to run with
* @param attributes attributes to run request with
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def makeBucket(bucketName: String,
system: ClassicActorSystemProvider,
attributes: Attributes): CompletionStage[Done] =
makeBucket(bucketName, system, attributes, S3Headers.empty)
/**
* Create new bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
* @param bucketName bucket name
* @param system actor system to run with
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def makeBucket(bucketName: String, system: ClassicActorSystemProvider): CompletionStage[Done] =
makeBucket(bucketName, system, Attributes(), S3Headers.empty)
/**
* Create new bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @param attributes attributes to run request with
* @param s3Headers any headers you want to add
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def makeBucket(bucketName: String,
system: ClassicActorSystemProvider,
attributes: Attributes,
s3Headers: S3Headers): CompletionStage[Done] =
S3Stream.makeBucket(bucketName, s3Headers)(SystemMaterializer(system).materializer, attributes).asJava
/**
* Create new bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
* @param bucketName bucket name
* @return [[pekko.stream.javadsl.Source Source]] of type [[Done]] as API doesn't return any additional information
*/
def makeBucketSource(bucketName: String): Source[Done, NotUsed] =
makeBucketSource(bucketName, S3Headers.empty)
/**
* Create new bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
* @param bucketName bucket name
* @param s3Headers any headers you want to add
* @return [[pekko.stream.javadsl.Source Source]] of type [[Done]] as API doesn't return any additional information
*/
def makeBucketSource(bucketName: String, s3Headers: S3Headers): Source[Done, NotUsed] =
S3Stream.makeBucketSource(bucketName, s3Headers).asJava
/**
* Delete bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @param attributes attributes to run request with
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def deleteBucket(bucketName: String,
system: ClassicActorSystemProvider,
attributes: Attributes): CompletionStage[Done] =
deleteBucket(bucketName, system, attributes, S3Headers.empty)
/**
* Delete bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @param attributes attributes to run request with
* @param s3Headers any headers you want to add
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def deleteBucket(bucketName: String,
system: ClassicActorSystemProvider,
attributes: Attributes,
s3Headers: S3Headers): CompletionStage[Done] =
S3Stream.deleteBucket(bucketName, s3Headers)(SystemMaterializer(system).materializer, attributes).asJava
/**
* Delete bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def deleteBucket(bucketName: String, system: ClassicActorSystemProvider): CompletionStage[Done] =
deleteBucket(bucketName, system, Attributes(), S3Headers.empty)
/**
* Delete bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
* @param bucketName bucket name
* @return [[pekko.stream.javadsl.Source Source]] of type [[Done]] as API doesn't return any additional information
*/
def deleteBucketSource(bucketName: String): Source[Done, NotUsed] =
deleteBucketSource(bucketName, S3Headers.empty)
/**
* Delete bucket with a given name
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
* @param bucketName bucket name
* @param s3Headers any headers you want to add
* @return [[pekko.stream.javadsl.Source Source]] of type [[Done]] as API doesn't return any additional information
*/
def deleteBucketSource(bucketName: String, s3Headers: S3Headers): Source[Done, NotUsed] =
S3Stream.deleteBucketSource(bucketName, s3Headers).asJava
/**
* Checks whether the bucket exists and the user has rights to perform the `ListBucket` operation
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @param attributes attributes to run request with
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[BucketAccess]]
*/
def checkIfBucketExists(bucketName: String,
system: ClassicActorSystemProvider,
attributes: Attributes): CompletionStage[BucketAccess] =
checkIfBucketExists(bucketName, system, attributes, S3Headers.empty)
/**
* Checks whether the bucket exists and the user has rights to perform the `ListBucket` operation
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @param attributes attributes to run request with
* @param s3Headers any headers you want to add
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[BucketAccess]]
*/
def checkIfBucketExists(bucketName: String,
system: ClassicActorSystemProvider,
attributes: Attributes,
s3Headers: S3Headers): CompletionStage[BucketAccess] =
S3Stream.checkIfBucketExists(bucketName, s3Headers)(SystemMaterializer(system).materializer, attributes).asJava
/**
* Checks whether the bucket exits and user has rights to perform ListBucket operation
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
* @param bucketName bucket name
* @param system the actor system which provides the materializer to run with
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[BucketAccess]]
*/
def checkIfBucketExists(bucketName: String, system: ClassicActorSystemProvider): CompletionStage[BucketAccess] =
checkIfBucketExists(bucketName, system, Attributes(), S3Headers.empty)
/**
* Checks whether the bucket exits and user has rights to perform ListBucket operation
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
* @param bucketName bucket name
* @return [[pekko.stream.javadsl.Source Source]] of type [[BucketAccess]]
*/
def checkIfBucketExistsSource(bucketName: String): Source[BucketAccess, NotUsed] =
checkIfBucketExistsSource(bucketName, S3Headers.empty)
/**
* Checks whether the bucket exits and user has rights to perform ListBucket operation
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
* @param bucketName bucket name
* @param s3Headers any headers you want to add
* @return [[pekko.stream.javadsl.Source Source]] of type [[BucketAccess]]
*/
def checkIfBucketExistsSource(bucketName: String, s3Headers: S3Headers): Source[BucketAccess, NotUsed] =
S3Stream.checkIfBucketExistsSource(bucketName, s3Headers).asJava
/**
* Delete all existing parts for a specific upload id
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
* @param bucketName Which bucket the upload is inside
* @param key The key for the upload
* @param uploadId Unique identifier of the upload
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def deleteUpload(bucketName: String, key: String, uploadId: String)(
implicit system: ClassicActorSystemProvider,
attributes: Attributes = Attributes()): CompletionStage[Done] =
deleteUpload(bucketName, key, uploadId, S3Headers.empty)
/**
* Delete all existing parts for a specific upload
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
* @param bucketName Which bucket the upload is inside
* @param key The key for the upload
* @param uploadId Unique identifier of the upload
* @param s3Headers any headers you want to add
* @return [[java.util.concurrent.CompletionStage CompletionStage]] of type [[Done]] as API doesn't return any additional information
*/
def deleteUpload(
bucketName: String,
key: String,
uploadId: String,
s3Headers: S3Headers)(
implicit system: ClassicActorSystemProvider, attributes: Attributes): CompletionStage[Done] =
S3Stream
.deleteUpload(bucketName, key, uploadId, s3Headers)(SystemMaterializer(system).materializer, attributes)
.asJava
/**
* Delete all existing parts for a specific upload
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
* @param bucketName Which bucket the upload is inside
* @param key The key for the upload
* @param uploadId Unique identifier of the upload
* @return [[pekko.stream.javadsl.Source Source]] of type [[Done]] as API doesn't return any additional information
*/
def deleteUploadSource(bucketName: String, key: String, uploadId: String): Source[Done, NotUsed] =
deleteUploadSource(bucketName, key, uploadId, S3Headers.empty)
/**
* Delete all existing parts for a specific upload
*
* @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
*
* @param bucketName Which bucket the upload is inside
* @param key The key for the upload
* @param uploadId Unique identifier of the upload
* @param s3Headers any headers you want to add
* @return [[pekko.stream.javadsl.Source Source]] of type [[Done]] as API doesn't return any additional information
*/
def deleteUploadSource(bucketName: String,
key: String,
uploadId: String,
s3Headers: S3Headers): Source[Done, NotUsed] =
S3Stream.deleteUploadSource(bucketName, key, uploadId, s3Headers).asJava
private def func[T, R](f: T => R) = new pekko.japi.function.Function[T, R] {
override def apply(param: T): R = f(param)
}