Class BucketController

  • All Implemented Interfaces:

    @CrossOrigin(origins = {"*"}, exposedHeaders = {"*"})@Controller()@RequestMapping(value = {"${com.adobe.testing.s3mock.controller.contextPath:}"}) 
    public final class BucketController
    
                        
    • Constructor Detail

    • Method Detail

      • listBuckets

        @GetMapping(value = {"/"}, produces = {"application/xml"}) final ResponseEntity<ListAllMyBucketsResult> listBuckets(@RequestParam(name = "bucket-region", required = false) Region bucketRegion, @RequestParam(name = "continuation-token", required = false) String continuationToken, @RequestParam(name = "max-buckets", defaultValue = "1000", required = false) Integer maxBuckets, @RequestParam(required = false) String prefix)
      • createBucket

        @PutMapping(value = {"/{bucketName:.+}", "/{bucketName:.+}/"}, params = {"!object-lock", "!lifecycle", "!versioning"}) final ResponseEntity<Void> createBucket(@PathVariable() String bucketName, @RequestHeader(value = "x-amz-bucket-object-lock-enabled", required = false, defaultValue = "false") Boolean objectLockEnabled, @RequestHeader(value = "x-amz-object-ownership", required = false, defaultValue = "BucketOwnerEnforced") ObjectOwnership objectOwnership, @RequestBody(required = false) CreateBucketConfiguration createBucketRequest)

        Create a bucket if the name matches a simplified version of the bucket naming rules. API Reference Bucket Naming API Reference

      • headBucket

        @RequestMapping(value = {"/{bucketName:.+}", "/{bucketName:.+}/"}, method = {RequestMethod.HEAD}) final ResponseEntity<Void> headBucket(@PathVariable() String bucketName)
      • deleteBucket

        @DeleteMapping(value = {"/{bucketName:.+}", "/{bucketName:.+}/"}, params = {"!lifecycle"}) final ResponseEntity<Void> deleteBucket(@PathVariable() String bucketName)
      • listObjects

        @GetMapping(value = {"/{bucketName:.+}", "/{bucketName:.+}/"}, params = {"!uploads", "!object-lock", "!list-type", "!lifecycle", "!location", "!versions", "!versioning"}, produces = {"application/xml"})@Deprecated(message = "Long since replaced by listObjectsV2") final ResponseEntity<ListBucketResult> listObjects(@PathVariable() String bucketName, @RequestParam(required = false) String delimiter, @RequestParam(name = "encoding-type", required = false) String encodingType, @RequestParam(required = false) String marker, @RequestParam(name = "max-keys", defaultValue = "1000", required = false) Integer maxKeys, @RequestParam(required = false) String prefix)
      • listObjectsV2

        @GetMapping(value = {"/{bucketName:.+}", "/{bucketName:.+}/"}, params = {"list-type=2"}, produces = {"application/xml"}) final ResponseEntity<ListBucketResultV2> listObjectsV2(@PathVariable() String bucketName, @RequestParam(name = "continuation-token", required = false) String continuationToken, @RequestParam(required = false) String delimiter, @RequestParam(name = "encoding-type", required = false) String encodingType, @RequestParam(name = "fetch-owner", defaultValue = "false") Boolean fetchOwner, @RequestParam(name = "max-keys", defaultValue = "1000", required = false) Integer maxKeys, @RequestParam(required = false) String prefix, @RequestParam(name = "start-after", required = false) String startAfter)
      • listObjectVersions

        @GetMapping(value = {"/{bucketName:.+}", "/{bucketName:.+}/"}, params = {"versions"}, produces = {"application/xml"}) final ResponseEntity<ListVersionsResult> listObjectVersions(@PathVariable() String bucketName, @RequestParam(required = false) String delimiter, @RequestParam(name = "encoding-type", required = false) String encodingType, @RequestParam(name = "key-marker", required = false) String keyMarker, @RequestParam(name = "max-keys", defaultValue = "1000", required = false) Integer maxKeys, @RequestParam(required = false) String prefix, @RequestParam(name = "version-id-marker", required = false) String versionIdMarker)