121 lines
3.1 KiB
YAML
121 lines
3.1 KiB
YAML
# List all buckets
|
|
s3_list_buckets:
|
|
path: /s3/
|
|
controller: App\Controller\S3ApiController::listBuckets
|
|
methods: [GET]
|
|
|
|
# Bucket operations
|
|
s3_create_bucket:
|
|
path: /s3/{bucket}
|
|
controller: App\Controller\S3ApiController::createBucket
|
|
methods: [PUT]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
|
|
s3_delete_bucket:
|
|
path: /s3/{bucket}
|
|
controller: App\Controller\S3ApiController::deleteBucket
|
|
methods: [DELETE]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
|
|
s3_head_bucket:
|
|
path: /s3/{bucket}
|
|
controller: App\Controller\S3ApiController::headBucket
|
|
methods: [HEAD]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
|
|
s3_list_objects:
|
|
path: /s3/{bucket}
|
|
controller: App\Controller\S3ApiController::listObjects
|
|
methods: [GET]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
|
|
# Object operations
|
|
s3_put_object:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::putObject
|
|
methods: [PUT]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_get_object:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::getObject
|
|
methods: [GET]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_head_object:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::headObject
|
|
methods: [HEAD]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_delete_object:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::deleteObject
|
|
methods: [DELETE]
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
# Multipart upload operations
|
|
s3_initiate_multipart:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::initiateMultipartUpload
|
|
methods: [POST]
|
|
condition: "request.query.has('uploads')"
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_upload_part:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::uploadPart
|
|
methods: [PUT]
|
|
condition: "request.query.has('partNumber') and request.query.has('uploadId')"
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_complete_multipart:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::completeMultipartUpload
|
|
methods: [POST]
|
|
condition: "request.query.has('uploadId') and not request.query.has('uploads')"
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_abort_multipart:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::abortMultipartUpload
|
|
methods: [DELETE]
|
|
condition: "request.query.has('uploadId')"
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_list_parts:
|
|
path: /s3/{bucket}/{key}
|
|
controller: App\Controller\S3ApiController::listParts
|
|
methods: [GET]
|
|
condition: "request.query.has('uploadId')"
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+'
|
|
key: '.+'
|
|
|
|
s3_list_multipart_uploads:
|
|
path: /s3/{bucket}
|
|
controller: App\Controller\S3ApiController::listMultipartUploads
|
|
methods: [GET]
|
|
condition: "request.query.has('uploads')"
|
|
requirements:
|
|
bucket: '[a-z0-9\-\.]+' |