Commit Graph

384 Commits

Author SHA1 Message Date
eric schkufza
4d1eb2c8db
Whitelist host.docker.internal along with localhost and localstack (#4522) 2021-11-02 21:00:15 -01:00
Brandon Bodnar
6264fb292c
fix: S3 CopyObjects with embedded percent encoding (#4514) 2021-11-01 21:17:06 -01:00
Vincent Barbaresi
03c170e206
S3: Implement CORS headers in OPTIONS requests (#4497) 2021-10-30 10:02:30 +00:00
Vincent Barbaresi
ecdd395bec
Fix range headers: use response_headers parameters instead of creating a new dict (#4502) 2021-10-30 09:49:42 +00:00
Macwan Nevil
5771dcf73b
fixed default kms keys;fixed object locking exception (#4385) 2021-10-26 09:57:58 +00:00
Bert Blommers
14a69c7524
Techdebt: Enable pylint rules (#4432) 2021-10-18 19:44:29 +00:00
Bert Blommers
135edda994
S3 - get/put/delete replication config (#4421) 2021-10-16 17:26:09 +00:00
Bert Blommers
d916fd636f
S3:list_object_versions() - Implement Delimiter + KeyMarker (#4413) 2021-10-14 18:13:40 +00:00
Bert Blommers
df1732c737
S3 - list_objects(MaxKeys=0) (#4411) 2021-10-14 09:49:50 +00:00
Bert Blommers
773e9a9f79
S3 - Allow for keyname that is just an empty space (#4244) 2021-10-09 10:12:26 +00:00
Macwan Nevil
a17d17ec6e
fixed object locking mechanism in s3 (#4367) 2021-10-06 20:05:26 +00:00
Bert Blommers
c3503081bc
S3: HeadBucket requests should be authenticated (#4346) 2021-09-25 17:25:27 +00:00
Bert Blommers
c53183db70
S3 - Correct error when creating a bucket that already exists (#4257) 2021-09-01 16:30:01 +01:00
Bert Blommers
dc49232734
S3 - HeadObject should authenticate requests (#4240) 2021-08-29 14:49:05 +01:00
Bert Blommers
67ec21eef8
Prep release 2.2.6 (#4238) 2021-08-28 17:13:52 +01:00
Bert Blommers
532386327d
S3 - Add RequestId to responses (#3836) 2021-08-28 08:32:14 +01:00
Bert Blommers
0317c502f0
S3 ListParts API: use MaxParts parameter (#3658) 2021-08-28 07:38:16 +01:00
Bert Blommers
684cafa2b8
S3 - Allow uploads using a PUT request without content-type (#3699) 2021-08-28 06:10:16 +01:00
Bert Blommers
8d4596a366
Prep Release 2.2.4 (#4205)
* S3 - Refactor logic to models.py, out of Response-class

* Changelog for release 2.2.4
2021-08-21 15:05:40 +01:00
Łukasz
73368863eb
Added handling for V4 signatures in PutObject body (#4201)
Co-authored-by: Łukasz Nowak <lukasz.nowak@idemia.com>
2021-08-19 15:06:43 +01:00
Cristopher Pinzón
1d90946072
Feature S3 Object Lock (#4174) 2021-08-17 06:16:59 +01:00
Roman Skurikhin
803e005343
Remove leading space from DeleteObject action name (#4108) 2021-07-29 14:50:24 +01:00
Waldemar Hummer
f4f8527955
Merge LocalStack changes into upstream moto (#4082)
* fix OPTIONS requests on non-existing API GW integrations

* add cloudformation models for API Gateway deployments

* bump version

* add backdoor to return CloudWatch metrics

* Updating implementation coverage

* Updating implementation coverage

* add cloudformation models for API Gateway deployments

* Updating implementation coverage

* Updating implementation coverage

* Implemented get-caller-identity returning real data depending on the access key used.

* bump version

* minor fixes

* fix Number data_type for SQS message attribute

* fix handling of encoding errors

* bump version

* make CF stack queryable before starting to initialize its resources

* bump version

* fix integration_method for API GW method integrations

* fix undefined status in CF FakeStack

* Fix apigateway issues with terraform v0.12.21
* resource_methods -> add handle for "DELETE" method
* integrations -> fix issue that "httpMethod" wasn't included in body request (this value was set as the value from refer method resource)

* bump version

* Fix setting http method for API gateway integrations (#6)

* bump version

* remove duplicate methods

* add storage class to S3 Key when completing multipart upload (#7)

* fix SQS performance issues; bump version

* add pagination to SecretsManager list-secrets (#9)

* fix default parameter groups in RDS

* fix adding S3 metadata headers with names containing dots (#13)

* Updating implementation coverage

* Updating implementation coverage

* add cloudformation models for API Gateway deployments

* Updating implementation coverage

* Updating implementation coverage

* Implemented get-caller-identity returning real data depending on the access key used.

* make CF stack queryable before starting to initialize its resources

* bump version

* remove duplicate methods

* fix adding S3 metadata headers with names containing dots (#13)

* Update amis.json to support EKS AMI mocks (#15)

* fix PascalCase for boolean value in ListMultipartUploads response (#17); fix _get_multi_param to parse nested list/dict query params

* determine non-zero container exit code in Batch API

* support filtering by dimensions in CW get_metric_statistics

* fix storing attributes for ELBv2 Route entities; API GW refactorings for TF tests

* add missing fields for API GW resources

* fix error messages for Route53 (TF-compat)

* various fixes for IAM resources (tf-compat)

* minor fixes for API GW models (tf-compat)

* minor fixes for API GW responses (tf-compat)

* add s3 exception for bucket notification filter rule validation

* change the way RESTErrors generate the response body and content-type header

* fix lint errors and disable "black" syntax enforcement

* remove return type hint in RESTError.get_body

* add RESTError XML template for IAM exceptions

* add support for API GW minimumCompressionSize

* fix casing getting PrivateDnsEnabled API GW attribute

* minor fixes for error responses

* fix escaping special chars for IAM role descriptions (tf-compat)

* minor fixes and tagging support for API GW and ELB v2 (tf-compat)

* Merge branch 'master' into localstack

* add "AlarmRule" attribute to enable support for composite CloudWatch metrics

* fix recursive parsing of complex/nested query params

* bump version

* add API to delete S3 website configurations (#18)

* use dict copy to allow parallelism and avoid concurrent modification exceptions in S3

* fix precondition check for etags in S3 (#19)

* minor fix for user filtering in Cognito

* fix API Gateway error response; avoid returning empty response templates (tf-compat)

* support tags and tracingEnabled attribute for API GW stages

* fix boolean value in S3 encryption response (#20)

* fix connection arn structure

* fix api destination arn structure

* black format

* release 2.0.3.37

* fix s3 exception tests

see botocore/parsers.py:1002 where RequestId is removed from parsed

* remove python 2 from build action

* add test failure annotations in build action

* fix events test arn comparisons

* fix s3 encryption response test

* return default value "0" if EC2 availableIpAddressCount is empty

* fix extracting SecurityGroupIds for EC2 VPC endpoints

* support deleting/updating API Gateway DomainNames

* fix(events): Return empty string instead of null when no pattern is specified in EventPattern (tf-compat) (#22)

* fix logic and revert CF changes to get tests running again (#21)

* add support for EC2 customer gateway API (#25)

* add support for EC2 Transit Gateway APIs (#24)

* feat(logs): add `kmsKeyId` into `LogGroup` entity (#23)

* minor change in ELBv2 logic to fix tests

* feat(events): add APIs to describe and delete CloudWatch Events connections (#26)

* add support for EC2 transit gateway route tables (#27)

* pass transit gateway route table ID in Describe API, minor refactoring (#29)

* add support for EC2 Transit Gateway Routes (#28)

* fix region on ACM certificate import (#31)

* add support for EC2 transit gateway attachments (#30)

* add support for EC2 Transit Gateway VPN attachments (#32)

* fix account ID for logs API

* add support for DeleteOrganization API

* feat(events): store raw filter representation for CloudWatch events patterns (tf-compat) (#36)

* feat(events): add support to describe/update/delete CloudWatch API destinations (#35)

* add Cognito UpdateIdentityPool, CW Logs PutResourcePolicy

* feat(events): add support for tags in EventBus API (#38)

* fix parameter validation for Batch compute environments (tf-compat)

* revert merge conflicts in IMPLEMENTATION_COVERAGE.md

* format code using black

* restore original README; re-enable and fix CloudFormation tests

* restore tests and old logic for CF stack parameters from SSM

* parameterize RequestId/RequestID in response messages and revert related test changes

* undo LocalStack-specific adaptations

* minor fix

* Update CodeCov config to reflect removal of Py2

* undo change related to CW metric filtering; add additional test for CW metric statistics with dimensions

* Terraform - Extend whitelist of running tests

Co-authored-by: acsbendi <acsbendi28@gmail.com>
Co-authored-by: Phan Duong <duongpv@outlook.com>
Co-authored-by: Thomas Rausch <thomas@thrau.at>
Co-authored-by: Macwan Nevil <macnev2013@gmail.com>
Co-authored-by: Dominik Schubert <dominik.schubert91@gmail.com>
Co-authored-by: Gonzalo Saad <saad.gonzalo.ale@gmail.com>
Co-authored-by: Mohit Alonja <monty16597@users.noreply.github.com>
Co-authored-by: Miguel Gagliardo <migag9@gmail.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-07-26 15:21:17 +01:00
Bert Blommers
7693d77333
Remove Py2 support (#3915) 2021-07-26 07:40:39 +01:00
Bert Blommers
a230e2a7e3
#3113 - S3#list_object_versions - verify prefix argument (#4041) 2021-06-28 16:22:08 +01:00
Bert Blommers
0f4ab4da1c
S3 - Dont error when deleting unknown keys (#4036)
* #1581 - S3 - Dont error when deleting unknown keys

* Update test_s3bucket_path.py
2021-06-25 10:26:03 +01:00
amar jandu
58381cce8f
S3 - Fix exception for missing versionID (#3887) 2021-04-30 12:36:08 +01:00
Codeglitches
9f9716ee01
Check S3_IGNORE_SUBDOMAIN_BUCKETNAME environment variable (#3796)
* Check S3_IGNORE_SUBDOMAIN_BUCKETNAME environment variable

* move S3_IGNORE_SUBDOMAIN_BUCKETNAME environment variable to settings
2021-03-26 16:51:19 +00:00
Tibor Djurica Potpara
b06e77b604
Make put-object-acl return 404 if the key does not exist (#3777)
Co-authored-by: Tibor Djurica Potpara <tibor.djurica@reddit.com>
2021-03-16 22:24:41 +00:00
wynnw
891118a7c7
#3667: Update the s3 post functionality to better support success_action_redirect (#3668)
* Update the s3 post functionality to better support success_action_redirect

- Add the bucket/key values to the redirect url like s3 does, which
supports code that relies on the key value being there on the
redirect.
- Add support for replacing ${filename} in the key value with the actual
filename from the form upload.

See Issue #3667

* Update s3 tests for changed success_action_redirect behavior

- Adds a new test called test_s3_server_post_to_bucket_redirect that
tests both the ${filename} replacement and the key/value addition to the
redirect query args
- Updated the test_creating_presigned_post checks to handle the
key/value additions to the redirect url.

* Fix test updates to work with python2.7

- remove f-string usage
- fix urllib.parse imports to use six

Co-authored-by: Wynn Wilkes <wynn@leading2lean.com>
2021-02-10 09:06:03 +00:00
Rahul Ranjan
7d066cea2f
Add versionid header in complete multipart if enabled (#3643)
* Add versionid header in complete multipart if enabled
- addresses https://github.com/localstack/localstack/issues/3514

* remove unnecessary code

* fix lint

* fix lint test

* add test case for boto3
2021-02-02 09:51:17 +00:00
Macwan Nevil
02ac5ca111
added sse support for s3 (#3592)
* added sse support for s3

* lint fixed for py37
2021-01-18 18:17:13 +00:00
Rahul Ranjan
628c026a07
Sort s3 object versions by last_modified_on in descending order (#3588)
* Sort s3 object versions by last_modified_on in descending order

- addresses https://github.com/localstack/localstack/issues/3433

* fix for python 2

* fix lint
2021-01-15 18:28:28 +00:00
Bert Blommers
d1696a37e5
#2710 - S3 - Raise specific error when GetObject is called with unknown VersionId (#3532) 2021-01-13 16:06:09 +00:00
Bert Blommers
df8bd43a45
#2965 - S3 - GetObject - Treat empty Range-argument as a regular GET (#3531) 2021-01-13 10:00:18 +00:00
irahulranjan
dffc0e449c
Fix: ListObjectsV2 behaving differently than AWS API (#3545)
* fix : localstack issue https://github.com/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+language%3Ago

* add assertion for error message as well
2020-12-13 13:38:25 +00:00
Bert Blommers
cc27f1ef0c S3 - Add more detail to error responses 2020-10-28 14:22:18 +00:00
Steve Pulec
d54eafa420
Merge pull request #3326 from bblommers/bugfix/3306
Fix S3 creation date for AWS Java SDK
2020-09-22 16:44:56 -05:00
usmangani1
0b9903a3df
Fix:s3 List Object response:delimiter (#3254)
* Fix:s3 List Object delimiter in response

* fixed tests

* fixed failed tests

Co-authored-by: usmankb <usman@krazybee.com>
2020-09-21 16:21:18 +01:00
ruthbovell
1022aa0968
Issue 3224 s3 copy glacier object (#3318)
* 3224 Enhancement - S3 Copy restored glacier objects

- adds setter for expiry date
- copy sets expiry date to none when source is glacier object
- throws error for copying glacier object only if not restored/still restoring

* 3224 Enhancement - S3 Copy restored glacier objects

- throws error for copying deep archive object only if not restored/still restoring
2020-09-21 07:37:50 +01:00
Bert Blommers
8c94893869 #3306 - Fix S3 creation date for AWS Java SDK 2020-09-19 20:12:11 +01:00
Leo Sutic
94543f6e48
Include response headers when deleting objects. (#3313)
* Return delete meta.

* Add tests.

* Lint fixes.

Co-authored-by: Leo Sutic <leo.sutic@matterport.com>
2020-09-15 13:29:09 +01:00
Arcadiy Ivanov
c2d1ce2c14
Add If-Match, If-None-Match and If-Unmodified-Since to S3 GET/HEAD (#3021)
fixes #2705
2020-09-11 10:17:39 +01:00
usmangani1
d2e16ecc2e
Fix:s3 Presign Post with object acl (#3246)
* Fix:s3 Presign Post with object acl

* Added import in tests

Co-authored-by: usmankb <usman@krazybee.com>
2020-09-02 18:35:53 +01:00
usmangani1
00a5641cb9
Fix:s3 Presign Put Request with File upload (#3235)
* Fix:s3 Presign Put Request with File upload

* Added imports in test

Co-authored-by: usmankb <usman@krazybee.com>
2020-09-02 07:10:56 +01:00
Bert Blommers
8b63421321 S3 - Only add metadata once; use binary file content 2020-07-12 18:29:10 +01:00
Bert Blommers
b33c5dff06 #2104 - S3 - Persist metadata for Presigned URL 2020-07-12 13:33:46 +01:00
Bert Blommers
9ed7ba58df S3 - Implement delete_object_tagging 2020-06-20 12:15:29 +01:00
Dawn James
8ce12027dd
Return correct error when creating a bucket with empty CreateBucketConfiguration (#3079)
* Several updates to the contributor documentation with extra information.

* Fix failing test by providing a region.

* Create test for issue 2210.

* Check if CreateBucketConfiguration is supplied and empty; raise MalformedXML error if so.
2020-06-19 11:44:43 +01:00
Bert Blommers
20784a2d67 Improve implementation coverage 2020-06-06 13:15:50 +01:00
jweite
4d3e3c8c5e
implemented s3 default encryption methods (#3022)
* implemented s3 default encryption methods

* PR adjustments: moved logic for retrieving bucket's encrypted status to the backend.

Co-authored-by: Joseph Weitekamp <jweite@amazon.com>
2020-05-27 17:21:03 +01:00
Bert Blommers
49b00942c3 S3 DeleteObjects - Allow multiple querystring formats 2020-05-01 13:50:11 +01:00
Bert Blommers
b5a894dd89
Merge pull request #2919 from antoinewdg-mt/fix-s3-delete-objects-with-versioning
Handle VersionId in S3:delete_objects
2020-04-27 15:38:06 +01:00
Antoine Wendlinger
41abd4344b Use xmltodict for parsing 2020-04-27 11:42:27 +02:00
Steve Pulec
efbb9c54a5
Merge pull request #2909 from oliparcol/bug/2759
S3 - Allow keys to start with leading slashes
2020-04-25 18:46:25 -05:00
Steve Pulec
b24b7cb858
Merge branch 'master' into feature/extend_generic_tagger_to_s3 2020-04-25 18:40:50 -05:00
Olivier Parent Colombel
d852f7dd06 Fixing lint errors. 2020-04-25 17:49:50 +02:00
Olivier Parent Colombel
637e0188a2 Allow S3 keys to start with leading slashes. 2020-04-25 17:49:50 +02:00
Antoine Wendlinger
9ed6e52d0a Handle VersionId in S3:delete_objects
VersionId is not read in delete_objects requests, and the behavior
differs from its singular counterpart delete_object.

This fixes the issue.
2020-04-23 19:01:58 +02:00
Daniel Wallace
50a147592d
Make all CallbackResponse requests into a Werkzeug Request
The "request" object in CallbackResponse is the PreparedRequest send by
whatever client is used to contact the mocked moto service. This can end
up with unparsed bodies, as we added for processing presigned post
requests in #2155. This will make sure that all of the requests comming
in from mocked functions also get processed by werkzeug as if it was
running a live server.
2020-04-22 09:08:30 -05:00
Daniel Wallace
80b27a6b93
blacken 2020-04-21 21:43:32 -05:00
Daniel Wallace
4b0ba73204
use werkzeug
hooray, thanks pallets discord!
2020-04-21 20:13:53 -05:00
Daniel Wallace
49b056563a
process multipart form 2020-04-21 19:52:10 -05:00
Daniel Wallace
b3f6e5ab2f
add test 2020-04-21 18:07:50 -05:00
Daniel Wallace
156ba56fdc
set default status for s3 posts
and add support for success_action_redirect.
2020-04-21 18:06:43 -05:00
David Holroyd
a845de1142 PutObject and DeleteObject should produce no XML
S3 itself produces an empty body, with any response metadata in HTTP
headers only.
2020-04-06 21:01:43 +01:00
David Holroyd
16db824d8a Fix response XML structure 2020-04-06 00:19:19 +01:00
Bert Blommers
8dbfd43c5c Use TaggingService for S3 - Cleanup 2020-04-01 15:35:25 +01:00
Bert Blommers
f7ad4cbc09 Use TaggingService for S3 Objects 2020-03-31 12:04:04 +01:00
Bert Blommers
6dd6686afc Use TaggingService for S3 Buckets 2020-03-31 11:10:38 +01:00
Mike Grima
0c191ac33b Raise errors on tagging buckets with aws:*
Cannot tag S3 buckets with reserved tag key space `aws:`
2020-03-30 17:27:06 -07:00
Steve Pulec
6b6a059350
Merge pull request #2132 from Projectplace/tagging-directive
Support x-amz-tagging-directive in s3 copy_object
2020-02-17 20:00:30 -06:00
Steve Pulec
a1ffb47ae4
Merge pull request #2751 from mikegrima/s3control
Implemented S3 Account-level public access block.
2020-02-17 19:53:15 -06:00
Mike Grima
11b7be0e85 Implemented S3 Account-level public access block.
- Also added AWS Config listing and fetching support
- Also fixed Lambda test breakage
2020-02-17 15:41:27 -08:00
Daniel Wallace
01f3b60c09
Allow ports in k8s service urls for s3 mock
If there is a port in the host for the request, then this if statement
is not tripped.
2020-02-17 17:38:53 -06:00
Bert Blommers
f74f08581a S3 - Add IllegalLocationConstraint validation when creating buckets 2020-02-02 10:36:51 +00:00
Steve Pulec
19bf8bf762 Change S3 S3_ALL_BUCKETS response to return bucket creation_date in iso format. 2020-01-22 20:43:45 -06:00
Steve Pulec
d73a548bb0 Remove duplicate StorageClass in S3_MULTIPART_LIST_RESPONSE. 2020-01-22 19:45:27 -06:00
Waldemar Hummer
bcc4a74869 avoid rendering "None" as S3 Prefix value 2019-12-21 12:08:13 +01:00
Fabio Dias
743dd46399 black linting 2019-12-16 21:25:20 -05:00
Fabio Dias
fd9ac4b9a5 ACCOUNT_ID moved to moto.core, MOTO_ACCOUNT_ID env var override 2019-12-16 21:05:29 -05:00
Fabio Dias
fb9ebe5a47 linting fixes 2019-12-16 19:56:11 -05:00
Fabio Dias
b83a750630 Added references to moto.iam.models.ACCOUNT_ID instead of hardcoded id 2019-12-16 19:56:11 -05:00
Mike Grima
84ccdbd1cd Implemented S3 Public Access Block 2019-12-12 17:45:31 -08:00
Niklas Janlert
b51d5ad65f Support x-amz-tagging-directive in s3 copy_object 2019-11-23 00:38:26 +01:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
Mike Grima
1cde5d37eb
Merge pull request #2483 from thincal/fix/list-objects-with-truncation
s3 list_object: return the NextMarker info if it's truncated
2019-10-22 09:57:15 -07:00
LS
d3ed7ee240 s3 list_object: return the NextMarker info if it's truncated 2019-10-21 09:40:05 +08:00
Harrison Termotto
df2de373b2 Add tagging to versioned s3 objects. 2019-10-17 00:16:16 -04:00
Mike Grima
ab0853cddc Made fixes to the S3 Lifecycle mocks to be more consistent with the API. 2019-10-05 12:29:09 -07:00
Chih-Hsuan Yen
6c0a2dc374
Fix copying S3 objects with question marks in keys
PR #2062 fixes copy for unicode keys. However, the change breaks keys
with question marks. Here is an alternative fix that works for both
emojis and question marks.

I notice this when running the test suite of aiobotocore. One of the
tests [1] is broken with moto >= 1.3.8.

[1] https://github.com/aio-libs/aiobotocore/blob/0.10.3/tests/test_basic_s3.py#L314-L329
2019-09-29 23:55:52 +08:00
Jesse Vogt
3b4cd1c27b switch from calling clean in loop to undoing clean in delete_keys 2019-09-24 17:07:58 -05:00
Gapex
1c36e1e2c5 update unit test and fix StartAfter 2019-09-17 10:42:10 +08:00
Gapex
4946f8b853 'lint' 2019-09-16 15:31:57 +08:00
Gapex
59f87e30ba split truncated keys by type 2019-09-16 15:20:24 +08:00
Gapex
47635dc82e update key of sort 2019-09-16 13:33:53 +08:00
Gapex
a36b84b3aa fix MaxKeys in list_objects_v2 2019-09-16 11:35:36 +08:00
Gapex
d6ef01b9fd lint 2019-09-12 18:40:07 +08:00
Gapex
eea67543d1 MaxKeys limits the sum of folders and keys 2019-09-12 17:54:02 +08:00
Vury Leo
71241f1c3f
make linter happy 2019-08-20 15:17:17 +08:00
Vury Leo
1249ba8d3b
fix KeyCount in s3.list_objects_v2 2019-08-20 15:01:37 +08:00
Berislav Kovacki
b7884ef903 Add S3 support for INTELLIGENT_TIERING, GLACIER and DEEP_ARCHIVE storage
* Add INTELLIGENT_TIERING, GLACIER and DEEP_ARCHIVE as valid storage
classes for objects
* Add ObjectNotInActiveTierError error on PUT object copy for GLACIER
and DEEP_ARCHIVE storage class objects
2019-08-05 17:34:39 +02:00
Steve Pulec
69d86cbd54
Merge pull request #2300 from acsbendi/master
Basic IAM authentication, authorization
2019-07-28 17:22:52 -05:00
acsbendi
f3f47d44ac Fixed error in python 2 and did some refactoring. 2019-07-26 21:05:04 +02:00
acsbendi
290f8f9fd5 Fixed host header not included in S3 requests sometimes. 2019-07-26 19:50:24 +02:00
acsbendi
45a380a807 Fixed host not present in headers for S3 requests. 2019-07-24 21:29:00 +02:00
Steve Pulec
5abe56fd2b
Merge pull request #2250 from szczeles/s3_delete_objects_boto3
Raising MalformedXML exception when using boto3 client and s3.delete_objects()
2019-07-23 22:41:45 -05:00
acsbendi
95799b99bc Fixed incorrect authentication error handling in S3. 2019-07-16 16:27:50 +02:00
Ruslan Kuprieiev
2c2dff22bc moto: s3: support partNumber for head_object
To support it, we need to keep multipart info in the key itself when
completing multipart upload.

Fixes #2154

Signed-off-by: Ruslan Kuprieiev <ruslan@iterative.ai>
2019-07-15 20:47:29 +03:00
acsbendi
419fcf2ee9 Merge branch 'master' of https://github.com/spulec/moto into spulec-master 2019-07-13 13:43:19 +02:00
Mariusz Strzelecki
f32db6e64a Raising MalformedXML exception when using boto3 client and s3.delete_objects() 2019-07-11 09:53:23 +02:00
acsbendi
86758182a7 Removed print. 2019-07-04 16:42:11 +02:00
acsbendi
5dbec8aee5 Implemented checking if S3 action is permitted. 2019-07-04 16:38:53 +02:00
Aden Khan
b2adbf1f48 Adding the functionality and test so that the If-Modified-Since header is honored in GET Object
Signed-off-by: Aden Khan <aakhan@sep.com>
2019-07-03 14:25:08 -04:00
Alexander Mohr
7271fb9391 Fix S3 backend operations with VersionId (#2055)
* fix s3 issues

* fix merge conflict

* fix and add test cases
2019-05-25 20:19:33 +01:00
Gregory Bataille
d952410965 1987 support transfer acceleration (#2018)
* chore(): remove executable flag on moto/s3/response.py

* chore(): ignore .eggs temp file

* feat(#1987): get bucket acceleration support

* feat(#1987): put bucket acceleration support

* feat(#1987): suspend undefined bucket is a no-op

* feat(#1987): validate accelerate_configuration status

* feat(#1987): bucket containing dots do not support acceleration

* doc(#1987): update implementation coverage
2019-05-25 11:19:00 +01:00
Gilbert Gilb's
dedb53371e [S3] Support null version ids for buckets with versioning disabled 2019-03-09 10:21:49 +01:00
Domenico Testa
74ff2ccc95 Reformatting to get better coverage results 2019-03-04 09:16:43 +01:00
Domenico Testa
6897a118ed Fixing S3 copy_key error when using unicode. 2019-02-16 16:42:00 +01:00
Steve Pulec
dec665be43
Merge pull request #1986 from okomestudio/ts/fix-s3-common-prefix-pagination
Activate proper pagination for S3 common prefixes
2018-12-28 21:22:07 -05:00
Taro Sato
2038fa92be Activate proper pagination for S3 common prefixes 2018-12-05 16:17:28 -08:00
Grégory Bataille
34ac5c72b9 feat(#1959): bucket in us-east-1 return None as LocationConstraint 2018-11-20 19:50:42 +01:00
Grégory Bataille
437eb892e2 feat(#1959): LocationConstraint us-east-1 is not accepted by the CreateBucket operation 2018-11-20 18:57:05 +01:00
Jordan Guymon
8e909f580a MockAWS implementation using botocore event hooks 2018-10-29 09:12:22 +01:00
Steve Pulec
27ca96519b Fix extra whitespace in s3. Closes #1844. 2018-10-15 01:37:38 -04:00
Jon Beilke
ea4fcaa82a add support for NoncurrentVersionTransition, NoncurrentVersionExpiration, and AbortIncompleteMultipartUpload actions to s3 lifecycle rules 2018-10-03 00:40:28 -05:00
Jordan Upiter
756b5d6671 Add support for multiple delete markers on an s3 object 2018-09-11 10:41:01 -04:00
Alexander Mohr
93a404ec37 pep 2018-05-03 02:10:17 -07:00
Alexander Mohr
7a57dc2034 fix errors 2018-05-03 01:40:49 -07:00
Mike Grima
4184acc0d2 Added Filtering support for S3 lifecycle (#1535)
* Added Filtering support for S3 lifecycle

Also added `ExpiredObjectDeleteMarker`.

closes #1533
closes #1479

* Result set no longer contains "Prefix" if "Filter" is set.
2018-04-02 14:19:14 -07:00
Colin Jones
1a8a4a084d S3 Ignore Subdomain for Bucketname Flag (#1419)
* Some circumstances need subdomains to be ignored rather that interpreted as bucketname, this patch allows such behaviour to be configured

* Adding helper case whereby localstack features as path based exception

* Remove whitespace :(
2018-03-21 09:33:09 -07:00
Mike Grima
cc14114afe Implemented S3 get/put_notification_configuration (#1516)
closes #973
2018-03-21 09:11:24 -07:00
Steve Pulec
ece7507eec
Merge pull request #1430 from OwnZones/urldecode_fix
Url decode x-amz-copy-source for S3 copyObject requests
2018-03-06 22:26:15 -05:00
Steve Pulec
326698f3fa
Merge pull request #1460 from okomestudio/s3-region-from-url
Support both virtual-hosted and path-style URLs for region name parsing
2018-03-06 21:57:57 -05:00
Taro Sato
5e70d0ce4c Support both virtual-hosted-style and path-style URLs for region name parsing 2018-01-30 16:10:43 -08:00
Taro Sato
c7bcbadc6e Fix the S3 HEAD response body 2018-01-30 13:48:04 -08:00
ciprianaradulescu
c431a3a774
Merge branch 'master' into urldecode_fix 2018-01-14 19:58:48 +02:00
Ciprian Radulescu
ef9b229acc url decode x-amz-copy-source as per s3 nodejs documentation 2018-01-14 18:49:47 +02:00
Mike Grima
770281aef2 Added put_bucket_logging support (#1401)
- Also added put acl for XML
- Put logging will also verify that the destination bucket exists in the same region with the proper ACLs attached.
2018-01-02 20:47:57 -08:00
Waldemar Hummer
cdb7305dac use S3 path style addressing when running in kubernetes (#1315) 2017-11-15 19:37:39 +00:00
Terry Cain
d447929d29 utf 8 in key deletions V2 (#1321)
* supporting utf-8 in key deletions

* Fixed decoding of version body when regexing

* Fixed some more random errors

* Possible fix

* Fixed unused import

* Added UTF comment Py2
2017-11-06 13:39:08 -08:00
Brian Pandola
68a1e41286 Fix #1318 2017-11-02 23:03:54 -07:00
Mike Grima
7167e09ca5 Fixed bug in S3 put_bucket_tagging. Closes #1181. 2017-09-22 13:35:00 -07:00
Jack Danger
390fe85137 supporting httpretty requests 2017-09-22 10:44:55 -07:00
Jack Danger
ea66a71765 supporting signed urls for private keys 2017-09-22 10:44:37 -07:00
Jack Danger
ca7661bc1e S3 keys inherit bucket ACL 2017-09-20 19:04:23 -07:00
Jack Danger
2055bb62f5 enforce s3 acls 2017-09-16 12:49:07 -07:00
Julien Duchesne
83dd9559db Handle "max-keys" in list-objects 2017-09-10 10:42:17 -07:00
Julien Duchesne
14dec68f15 Remove superfluous space 2017-09-09 00:27:54 -04:00
Julien Duchesne
0ddbcb5464 Handle 'marker' paginating parameter in the list-objects query 2017-09-09 00:25:02 -04:00