Commit Graph

675 Commits

Author SHA1 Message Date
hsuhans
6b7282f93c Fix #2129 EC2 tag should raise ClientError when resource is empty
Raise MissingParameterError exception in models/validate_resource_ids of ec2.

Add ec2 create tag with empty resource test case.
Add ec2 delete tag with empty resource test case.

Related: #2129

Reference
boto3 create_tags
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.create_tags

boto3 delete_tags
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.delete_tags

Amazon EC2 API Reference Actions CreateTags
https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html

Amazon EC2 API Reference Actions DeleteTags
https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteTags.html
2019-03-30 23:26:50 +08:00
Hugo Lopes Tavares
d4e39146b7 Make sure every NetworkInterface has a private IP
AWS always assigns a primary IP address to Network Interfaces.
Using a test account (modified the IP):

    >>> import boto
    >>> vpc = boto.connect_vpc()
    >>> eni = vpc.create_network_interface(subnet_id)
    >>> eni.private_ip_addresses
    [PrivateIPAddress(10.1.2.3, primary=True)]
2019-03-27 16:27:10 -04:00
Tay Frost
7b236c4ded bugfix ebs volume tag behaviour
This commit modifies the response format of the ec2 calls
`create_volume` and `describe_volumes`. Previously, these calls would
always include a `Tags` key in the response, even when a volume has no tags.
Now, the `Tags` key will not be included in the response if the volume
has no tags.

When an EBS volume has no tags, calls to the aws ec2 endpoints `create_volume`
and `describe_volumes` do not include the `Tags` key in the
`response.Volumes[]` object.

However, moto does include the `Tags` key in this case. This discrepancy
in behaviour can result in code passing a moto test but failing in
production.

Sample snippets that trigger this condition:

```
def create_volume_and_then_get_tags_from_response():
    client = boto3.client('ec2', region_name='us-east-1')
    volume_response = client.create_volume(
        Size=10,
        AvailabilityZone='us-east-1a'
    )
    keys = volume_response['Keys']
```

```
def create_volume_and_then_get_tags_from_describe_volumes():
    client = boto3.client('ec2', region_name='us-east-1')
    volume_response = client.create_volume(
        Size=10,
        AvailabilityZone='us-east-1a'
    )
    volume_describe_response = client.describe_volumes()
    keys = volume_describe_response['Volumes'][0]['Keys']
```

Both sample snippets will succeed in a moto test, but fail with a
`KeyError` when using the aws api.
2019-03-07 17:31:45 -05:00
Mike Grima
09855801ba
Merge pull request #2019 from acsbendi/launch_index
Correctly returning ami launch index
2019-02-25 12:16:40 -08:00
Mike Grima
d652755f3b
Merge pull request #2032 from drmorr0/spot_fleet_tag_specifications
tag specifications for spot fleet requests
2019-02-01 11:47:36 -08:00
David Morrison
b4b63202d9 tag specifications for spot fleet requests 2019-01-24 11:38:07 -08:00
acsbendi
68b8e6b636 Implemented adding default entries to default network ACLs. 2019-01-21 15:36:49 +01:00
acsbendi
3c5ce6c09e Fixed new subnets associated with a network ACL from a different VPC. 2019-01-21 13:30:22 +01:00
acsbendi
e476866281 Implemented showing ami_launch_index property in responses. 2019-01-15 17:38:44 +01:00
acsbendi
ca5a8033e5 Implemented providing ami_launch_index to the new Instance's constructor. 2019-01-15 17:37:22 +01:00
acsbendi
22288ef83b Implemented initializing ami_launch_index property. 2019-01-15 17:36:10 +01:00
Steve Pulec
93f68090e3
Merge pull request #1989 from jrbeilke/bugfix-ec2_ami_is-public
Bugfix for filtering EC2 AMIs with is-public (values should be lowercase)
2018-12-28 21:22:28 -05:00
Jon Beilke
a744adbcc5 AWS is case-sensitive when using is-public to filter for AMIs and expects lower-case values 2018-12-06 12:18:59 -06:00
Mark Challoner
6e6f23a1b0
Set deleted status on vpc peer deletion. 2018-11-14 14:48:57 +00:00
hans
cedb89dc3b Fix #1830 Add support for cross-region VPC peering
Add a class level store in models/VPCBackend of ec2
for saving vpcs of all regions info. Any instance can correctly find vpc in another region
when connecting vpc of cross-region or vpc of same region.

Modify vpc_peering_connections in ec2/responses to handle
vpc peering of same region or cross region.

Update vpc_peering_connections response
template content to latest (2016-11-15) .

Add vpc cross region peering successful test case.
Add vpc cross region peering fail test case.

Related: https://github.com/spulec/moto/issues/1830

Reference
CreateVpcPeeringConnection Sample Response
https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcPeeringConnection.html
2018-09-21 23:29:04 +08:00
Steve Pulec
b26d233820
Merge pull request #1565 from spulec/fix-1522
Fix security group rules for single rule case. Closes #1522.
2018-06-08 17:58:30 -04:00
Steve Pulec
620530c4ee Fix security group egress rule outout. Closes #1612 2018-05-31 22:07:19 -04:00
zane
12188733b7 adding Address reallocate capability for EIP 2018-05-10 23:39:19 -07:00
Phil Christensen
a44b7e7f5c implementing mockable EBS snapshot copies 2018-04-15 17:08:48 -04:00
Steve Pulec
af8697c9a7 Fix security group rules for single rule case. Closes #1522. 2018-04-13 15:03:07 -04:00
Tom Elliff
e2af8bc836 Allow tagging snapshots on creation
Largely copying what was done for volume creation in https://github.com/spulec/moto/pull/1432
2018-04-04 17:46:51 +01: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
keirbadger
fecdf388c2 Add in filtering of EBS volumes on availability-zone (#1468) 2018-03-21 08:58:32 -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
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
dc03125c1a
Merge pull request #1449 from RasmusWernerLarsen/CidrIpv6
Add support for CidrIpv6 in Cloudformation Security Ingress rules.
2018-03-06 22:15:45 -05: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
Rasmus Larsen
796145d62d Make DestinationCidrBlock optional (ipv6). 2018-01-26 15:32:22 +01:00
Rasmus Larsen
59c49ca34f Fix typo. 2018-01-26 14:55:53 +01:00
Rasmus Larsen
aedfebed98 Add support for CidrIpv6 in Security Ingress rules. 2018-01-26 14:48:11 +01: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
dbfr3qs
597676c59c add tags when creating ebs volume 2018-01-15 21:52:32 +13: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
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
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
5fed6988da describe_regions: handle region-names parameter 2017-12-28 19:06:38 +00:00
Gordon Irving
6da22f9fa4 fix adding tags to vpc created by cloudformation 2017-12-28 19:04:37 +00: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
Chris Tomlinson
499857e67f Fix co-operative inheritance for ec2 model (#1383) 2017-12-08 21:00:34 +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
Enis Afgan
0c01c7f495 Allow AMIs to be read from a custom file path (#1379) 2017-12-06 10:14:56 +00:00
Pierre Tardy
d8f6f77a0f Fix prebuilt images usability. (#1375)
- add a better error message when user uses an unknown ami
- add image_location in the default fake images

Fixes #1372
2017-12-05 09:22:13 +00:00
Archa91
474023f9a1 fix EC2 instances ebsOptimized not handled (#1340)
* fix EC2 instances ebsOptimized not handled

* add test_create_instance_ebs_optimized
2017-11-14 14:31:54 +00:00
mickeypash
98fa083586 Merge remote-tracking branch 'upstream/master' 2017-11-13 19:59:51 +00:00
mickeypash
d5b841fb6c Fixing volume.attachment is None 2017-11-13 19:58:21 +00:00
Terry Cain
bd8c1e4567
adding owner id to amis v2 (#1331)
* Adding owner-id/OwnerId to the AMI classes to allow the value to be specified to test filtering images based on owner.

* Added default AMIs and filtering by owner-id

* Fixed some tests

* Fixed more random tests

* Updated MANIFEST

* .
2017-11-12 11:18:25 +00:00
Florent Rivoire
6e199d35b3 Use pkg_resources to keep the package zip-safe (#1308) 2017-11-07 13:29:24 +00:00
Terry Cain
9ddf7fe436
Fixed some tests.
Some subnets were bogus so fixed that. Fixed issue where EC2-Classic was not respected.
RDS Deepcopy was breaking on subnet generator
2017-10-25 19:29:56 +01:00
Terry Cain
5b0e463554
Fixed a few ip issues
Fixes #1175
2017-10-24 23:57:43 +01:00
mickeypash
15a1bc43a9 Merge remote-tracking branch 'upstream/master' 2017-10-23 19:16:08 +01:00
mickeypash
4a402b01cf Correct response when trying to delete a volume that is attached to an EC2 instance. Created a VolumeInUse error and did a simple check on the delete_volume method. 2017-10-23 19:12:49 +01:00
David Morrison
becf0a1d3d fix deep-copy in ec2.models.all_reservations 2017-10-23 09:53:02 -07:00
Terry Cain
f3623e3cd3 Fix for #1258 (#1260)
* Fix for #1258

* Updated doc link
2017-10-12 13:59:02 -07:00
Jack Danger
731bb39fe1 Merge pull request #1239 from terrycain/new_ec2_instance_id_style
Use long format for EC2 instance ID
2017-10-07 20:31:06 -07:00
William Johansson
88fb732302 Support wildcard tag filters on SecurityGroups 2017-10-06 21:55:01 +02:00
David Morrison
3d3d0e916e minor bugfixes and added tests 2017-10-05 18:46:58 -07:00
David Morrison
8ca7ccfcb5 add support for the modify_spot_fleet_request operation 2017-10-05 12:50:42 -07:00
Terry Cain
93b8da0437
Use long format for EC2 instance ID 2017-10-04 01:21:30 +01:00
Alexander Mohr
9008b85299 lambda + SNS enhancements (#1048)
* updates

- support lambda messages from SNS
- run lambda in docker container

* decode output

* populate timeout

* simplify

* whoops

* skeletons of cloudwatchlogs

* impl filter log streams

* fix logging

* PEP fixes

* PEP fixes

* fix reset

* fix reset

* add new endpoint

* fix region name

* add docker

* try to fix tests

* try to fix travis issue with boto

* fix escaping in urls

* fix environment variables

* fix PEP

* more pep

* switch back to precise

* another fix attempt

* fix typo

* fix lambda invoke

* fix more unittests

* work on getting this to work in new scheme

* fix py2

* fix error

* fix tests when running in server mode

* more lambda fixes

* try running with latest docker

adapted from aiodocker

* switch to docker python client

* pep fixes

* switch to docker volume

* fix unittest

* fix invoke from sns

* fix zip2tar

* add hack impl for get_function with zip

* try fix

* fix for py < 3.6

* add volume refcount

* try to fix travis

* docker test

* fix yaml

* try fix

* update endpoints

* fix

* another attempt

* try again

* fix recursive import

* refactor fix

* revert changes with better fix

* more reverts

* wait for service to come up

* add back detached mode

* sleep and add another exception type

* put this back for logging

* put back with note

* whoops :)

* docker in docker!

* fix invalid url

* hopefully last fix!

* fix lambda regions

* fix protocol

* travis!!!!

* just run lambda test for now

* use one print

* fix escaping

* another attempt

* yet another

* re-enable all tests

* fixes

* fix for py2

* revert change

* fix for py2.7

* fix output ordering

* remove this given there's a new unittest that covers it

* changes based on review

- add skeleton logs test file
- switch to docker image that matches test env
- fix mock_logs import

* add readme entry
2017-09-27 16:04:58 -07:00
Jack Danger
53d8d48e88 Revert "Merge pull request #1209 from JackDanger/jack/store-as-python"
This reverts commit 2a3fdf6b64, reversing
changes made to a06145d781.
2017-09-27 13:58:56 -07:00
Jack Danger
4c1d0c3f5f Store JSON in Python for instance types
This allows it to be bundled in the distributed app more simply
2017-09-27 13:50:48 -07:00
Jack Danger
72243f7b7b Merge pull request #1201 from gvlproject/fix_console_filter_regression
Fix for regression in get_console_output()
2017-09-27 11:07:30 -07:00
Terry Cain
c888d65d6d
Added constant containing instance types 2017-09-27 17:29:58 +01:00
Terry Cain
6feaced0bf
Script to get instance info 2017-09-27 17:27:36 +01:00
Nuwan Goonasekera
5b01071bd4 Fix for regression in get_console_output() 2017-09-27 20:26:45 +05:30
Nuwan Goonasekera
ca56955a97 Added invalid id exceptions when filtering vpcs and subnets 2017-09-18 23:38:39 +05:30
Nuwan Goonasekera
08c4eff0b2 Added invalid id exceptions when filtering snapshots and volumes 2017-09-18 23:38:04 +05:30
Nuwan Goonasekera
298772ca92 Raise InvalidGroup.NotFound in DescribeSecurityGroups 2017-09-18 19:51:01 +05:30
Jack Danger
35feb9feb7 Merge pull request #1150 from gvlproject/refactor_filtering
Refactored handling of unknown filter names
2017-09-16 12:07:13 -07:00
Jack Danger
a7049acf70 Merge pull request #1149 from gvlproject/fix_disassociate_address
Fix for instance public ip not being cleared on eip disassociation
2017-09-16 06:43:45 -07:00
Nuwan Goonasekera
7ed1036ba8 Replaced direct querystring access with inherited _get_param 2017-09-16 19:05:32 +05:30
Nuwan Goonasekera
17d62d9266 Replaced redundant sequence_from_querystring with inherited _get_multi_param 2017-09-16 17:08:21 +05:30
Nuwan Goonasekera
6c7b0bdea0 Refactored handling of unknown filter names 2017-09-16 13:56:07 +05:30
Nuwan Goonasekera
0953ddde51 Fix for instance public ip not being cleared on eip disassociation 2017-09-16 12:26:43 +05:30
Jack Danger
b3ce255eee Merge pull request #1148 from gvlproject/vpc_address_filtering
Improved support for VPC Address filtering
2017-09-15 14:22:21 -07:00
Nuwan Goonasekera
8776129816 Improved support for VPC Address filtering 2017-09-16 01:49:57 +05:30
Nuwan Goonasekera
c116c57eb8 Ensure root device is listed in block device mappings 2017-09-15 21:30:32 +05:30
Nuwan Goonasekera
d0c610c5ac Added keypair filtering 2017-09-14 14:59:13 +05:30
Jack Danger
d2a234f75d falling back to use nic' 2017-09-08 16:30:21 -07:00
Jack Danger
5a03497367 rendering vpc_id in ec2 responses 2017-09-08 15:07:44 -07:00
Daniel Lutsch
1f6b1b8c4a Add list support to filters (#1083)
* initial pass with TODOs

* add list support to get_object_value

* fix group-id filters

* add tests for sg name and id filters
2017-08-25 23:43:29 -07:00
Daniel Lutsch
945b984538 Add private-dns-name filter and fix regional DNS (#1076)
* add private-dns-name to filter_dict_attribute_mapping

* add region_name attribute to Instance and InstanceResponse

* set dns name based on region

* test private-dns-name and network-interface.private-dns-name filters. checking both regional dns formats

* update test_ec2_classic_has_public_ip_address to use correct dns values
2017-08-23 01:39:50 -07:00
Jack Danger
074ff68bf1 Merge pull request #1016 from JackDanger/elb-security-groups
Implementing ELB apply_security_groups_to_load_balancer
2017-07-19 17:41:53 -07:00
Jack Danger
6ed8d12317 Enforcing ELB security groups must be real 2017-07-19 15:58:49 -07:00
Christian Hellman
63b09eae13 Added DescribeAccountAttributes 2017-07-17 23:33:40 +00:00
Jeff Hardy
4e2f775c1f Use region list from Boto.
Boto can be configured with extra regions, but moto will fail to import
if they are not in the hardcoded list in ec2/models.py. Instead, use the
region list from boto to build the ec2_backends dict to ensure all
regions are available.
2017-05-26 12:47:28 -07:00
Jerome Bosman
d1789624c4 Fix 2017-05-14 14:21:18 +01:00
Jerome Bosman
227318b037 Fixed typo failing the build 2017-05-14 13:20:18 +01:00
Jerome Bosman
405b8af870 Fixed:
moto/ec2/models.py:1996:21: E131 continuation line unaligned for hanging indent
moto/ec2/models.py:2380:21: E131 continuation line unaligned for hanging indent
moto/ec2/models.py:2582:21: E131 continuation line unaligned for hanging indent
moto/ec2/responses/network_acls.py:91:1: E303 too many blank lines (4)
moto/ec2/responses/network_acls.py:198:4: W292 no newline at end of file
2017-05-14 13:12:28 +01:00
Jerome Bosman
b6d9b4f584 Replace and delete Network ACL Entries 2017-05-14 13:03:43 +01:00
Steve Pulec
97b920f6cf Fix ec2 tags in instance create. Closes #938. 2017-05-12 19:48:24 -04:00
Steve Pulec
0adebeed24 Merge #913. 2017-05-10 21:58:42 -04:00
Steve Pulec
408a70992c Fix filter wildcards. Closes #910. 2017-05-10 21:33:34 -04:00
Valentín Gutiérrez
6e209bb14c Implement availability-zone filter for DescribeNetworkInterfaces 2017-03-22 14:36:20 +01:00
Steve Pulec
8a803cdbaf Better EC2 duplicate SG error. 2017-03-15 22:45:28 -04:00
Steve Pulec
5f3fbff627 Standardize on one account id (123456789012). 2017-03-15 22:21:04 -04:00
Steve Pulec
5807a38092 Merge pull request #858 from spulec/dashboard
Add a dashboard
2017-03-12 20:26:42 -04:00
Steve Pulec
0e2fdf94f9 Cleanup lints. 2017-03-12 20:18:54 -04:00
Christian Hellman
c271e31745 Fixed terraform deploy against moto fails (#857) 2017-03-12 12:40:49 -04:00
Steve Pulec
caea5f441d Fix resetting backends. 2017-03-11 23:18:58 -05:00
Steve Pulec
1709208872 First version of dashboard. 2017-03-11 22:45:42 -05:00
Steve Pulec
3b4ef2cf15 Merge in master. 2017-03-05 09:58:39 -05:00
Andy Freeland
783242b696 Elastic IP PhysicalResourceId should always be its public IP (#841)
According to the [CloudFormation `Ref` docs][docs], the `Ref` return
value (and physical ID of the resource) for an Elastic IP is its public
IP address.

[docs]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html
2017-03-04 22:40:43 -05:00
Andy Freeland
a30ba2b597 EC2 tags specified in CloudFormation should be applied to the instances (#840)
Fixes #839.
2017-03-04 22:37:53 -05:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00
Steve Pulec
81836b6981 Get standalone server mode working for all tests. 2017-02-23 19:43:48 -05:00
Steve Pulec
fde721bed7 Testing new version of decorator. 2017-02-15 22:35:45 -05:00
Steve Pulec
d3df810065 Generalize decorator code. 2017-02-12 00:22:29 -05:00
Steve Pulec
2d03182ae2 Migrate some sqs tests to boto3. 2017-02-11 19:41:09 -05:00
David Wilcox
012dd497f2 make get_all_security_groups filter AND match group ids, not OR them (#822) 2017-02-08 21:29:37 -05:00
Jason DeTiberus
1045dca7b2 make instanceTenancy configurable for VPCs (#819)
* make instanceTenancy configurable for VPCs

* fix issue with setting tenenancy
2017-02-08 21:23:49 -05:00
Jesse Szwedko
55f39265dd Upgrade to boto 2.45 (#803)
Adds support for additional regions:

* ca-central-1
* eu-west-2

Signed-off-by: Andrew Harris <andrew.harris@getbraintree.com>
2017-01-18 22:55:22 -05:00
costypetrisor
a967ec0d39 made the Security Group backend throw the same error as AWS if the nb of sec groups limit is hit (#742)
* made the Security Group backend throw the same error as AWS if the security group limit is hit

* included in the security group limit the count of grants to other security groups & updated the unit tests to cover these

* refactored a few things about the sec group rule count limit
2017-01-18 21:37:55 -05:00
Steve Pulec
a292150087 Throw exception if same security group rule added twice. Closes #737. 2017-01-11 22:35:27 -05:00
Taro Sato
02324ad708 Add more availability regions and implement default VPC (#773)
Fix filter name for availability zone

Fix bug assuming dict keys are ordered

Fix tests

Fix tests

Fix bug
2017-01-11 20:37:57 -05:00
Justin Wiley
d6890640b2 Fixed time formatting in ec2/models.py (#778)
* Fixed time formatting in ec2/models.py

* Used freezegun on test that was failing due to time progression causing timestamp differences.
2016-11-23 20:06:35 -06:00
Steve Pulec
5c3d9b4ae1 Have spot requests launch instances. 2016-11-07 23:08:30 -05:00
Steve Pulec
5371044b6f Spot fleet (#760)
* initial spot fleet.

* Add cloudformation spot fleet support.

* If no spot fleet ids, return all.
2016-11-07 09:53:44 -05:00
Steve Pulec
44636d1f73 Merge pull request #755 from dtenenba/master
bump tag limit from 10 to 50 to align with actual AWS limit
2016-11-06 09:52:20 -05:00
Dan Tenenbaum
37f643ecb4 bump tag limit from 10 to 50 to align with actual AWS limit 2016-11-03 14:12:20 -07:00
Costy Petrisor
8689b40d23 made the security group endpoints that authorize or revoke firewall rules
to support batch rules (boto doesn't expose this, but botocore/boto3 does)
2016-10-20 19:34:11 +00:00
rocky4570fft
57ab70b05c fix up indentation 2016-10-16 00:56:49 +10:00
rocky4570fft
d6f76cbb43 Add dry_run to a number of EC2 services 2016-10-16 00:34:52 +10:00
Steve Pulec
4a92f9fdb0 Fix IP setting. 2016-10-12 22:14:45 -04:00
Steve Pulec
27f1bece9b Fix assigning public ip to instances. Closes #729. 2016-10-12 22:02:13 -04:00
Rene Martin
bd9e7deb95 Merge branch 'master' of https://github.com/spulec/moto 2016-10-10 07:47:11 +01:00
Steve Pulec
fef3437db2 Throw error on terminating empty instance list. Closes #697. 2016-10-09 21:20:53 -04:00
Rene Martin
4fa838e9fd Keep default dhcp_options id backwards compatiblity 2016-10-08 10:37:57 +01:00
Rene Martin
b06d439a81 Set the right dhcp_options id in the response
If the vpc has a dhcp_options associated with it the response should
include the right association.
2016-10-08 10:34:55 +01:00
Jeff Albert
6d7b0c9a15 Fixed issue when invalid resource type is used it would return all tags. Behavoir differed from that of AWS behavior 2016-09-15 14:52:57 -04:00
Mervyn Russell
27495e01e5 Added support for creation date to Ami 2016-08-26 13:43:17 +01:00
rocky4570fft
0161422d21 additional filters to get_all_vpcs 2016-08-14 16:58:35 +10:00
Andrew Gross
b4176050e2 Add volume attachment status 2016-07-22 14:23:42 -04:00
Steve Pulec
3e797d9c50 Merge pull request #658 from kierandoonan/master
Add encrypted attribute to Volumes/Snapshots
2016-07-09 21:11:52 -04:00
Steve Pulec
c34481a476 Merge pull request #659 from kierandoonan/fix-tag-filter
Fix tag filter
2016-07-09 21:11:12 -04:00
Kieran Doonan
619255e25a tag-key and tag-value filters now do a regex match 2016-07-05 11:44:39 +01:00
Kieran Doonan
d3dcb8d3b5 tag_filter_matches now uses regex for key/value matches 2016-07-05 11:28:35 +01:00
Kieran Doonan
af0007ad2b volumes are now encrypted if snapshots are encrypted 2016-07-04 14:40:13 +01:00
Kieran Doonan
44195a9151 added encrypted attribute to snapshots 2016-07-04 14:29:33 +01:00
Kieran Doonan
a3c16bcc77 updated ebs response 2016-07-04 14:09:41 +01:00
Kieran Doonan
f9f0d4b7d9 encrypted attribute now respected in create_volume 2016-07-04 11:30:17 +01:00
Kieran Doonan
957678d33d create volume response updated 2016-07-04 11:25:51 +01:00
Kieran Doonan
9ea06399ba describe instances response now shows encrypted status 2016-07-04 11:24:13 +01:00
Kieran Doonan
e8a564b6b4 ebs model now supports encrpyted volumes 2016-07-04 11:23:46 +01:00
Paul Cieslar
706868c7f8 describe_security_groups() support for Boto3
Support for list of filters
2016-06-23 11:59:58 +01:00
Riccardo M. Cefala
0ea9823397 add generate_instance_identity_document in ec2 utils 2016-06-11 12:48:01 +02:00
Yann Lambret
52a5346c9e Add support for VPC attributes management, and fix a bug about the default - not default status of a VPC 2016-05-12 22:36:09 +02:00
Steve Pulec
076a6a7055 Better defaults for AMIs. 2016-05-11 18:28:34 -04:00
Yann Lambret
fdadd24ad3 Extend filtering support for elastic network interfaces 2016-05-08 00:19:01 +02:00
Steve Pulec
d82d64b8bd Add EBS snapshot filter. Closes #525. 2016-05-01 22:24:49 -04:00
Steve Pulec
a600deb96a Fix merge conflicts and add EC2 Instance delete. Closes #576. 2016-04-28 09:22:31 -04:00
Adam Romanek
b32fbf090a Fix security group ingress authorization for all protocols with no port spec 2016-04-26 11:00:04 +02:00
Steve Pulec
6be53cf8c2 Merge pull request #594 from yannlambret/fix-security-groups
Fix security groups
2016-04-23 19:43:19 -04:00
Steve Pulec
224e92ba17 Merge pull request #592 from aiell0/hotifx/add-additional-instance-filters-issue-581
Added ec2 describe-instances filter: 'architecture'
2016-04-23 19:40:15 -04:00
Yann Lambret
5a5f2f12c7 Remove useless statement 2016-04-22 19:12:26 +02:00
Yann Lambret
f9267cff6c Fix egress rules management to autorize or revoke a security group 2016-04-20 23:01:09 +02:00
Yann Lambret
de68c94a0a Add the default outboud rule for security groups 2016-04-19 23:50:46 +02:00
Yann Lambret
0882174126 Replace exception message by the one sent by boto, because it is used for bot ingress and egress rules 2016-04-19 23:50:12 +02:00
Lawrence Aiello
cf529ec3f9 Filter dicts have not been implemented in Moto for '%s' yet - mock_ec2 2016-04-18 16:41:57 -04:00
Yann Lambret
c793e0a23d Filtering implementation for DHCP options sets 2016-04-13 23:19:46 +02:00
Steve Pulec
100ec4e7c8 Merge pull request #579 from roger-lai/instance-az-filter
Added availability-zone filtering to instance collections
2016-04-09 22:28:04 -04:00
RogerLai
d759f3a1ad Added availability-zone filtering to instance collections 2016-04-05 12:55:38 -04:00
Yann Lambret
6d4a48b019 Add support for 'ModifySubnetAttribute' action 2016-04-05 00:17:56 +02:00
Steve Pulec
1ece813131 Merge pull request #570 from digital-abyss/feature/add-private-ip-filter
Add ip-address and private-ip-address to the list of filters for instance filtering
2016-03-28 23:53:16 -04:00
igartley
4bfb522020 Add ip-address and private-ip-address to the list of filters for
instance filtering.

These are described in
http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Client.describe_instances

and map to the instance methods of public_ip() and private_ip()
respectively
2016-03-22 18:11:20 -04:00
Lars Fronius
c94f49cc1e Only count user-assigned tags for TagLimitExceeded
According to
http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
"Reserved prefix—aws:
AWS-assigned tag names and values are automatically assigned the aws:
prefix, which the user cannot assign. AWS-assigned tag names do not
count towards the tag limit of 10. User-assigned tag names have the
prefix user: in the Cost Allocation Report."
2016-03-15 16:50:57 +01:00
Steve Pulec
d8a277ed55 Merge pull request #555 from yannlambret/fix-describe-route-tables-response
Fix a typo in DESCRIBE_ROUTE_TABLES_RESPONSE
2016-03-02 15:10:33 -05:00
Yann Lambret
3afd4e0ea9 Correct a typo in DESCRIBE_ROUTE_TABLES_RESPONSE string (duplicate tagSet) that causes buggy responses 2016-03-02 00:34:45 +01:00
Hugo Lopes Tavares
6222f335f3 Refactor NatGateways methods to use _get_param() 2016-03-01 13:57:41 -05:00
Hugo Lopes Tavares
c689816337 Add CloudFormation support to NatGateway model 2016-03-01 12:02:57 -05:00
Hugo Lopes Tavares
21fb961c6a Implement NAT Gateway resource 2016-03-01 12:02:57 -05:00
Steve Pulec
b9df567445 Merge pull request #536 from andyjones/task/ec2-placement
Support placement when starting new instances
2016-02-14 16:54:05 -05:00
Steve Pulec
800f2403cf Merge pull request #533 from kevgliss/boto3DescribeInstancesSecurityGroups
Ensuring boto3 can correctly identify instance security groups
2016-02-14 16:47:01 -05:00
andy
7120b5e4b1 Support placement when starting new instances 2016-02-10 17:59:48 +00:00
kevgliss
c5016d9ddb ensuring boto3 can correctly identify instance security groups 2016-02-04 16:03:20 -08:00
gigimon
1ff24981ee * add filter by instance-id for describeAdresses 2016-02-03 18:05:25 +03:00
gigimon
cd062fc5fa * fix one place 2016-02-03 14:53:18 +03:00
gigimon
52eb16d765 * change api version to 2013-10-15 2016-02-02 16:15:18 +03:00
Steve Pulec
f35986b3fc Merge pull request #517 from DenverJ/volume_snapshot_filters
Add filter for volume-id on volumes.
2016-01-24 16:19:55 -05:00
Denver Janke
ee33ff582c Add filter for volume-id on volumes. 2016-01-20 12:24:33 +10:00
kevgliss
093a64c1c8 adding error checking on cidrs 2016-01-15 12:57:43 -08:00
kevgliss
6bc4a8b38a Adds support for authorizing and revoking egress permissions 2016-01-15 12:36:11 -08:00
Steve Pulec
defd106523 Merge pull request #506 from DenverJ/volume_snapshot_filters
Add filters for describeVolumes and describeSnapshots.
2016-01-11 13:30:56 -05:00
Denver Janke
82b0b12e45 Add filters for describeVolumes and describeSnapshots. 2016-01-11 15:46:30 +10:00
Steve Pulec
35478f3a44 Fix AZs for run_instances. Closes #490. 2016-01-10 00:54:53 -05:00
Steve Pulec
d2302bae21 Add Customer Gateway Support. Closes #465 2016-01-08 16:48:01 -05:00
Steve Pulec
42423f47e7 Merge pull request #466 from EarthmanT/support_get_all_dhcp_options_set
Adding Support for Get All DHCP Options
2015-12-21 15:18:41 -05:00
Steve Pulec
39fef4d367 Merge pull request #468 from EarthmanT/add_support_for_vpn_connections
Adding Support for VPN Connections
2015-12-21 15:18:05 -05:00
Marco Rucci
284641e8cf Add support for default VPCs and subnets.
The first VPC created will be elected as default.
All subnets of the default VPC are considered default for their availability zone.
2015-12-06 20:58:54 +01:00
earthmant
c5bf9d8c94 replacing the usage
of dhcp_opt_ids_from_querystring with sequence_from_querystring
2015-12-03 13:49:08 +02:00
earthmant
76a939cee6 making requested fix
used sequence_from_querystring and removed added functon vpn_connection_ids_from_query_string
added tests
2015-12-03 13:35:48 +02:00
Steve Pulec
44f0377cc4 Fix root volume to show up in other EC2 volume API calls. Closes 470 2015-11-28 09:19:45 -05:00
earthmant
39c3c5c8aa Adding Support for VPN Connections
support create, delete, describe
2015-11-25 16:38:02 +02:00
earthmant
41873b59f7 Adding Support for Get All DHCP Options
add DescribeDhcpOptionsResponse
support filtering describe_dhcp_options
add get_all_dhcp_options
2015-11-25 11:50:58 +02:00
earthmant
18fe3e41e9 Support default ACL in a VPC
a vpc usually has a default acl
this makes sure that moto flags it
and that the describe response has it in there
2015-11-23 18:07:51 +02:00
earthmant
4b59c6b907 Support Associate Network ACL
add the new_association_id property to NetworkACL object so that the template render for replace adds the ID and the associate_network_acl receives a response
2015-11-23 15:16:46 +02:00
Steve Pulec
cddf139bbc Add ability to create EBS volumes from snapshots. Closes #447. 2015-11-03 09:37:02 -05:00
Steve Pulec
d3e4c2c4b5 Add ability for specific backends to enable template escaping. Closes #441. 2015-11-03 09:25:47 -05:00
Steve Pulec
73452c79f7 Add milliseconds to EC2 launch time. Closes #445. 2015-11-02 23:33:39 -05:00
Steve Pulec
1d58aae42a Merge pull request #438 from ZuluPro/instancetypes
Added describe instance types
2015-11-01 14:30:32 -05:00
Enis Afgan
e07894c6e4 When adding security group rules, allow a source group only to be specified - as per boto docs & functionality 2015-10-29 07:27:35 +01:00
nuwan_ag
0b3ad166c0 Set snapshots to be in a completed state after being created and added
test case
2015-10-14 02:34:36 +11:00
Steve Pulec
37f86626cc Merge pull request #425 from ZuluPro/random_key_pair
Remade ec2.utils.random_key_pair for be really random
2015-10-05 18:25:17 -04:00
ZuluPro
b85b415977 Implemented import key pair 2015-09-24 17:34:08 +02:00
Anthony Monthe
0999a49b5b Added describe instance types 2015-09-23 14:50:47 +02:00
ZuluPro
23c2e7835e Remade ec2.utils.random_key_pair for be really random 2015-09-15 20:09:35 -04:00
Steve Pulec
92c96b6788 Fix bug in creating SecurityGroups for nics. Closes #391. 2015-08-03 20:56:05 -04:00
Steve Pulec
ac4aef87a1 Unused exception. 2015-08-01 19:44:37 -04:00
Rob Walker
e33777b60c tidy up imports. 2015-07-26 09:51:37 +10:00
Rob Walker
2bb79824ce Volume attachments to show in instance.
Volumes and Snapshots to be searchable by their id
Placement of instance to match region connection
Times for creation and attachment to show based on api call
2015-07-26 09:37:20 +10:00
Steve Pulec
4020141478 Fix cloudformation subnet tagging. 2015-07-13 19:27:00 -04:00
Steve Pulec
20306c9b24 Set more default datetimes. 2015-06-22 17:02:10 -04:00
Steve Pulec
640cd2ce44 Better EC2 NIC Attachment datetimes. 2015-06-22 16:52:12 -04:00
Jeffrey Gelens
e722b67f36 Merge branch 'master' of https://github.com/spulec/moto into 0.4.1-threadsafe
* 'master' of https://github.com/spulec/moto: (25 commits)
  Add @zkourouma to authors.
  0.4.2
  Fix bug where listener certificate was not being saved correctly when creating an elb. Added test to cover that case.
  [dynamodb2] adds lookup method to Table class
  Add IAM list_groups and list_groups_for_user. Closes #343.
  Fix for deleting Route53 record sets with set identifiers. Closes #342.
  Use dummy date instead of an invalid date
  Adding support for comments on hosted zones.
  Add availability zone support to Subnets created via CloudFormation
  Make availability zone dynamic in Subnet Response templates
  Add filter "availabilityZone" to DescribeSubnets and add availability zone support too
  allow starting without reseting
  Fix bug with empty string for instance vpc_id. Closes #337.
  Fix default security group description.
  Update responses.py
  Add @mrucci to authors.
  Fix merge conflicts.
  Add support for ELB attributes.
  cast to int when doing math.
  General cleanup.
  ...
2015-05-29 11:35:14 +02:00
Jeffrey Gelens
f5c4ac0b44 Merge branch 'master' of https://github.com/silveregg/moto into 0.4.1-threadsafe
* 'master' of https://github.com/silveregg/moto: (22 commits)
  filtering the items is needed because of defaultdict is not threadsafe and returns an empty dict which results in an exception here
  add tests for list_endpoints_by_platform_application
  add mock for list_endpoints_by_platform_application method
  [S3]Only add multipart part_id to partlist if it is not already in there. Closes #324.
  Fix etag for reduced min part size.
  Add test_multipart_duplicate_upload
  Fix reduced_min_part_size so that tests run
  Fix authors
  Add @mikegrima to authors
  Fixed how parameters are passed in following clarification on GitHub comments.
  Added in test for the boto IAM method: list_instance_profiles_for_role()
  Change SecurityGroupBackend.{authorize,revoke}_security_group_ingress() methods to receive group name or id, never both
  Add support to AWS::EC2::SecurityGroupIngress creation
  Add @aaltepet to authors.
  Add publish command.
  Add support to tag filtering to Security Groups
  slight change in formatting
  fix test for ec2 instance type filter
  Update minimum support boto version.
  support 'instance_type' filter
  ...
2015-05-29 11:34:23 +02:00
Francisco De Freitas
e320190b42 Use dummy date instead of an invalid date 2015-04-28 13:39:48 +02:00
Hugo Lopes Tavares
5160fac9b7 Add availability zone support to Subnets created via CloudFormation 2015-04-08 16:48:02 -04:00
Hugo Lopes Tavares
65d51a5844 Make availability zone dynamic in Subnet Response templates 2015-04-08 16:47:43 -04:00
Hugo Lopes Tavares
56cb06041c Add filter "availabilityZone" to DescribeSubnets and add availability zone support too 2015-04-08 15:07:29 -04:00
Steve Pulec
82214d2bc2 Fix bug with empty string for instance vpc_id. Closes #337. 2015-03-28 14:30:30 -04:00
Steve Pulec
bdfbdd8b1c Fix default security group description. 2015-03-28 14:13:28 -04:00
Jeffrey Gelens
c2f2c16892 Fixed non threadsafe code 2015-03-16 13:13:40 +01:00
Steve Pulec
c0d19ab178 General cleanup. 2015-03-14 18:55:44 -04:00
Steve Pulec
6c9bba2ca1 Cleanup EC2 classic default security group. 2015-03-14 18:50:41 -04:00
Hugo Lopes Tavares
4beda26007 Change SecurityGroupBackend.{authorize,revoke}_security_group_ingress() methods to receive group name or id, never both 2015-02-25 18:11:00 -05:00
Hugo Lopes Tavares
dc351dfc9e Add support to AWS::EC2::SecurityGroupIngress creation 2015-02-25 12:20:25 -05:00
Steve Pulec
c0e80de4d3 Merge pull request #317 from spulec/ec2-security-group-tag-filtering
Add support to tag filtering to Security Groups
2015-02-24 18:00:51 -05:00
Hugo Lopes Tavares
20d8318997 Add support to tag filtering to Security Groups 2015-02-24 17:56:26 -05:00
Andy Altepeter
e17c7bbd7a support 'instance_type' filter 2015-02-23 11:03:59 -06:00
Andy Altepeter
53ec30e3ba support 'tag-key' instance type 2015-02-23 10:45:16 -06:00
Steve Pulec
747563e4ff Cleanup tag escape testing. 2015-02-17 22:18:40 -05:00
Dennis Brandenburg
3bd1a62fe3 Escaping tags individually for building the describe_tags template to support get_all_tags 2015-02-17 10:23:15 +01:00
Steve Pulec
136873d49e Cleanup public IPs for EC2 classic instances and fix some default ENI things. 2015-02-14 14:42:20 -05:00
Steve Pulec
5ededbb297 Fix security group tags. Closes #301. 2015-02-14 08:57:14 -05:00
Steve Pulec
4d4cb39769 Merge pull request #297 from kouk/multipart_errors
Support for client supplied part order in multipart uploads
2015-02-14 08:30:10 -05:00
Hugo Lopes Tavares
1546635fcd Attach internet gateway to VPC when it is created through CloudFormation 2015-02-11 18:19:40 -05:00
Konstantinos Koukopoulos
7c719269be create a base RESTError exception 2015-02-10 15:31:28 +02:00
dreadpirateshawn
d631f869c1 ModifyImageAttribute: Added support for user permissions. 2015-01-23 09:43:54 -08:00
Steve Pulec
dd5cab8c63 Return random IP addresses for instances. 2015-01-21 21:58:38 -05:00
Steve Pulec
b1c41820f7 Cleanup EC2 launch time code a bit. 2015-01-19 13:44:15 -05:00
Chris Henry
6743a41b26 Fix merge conflict, 2015-01-18 16:37:56 -05:00
Chris Henry
1f2a913d3a Merge branch 'master' of github.com:behanceops/moto into feature-instance-launch-time
Conflicts:
	moto/ec2/models.py
2015-01-18 16:37:27 -05:00
Chris Henry
19a1b74c5b Change timestamp format to ISO 8601, as per http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html 2015-01-18 16:20:59 -05:00
Chris Henry
77185f9bee Change timestamp format to ISO 8601, as per http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html 2015-01-18 16:18:34 -05:00
Chris Henry
062256ada3 Use the current time when launching an instance. 2015-01-18 15:53:59 -05:00
Steve Pulec
adb26986eb Add route53 ResourceSet to Cloudformation. 2015-01-17 15:37:46 -05:00
Steve Pulec
166f4893ba Add cloudformation for RDS. 2015-01-11 16:15:08 -05:00
Steve Pulec
56007660d8 Cleanup parameter parsing. 2014-12-31 13:23:08 -05:00