Commit Graph

1500 Commits

Author SHA1 Message Date
Alexander Mohr
941d817da4 fix lambda endpoint parsing (#1395)
* fix endpoint parsing

* add new unittest

* finish test
2018-03-21 22:14:10 -07:00
Kevin Ford
2faffc96de Use 'data' attribute of Flask Request object. (#1117)
* Flask Request object does not have a 'body' attribute, changed to 'data'

* Making moto 'glaciar' more aws 'glaciar' like.

* Making moto 'glacier' more aws 'glacier' like.

* Fixing Travis errors?

* OK, check if  object has proper attribute because HTTPrettyRequest has no data attribute and Python Requests has no body attribute.

* Output to match test expectation; sleep for 60 seconds to mimic actual wait time.

* Amending test_describe_job to reflect changes.

* Shorten time from 1 minute to seconds.

* Shorten sleep time in test.  Forgot about the test.
2018-03-21 22:13:09 -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
Ben Jones
c13f77173f add UsePreviousValue support for parameters when updating a CloudFormation stack (#1504) 2018-03-21 09:13:05 -07:00
Javier Buzzi
d55ff20685 Basic support for AWS Gateway apikeys (#1494)
* Basic support for AWS Gateway apikeys

* Adds missing -- much needed tests

* Fixes issue with master merge

* Fixes linter

* Fixes tests
2018-03-21 09:11:49 -07:00
Mike Grima
cc14114afe Implemented S3 get/put_notification_configuration (#1516)
closes #973
2018-03-21 09:11:24 -07:00
Rob Walker
4b3469292a Enable Extended CIDR Associations on VPC (#1511)
* Enable Extended CIDR Associations on VPC

* Ooops missed the utils, try to be more flakey?, remove unnecessary part in tests

* try to be even more flakey
2018-03-21 09:10:38 -07:00
Loukas Leontopoulos
b7ae704ad2 Add opsworks app mocks (#1481)
* Add implementation for OpsWorks create_app and describe_apps

* Fix the name of the test

* Add some more exception tests
2018-03-21 09:05:57 -07:00
keirbadger
fecdf388c2 Add in filtering of EBS volumes on availability-zone (#1468) 2018-03-21 08:58:32 -07:00
Ash Berlin-Taylor
1b20f21a75 Escape EMR template fields to avoid invalid XML responses (#1467)
I had an EMR step that contained a `&` and this caused the ListStep call to fail.

I've added the `| escape` filter to handle it in this case and a few other cases that look like they could suffer the same fate.
2018-03-21 08:57:50 -07:00
ramox-
508b392697 Make putparameter behave more like the real endpoint does, respond with Version or ParameterAlreadyExists (#1464) 2018-03-21 08:56:57 -07:00
Graham Lyons
5d51329c34 Don't create volumes for AMIs (#1456)
* Delete the volume used during AMI creation

Creating an AMI doesn't actually result in the creation of an EBS
volume, although the associated snapshot does reference one. To that
end, delete the volume once we've used it.

* Add `owner_id` to `Snapshot`, verify AMI snapshots

The default AMIs which are created by moto have EBS volume mappings
but the snapshots associated with those don't have the correct
owners set.

This adds the owner to the snapshot model and passes it through from
the JSON data.
2018-03-21 08:55:58 -07:00
Toshiya Kawasaki
39e9379195 Fix cloudwatch logs' response error (#1426) 2018-03-21 08:55:03 -07:00
Iain Bullard
d3d9557d49 Implement basic SNS message filtering (#1521)
* Add support for FilterPolicy to sns subscription set_filter_attributes

* Add basic support for sns message filtering

This adds support for exact string value matching along with AND/OR
logic as described here:

https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html

It does not provide support for:
- Anything-but string matching
- Prefix string matching
- Numeric Value Matching

The above filter policies (if configured) will not match messages.
2018-03-21 08:49:11 -07:00
Iain Bullard
6dce7dcb18 Improve SQS Compatibility with AWS (#1520)
* Return correct error code when fetching a queue that does not exist

* Improve SQS Queue get and set attributes

* Queue creation and set_attributes uses the same code path
    - ensure bool/int values are cast correctly
* RedrivePolicy is handled properly with set_attributes
    - _setup_dlq is called
    - is json decoded, so that returned RedrivePolicy is not json
      encoded twice
* As per AWS not all attributes are returned when they are not set, for
  example RedrivePolicy, FifoQueue, Policy, Kms*
* WaitTimeSeconds is not a queue attribute switch to
  ReceiveMessageWaitTimeSeconds
2018-03-21 08:48:08 -07:00
Jim Shields
baedbfa8ca Fix test_suspend_processes
* Add `region_name` to the client to be consistent with other tests
* Add `VPCZoneIdentifier` to the ASG creation (AZ or VPC is required)
* Add myself as a contributor
2018-03-09 18:00:23 -05:00
Jim Shields
bfeea00774 Fix #1370: Implement suspend_processes in AutoScaling service 2018-03-09 16:55:30 -05:00
Steve Pulec
4997694fd6
Merge pull request #1488 from andharris/iam-roles
add iam roles to redshift
2018-03-07 09:28:26 -05:00
Steve Pulec
d37c355bd3
Merge pull request #1484 from derwolfe/ssm-send-command
Add support for SSM send_command
2018-03-07 07:37:44 -05:00
Steve Pulec
b3468b9ebf
Merge pull request #1480 from lleontop/opsworks_increase_coverage
Add more exception tests for opsworks
2018-03-07 07:09:47 -05:00
Steve Pulec
0414cc51c1
Merge pull request #1499 from srikiraju/fix/s3-list-deleted
S3: Do not attempt to return deleted files in bucket listing
2018-03-07 07:08:07 -05:00
Steve Pulec
1a299ffbfc
Merge pull request #1364 from terrycain/bug_1358
Adds if_not_exists function to DynamoDB Update Expression
2018-03-06 22:46:11 -05:00
Steve Pulec
6668a6e17f
Merge pull request #1381 from koxudaxi/fix_MaxRecords_on_describe_db_instances
cast MaxRecords to int on  describe_db_instances
2018-03-06 22:45:28 -05:00
Steve Pulec
9e0b8da6cb
Merge pull request #1413 from captainkerk/autoscaling-subnet-or-az-is-required
AWS API raises an exception if both AZ and VPCZoneIdentifier params a…
2018-03-06 22:42:49 -05:00
Steve Pulec
47ec9bcdc8
Merge pull request #1418 from stillwaiting/sns-do-not-duplicate-subscriptions
SNS: do not duplicate subscriptions
2018-03-06 22:40:22 -05:00
Steve Pulec
1dd21d6cd6
Merge pull request #1442 from JackDanger/jack/importing-sure-in-tests-that-require-it
importing sure in tests that require it
2018-03-06 22:38:10 -05:00
Steve Pulec
de6ded5aab
Merge pull request #1422 from godfried/fix-cloudwatch-value
Change name of 'state' attribute of 'FakeAlarm' CloudWatch model to '…
2018-03-06 22:36:50 -05:00
Steve Pulec
4b21beb754
Merge pull request #1428 from toshitanian/logs-exceptions
Add logs exceptions
2018-03-06 22:32:03 -05:00
Steve Pulec
7fa14c81f4
Merge pull request #1425 from whummer/feat/cf-fn-GetAZs
Implement Fn::GetAZs function in CloudFormation
2018-03-06 22:28:31 -05:00
Steve Pulec
8b3743fa9c
Merge pull request #1439 from anderson-dan-w/redrive-policy
Redrive policy
2018-03-06 22:22:49 -05:00
Steve Pulec
16dd20e443
Merge pull request #1447 from dbfr3qs/master
add elasticloadbalancer:loadbalancer to resourcegroupstaggingapi
2018-03-06 22:20:19 -05:00
Steve Pulec
924c99bcea
Merge pull request #1448 from grahamlyons/fix-ebs-tagging
Change `'image'` for `'volume'` when getting tags
2018-03-06 22:16:59 -05:00
Steve Pulec
8a0cf49b7d
Merge branch 'master' into redshift-copy-grants 2018-03-06 22:11:34 -05:00
Steve Pulec
ddba69982e
Merge pull request #1451 from captainkerk/redshift-add-cross-region-snapshots
Redshift: Add Cross Region Snapshot Functionality
2018-03-06 22:10:29 -05:00
Steve Pulec
6826b82cfb
Merge pull request #1455 from grahamlyons/snapshot-search-bug
Snapshot search bug
2018-03-06 22:06:33 -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
Dave Golombek
9a8b36debc ELBv2.create_listener links TargetGroup to LB
In order to search target_groups by LB, we need this link in place.

Resolves #1500
2018-03-06 16:57:56 -05:00
Srikanth Raju
4f05aa725c S3: Do not attempt to return deleted files in bucket listing 2018-03-06 01:55:14 -08:00
andrew
7d3af65f22 fix errors 2018-02-23 14:42:49 -05:00
andrew
6ab416724a WIP: add iam roles to redshift 2018-02-22 14:58:19 -05:00
Chris Wolfe
7a6987a7f1 note 2018-02-19 09:59:52 -06:00
Chris Wolfe
8ac4ff1e99 greater granularity 2018-02-19 09:58:46 -06:00
Chris Wolfe
29061ec0f8 add a basic test to start 2018-02-19 09:10:52 -06:00
Loukas Leontopoulos
bf2ba0b680 Add more exception tests for opsworks 2018-02-19 15:22:53 +02:00
Hugo Lopes Tavares
5f61950096 Make SpotPrice optional when requesting a spot fleet
When price is omitted, AWS will default to the on-demand price
2018-02-01 18:07:35 -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
grahamlyons
f3debf8f6f Test and fix bug for snapshot searching
The logic which contructed a list of values for parameters with
multiple values was flawed in that e.g. `Subnet.1` and `Subnet.10`
would be have their values counted against `Subnet.1` because they
share a prefix.

This now checks for a starting `.` before counting that name as
having the requested prefix.
2018-01-29 14:30:21 +00:00
captainkerk
e514b98747 redshift: add copy grant functionality 2018-01-28 22:58:28 +00:00
captainkerk
7130dd5239 rework to follow spec for encrypted/unencrypted clusters 2018-01-28 04:16:21 +00:00
captainkerk
ed06658271 address spacing issues 2018-01-28 04:16:21 +00:00
captainkerk
d8b124fbf4 added: enable/disable/modify redshift snapshot copy methods 2018-01-28 04:16:21 +00:00
grahamlyons
3ce57644cd Change 'image' for 'volume' when getting tags
The AWS docs say that: "Currently, the resource types that support
tagging on creation are instance and volume." Calling `create_volume`
and passing `image` as the resource type in tag specifications causes
an `InvalidParameterValue` error.
2018-01-26 11:12:50 +00:00
Jack Danger
4520cd930f
Merge pull request #1378 from william-richard/start-running-ami-tests
Make test_amis not executable, so nose runs it
2018-01-24 18:28:40 -08:00
Chris Keogh
53184208fd add elasticloadbalancer:loadbalancer to resourcegroupstaggingapi.get_resources 2018-01-25 14:51:06 +13:00
Koudai Aono
0eb02613a0 fix get_template tests to support OrderedDict 2018-01-25 02:37:51 +09:00
Koudai Aono
9ef271fafa Remove unneeded comments 2018-01-25 01:34:27 +09:00
Koudai Aono
518282dbd3 change get_param method to get_int_param 2018-01-25 00:51:14 +09:00
Dan W Anderson
616095602a test for redrive policy 2018-01-23 18:33:23 -08:00
Jack Danger
52f0d0a4e4 importing sure in tests that require it 2018-01-20 19:44:22 -08:00
dbfr3qs
7d0733ad10 hack tests now that boto get_templates returns ordered dicts 2018-01-18 19:40:24 +13:00
dbfr3qs
597676c59c add tags when creating ebs volume 2018-01-15 21:52:32 +13:00
Toshiya Kawasaki
663283a8f0 add logs exceptions 2018-01-14 14:35:53 +09:00
William Richard
09c5407b86
Fix tests that were introduced in PR #1398 2018-01-11 15:02:03 -05:00
William Richard
e0d4728c5d
Fix ami tests
- missing and malformed image ids
- test_ami_filters

- test_ami_copy tests

- test_ami_create_and_delete test

- test_ami_filter_wildcard test

- the rest of the tests by using the non-deprecated mock_ec2
2018-01-11 15:02:01 -05:00
William Richard
00a4249b74
Make test_amis not executable, so nose runs it
In trying to debug changes to the ami mock introduced in 1.1.25,
I noticed that the ami tests were not running.  Turns out that nose does not
run test files that are executable.

http://nose.readthedocs.io/en/latest/finding_tests.html

The ami test file was the only test file I could find that had the executable bit set.
2018-01-11 15:00:38 -05:00
Waldemar Hummer
da4a6fe616 implement Fn::GetAZs function in CloudFormation 2018-01-10 22:44:16 -05:00
Brian Pandola
350cf9257e Add update_access_key endpoint (#1423) 2018-01-10 18:29:08 -05:00
Pieter Jordaan
a8cd5fb7fd Change name of 'state' attribute of 'FakeAlarm' CloudWatch model to 'state_value'. This ensures that the 'StateValue' returned by 'describe_alarms' is correct.
The 'DESCRIBE_ALARMS_TEMPLATE' response template references a 'state_value' attribute on the 'FakeAlarm' model which does not exist; it is named 'state'.
This commit updates the attribute to be called 'state_value', in-line with the naming convention used elsewhere.
2018-01-08 13:18:50 +01:00
Nuwan Goonasekera
56ce26a728 Added support for filtering AMIs by self (#1398)
* Added support for filtering AMIs by self

Closes: https://github.com/spulec/moto/issues/1396

* Adjusted regex to also match signature v4 and fixed py3 compatibility
2018-01-04 10:01:17 +00:00
Toshiya Kawasaki
71af9317f2 Add group features to iot (#1402)
* Add thing group features

* thing thing-group relation

* clean up comments
2018-01-04 09:59:37 +00: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
Boris Gvozdev
633decc6c0 SNS: do not duplicate subscriptions 2018-01-02 11:30:39 +11:00
Mike Bjerkness
b855fee2e4 Add batch_get_image support for ECR (#1406)
* Add batch_get_image for ECR

* Add tests for batch_get_image

* Add tests for batch_get_image

* Undo local commits

* Undo local commits

* Adding object representation for batch_get_image

* Update responses. Add a couple more tests.
2017-12-30 18:39:23 -08:00
captainkerk
144611ff99 define setup_networking_deprecated() method to create supporting
resources for tests that use deprecated methods
2017-12-29 03:00:53 +00:00
Jack Danger
84f2ec5e04
Merge pull request #1416 from goraxe/describe_regions_with_names
describe_regions: handle region-names parameter
2017-12-28 14:47:39 -08:00
Gordon Irving
4d9833b972 add test for descrie_regions with args 2017-12-28 21:02:58 +00:00
Gordon Irving
e9b81bb325 add test for vpc tags 2017-12-28 19:27:53 +00:00
captainkerk
fe1293ee5b remove unnecessary empty line 2017-12-27 20:31:57 +00:00
captainkerk
59cf81fd56 AWS API raises an exception if both AZ and VPCZoneIdentifier params are empty. mock that exception, fix
tests to follow that pattern.
2017-12-27 19:17:59 +00:00
George Ionita
3cede60f5b improved SWF support 2017-12-23 05:45:05 +02:00
Nuwan Goonasekera
c68cd650e7 Make sure invalid or malformed AMIs raise an exception
Closes: https://github.com/spulec/moto/issues/1408
2017-12-22 18:50:22 +05:30
Alex M
e75f3ef4d4 Implement execute change set endpoint (#1391) 2017-12-14 12:07:23 +00:00
William Richard
df7a7958c1 Path is an optional property of instance profile cloudformation resource (#1382)
* Path is an optional property of instance profile cloudformation resource

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html

* Path is also optional for iam role clouformation resources

Based on http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html

* Use `properities.get` with a default instead of doing default handling myself
2017-12-14 12:06:04 +00:00
Alex M
2346e14e00 Add create change set endpoint (#1389) 2017-12-11 09:23:35 +00:00
Alexander Mohr
9d087b0729 add subject support (#1387) 2017-12-10 21:59:04 +00:00
Brian Cavagnolo
d2eea02774 add support for kinesis AT_TIMESTAMP shard iterator (#1376)
Fixes #813
2017-12-08 10:57:05 +00:00
William Richard
92f5f7b263 Add cloudformation update from s3 support (#1377)
* Fix variable name typo

* Make it possible to delete EC2 instances from cloudformation json

* Add support for updating a cloudformation stack from an s3 template url
2017-12-08 10:48:29 +00:00
David Bartle
52ce8d378f IAM delete_server_certificate (#1380)
* IAM delete_server_certificate

* flake8 fixes
2017-12-08 10:43:09 +00:00
Alexander Mohr
81f3cbb548 fix cloudwatch bug (#1374)
* bugfix + add tests
2017-12-05 09:25:08 +00:00
Ben Slusky
796fa6647b modify_db_instance should be able to rename DB instances (#1367) 2017-11-30 11:41:25 +00:00
Kai Xia(夏恺)
9e1a233549 fix KeyError in delete_alias in the KmsBackend. (#1359)
* fix KeyError in delete_alias in the KmsBackend.

If there're several aliases in the backend, previously we will bump into
a KeyError here.

Signed-off-by: Kai Xia <xiaket@gmail.com>

* add doc to make travis try one more time.

Signed-off-by: Kai Xia <xiaket@gmail.com>
a

* add another key and alias before the deletion of an alias.

This was done to make sure that we can correctly handle the deletion
when there are more than one alias defined.

Signed-off-by: Kai Xia <xiaket@gmail.com>
2017-11-27 10:36:25 +00:00
Terry Cain
a1f2ba21ee
Adds if_not_exists function to DynamoDB Update Expression
Fixes #1358
2017-11-26 22:29:23 +00:00
Terry Cain
d5ee48eedd
Lambda improvements (#1344)
* Revamped the lambda function storage to do versioning.

* Flake8

* .

* Fixes

* Swapped around an if
2017-11-26 21:28:28 +00:00
Toshiya Kawasaki
cfc994d0ae Add publish operation to iotdata (#1362)
* add publish operation to iotdata

* restart ci
2017-11-24 17:22:53 +00:00
Toshiya Kawasaki
49a2724d76 Set default value to elbv2 FakeTargetGroup (#1349) 2017-11-20 11:18:21 +00:00
justinsr20
17b8396a9c updated rds status from shutdown to stopped to match aws (#1347) 2017-11-20 09:07:36 +00:00
Jessie Nadler
04c5198a0c Add default ecs attributes and format in response obj (#1346)
* Initialize EC2ContainerServiceBackend and ContainerInstance objects with region_name

* Initialize ContainerInstance with default attributes
  * These attributes are automatically applied by ECS when a container is registered
  * Docs: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes

* Format container_instance.attributes for response_object

* Python3

* Only use available ECS regions for ecs_backends

* Sort dictionaries on key='name' using lambda

* Sort all dicts in tests using lambda
2017-11-17 18:25:08 +00:00
Victor Hiairrassary
caec929506 Improve SSM PutParameter & DescribeParameters actions (#1348) 2017-11-17 08:57:11 +00:00
Terry Cain
2609f6cd3a
Added support for dynamo update_item on nested dicts (#1345) 2017-11-17 08:49:59 +00:00
Hugo Lopes Tavares
aa6a0765c1 Move target group default values to model FakeTargetGroup (#1343)
Before this commit everything that needs to create target groups
had to handle the default values (i.e., cloudformation call & ELBV2Response call)
2017-11-15 19:36:53 +00:00