Commit Graph

701 Commits

Author SHA1 Message Date
Bert Blommers
63d1c09659
Admin: Fail dependency-check script, instead of failing silently (#4758) 2022-01-13 22:10:20 -01:00
Benoît Faucon
72fdaa3552
feat: add support for filtering by tags in describe_managed_prefix_lists (#4747) 2022-01-13 11:41:01 -01:00
Bert Blommers
36d5e1d7df
EC2 - DescribeRouteTables should always show main association (#4726) 2021-12-27 22:56:50 -01:00
Bert Blommers
973c55a36c
EC2 - Error when deleting snapshots in use (#4721) 2021-12-25 20:37:39 -01:00
Bert Blommers
71daf79ffd
EC2 - Verify NIC can be created without SG (#4720) 2021-12-25 15:44:38 -01:00
Bert Blommers
cf87e75d6e
Feature: Mock region (#4699) 2021-12-24 20:02:45 -01:00
Bert Blommers
a1bfb6a48e
EC2 - SubnetId and NetworkInterfaces cannot both be specified when calling run_instances (#4719) 2021-12-24 14:12:57 -01:00
Simon Toftegaard Petersen
cd0f0ee83c
Added new functionality for EC2 (#4701) 2021-12-19 13:27:23 -01:00
Bert Blommers
80b074b88f
Update EC2/IAM resources (#4682) 2021-12-12 22:00:30 -01:00
Preston Doster
d64fd52b57
ENI: DescribeNetworkInterfaces attachment.instance-id filter (#3549) 2021-11-23 21:59:35 -01:00
Philip D'Amore
68ffb303b5
Fix incorrect DnsEntries XML for describe_vpc_endpoints (#4621) 2021-11-23 08:55:47 -01:00
James Light
f4abd5528f
Fix security group filters 2 (#4481) 2021-11-16 11:24:14 -01:00
Dominik Schubert
756f772c5c
EC2 - fix missing AZ on auto-generated volumes for instances (#4560) 2021-11-11 11:50:07 -01:00
Bert Blommers
74cad730cc
EC2 - improve test coverage (#4558) 2021-11-11 10:50:51 -01:00
Mohit Alonja
701465df26
ENI: added ipv6 support and fixed private ip address (#4307) 2021-11-10 19:50:47 -01:00
Bert Blommers
728039bce1
EC2 - Filtering on plain property didn't work with asterix (#4461) 2021-10-23 11:29:16 +00:00
Bert Blommers
ecd8d2478f
EC2:describe_instances() - allow filter for vpc_id within NIC (#4448) 2021-10-20 16:14:06 +00:00
Daniel Fangl
0b647fdb8b
Fix random_ipv6_cidr network generation, with test (#4438) 2021-10-19 13:04:30 +00:00
Bert Blommers
14a69c7524
Techdebt: Enable pylint rules (#4432) 2021-10-18 19:44:29 +00:00
nom3ad
f50d80ede6
fix: invalid escape sequence DeprecationWarning (#4430) 2021-10-18 09:21:18 +00:00
Bert Blommers
deeabfc6e5
EC2 - Implement DryRun-flag on various operations (#4420) 2021-10-15 22:43:00 +00:00
Bert Blommers
b95bda11f3
EC2 - Bugfix where associate_public_ip was always True (#4404) 2021-10-13 09:57:39 +00:00
Bert Blommers
51e59c7ac5
CF - Add support for AWS::EC2::VPNGateway (create only) (#4263) 2021-10-10 21:43:49 +00:00
Bert Blommers
4e45152d86
EC2:create_volume() - Add support for VolumeType (#4264) 2021-10-10 19:16:28 +00:00
Bert Blommers
b49ee71a55
Parallel tests - make EC2 SG tests more resistant to parallel tests (#4372) 2021-10-05 20:40:21 +00:00
Bert Blommers
8526013e61
Parallelize tests - Part 1 (#4368) 2021-10-05 17:11:07 +00:00
Bert Blommers
e9a4100324
Rewrite deprecated CloudFormation tests (#3842) 2021-10-04 13:47:40 +00:00
James Light
73b7fcce26
Fix security group filters (#4079) 2021-09-30 15:28:13 +00:00
Jonathan Piché
2db85d0e54
#4298 // fix warning when image id from template if specified (#4356) 2021-09-27 20:00:29 +00:00
Bert Blommers
939b800e96
Rewrite deprecated EC2 tests (#3881) 2021-09-25 11:13:07 +00:00
kbalk
3a203d35c9
Implement EC2 describe_vpc_endpoint_services() (#4322) 2021-09-24 16:01:09 +00:00
Steven Davidovitz
d56a3989eb
EC2 - instance lifecycle defaults to None when not using spot (#4321) 2021-09-22 16:32:30 +00:00
Macwan Nevil
cb43134d44
fixed route-table vpc-endpoint integration (#4285) 2021-09-16 21:49:49 +00:00
Mohit Alonja
f84ba7d6ec
Fix NetworkInterface PrivateIP support and EIP association (#4288) 2021-09-16 21:07:18 +00:00
Bert Blommers
a147eeac67
EC2 - Additional unit tests (#4291) 2021-09-15 21:07:04 +00:00
Mohit Alonja
002f9979ef
Fix Nat Gateway (#4281) 2021-09-14 20:40:17 +00:00
Mohit Alonja
99c661781e
Fix VPN gateway (#4279) 2021-09-11 08:21:01 +01:00
Mohit Alonja
e061d371c9
Basic requirements VPN GW (#4276) 2021-09-10 18:21:29 +01:00
Macwan Nevil
3885e20298
added support for prefix-list; improved support for replace route (#4273) 2021-09-10 07:09:47 +01:00
Mohit Alonja
eef21767f8
Fix SecuirtyGroupRules and added default Ec2-VPC support for SG. (#4267) 2021-09-09 13:39:48 +01:00
Bert Blommers
4e7153c655
EC2 - DryRun-requests should return 412 status code (#4270) 2021-09-07 17:10:01 +01:00
Mohit Alonja
2f26e870b8
SecurityGroup Improvements (#4239) 2021-09-04 17:08:18 +01:00
mello7tre
69cc92f780
Add describe_spot_price_history (#4261) 2021-09-04 16:57:01 +01:00
mello7tre
6d9abe1111
Add instance lifecycle property to detect spot instances (#4260) 2021-09-02 14:12:17 +01:00
Bert Blommers
0659ac6192
EC2 - Verify we can filter by owner-alias (#4255) 2021-09-01 13:23:24 +01:00
Brian Pandola
a1e415ec03
Support alternate EC2:ModifyInstanceAttribute request syntax (#4234) 2021-08-28 07:04:15 +01:00
Bert Blommers
8b7df4da44
EC2:DescribeVpcPeeringConnection() - use VpcPeeringConnectionIds-parameter if provided (#4230) 2021-08-27 14:56:31 +01:00
Bert Blommers
020257904e
Tech Debt - improve test coverage (#4229) 2021-08-27 11:28:10 +01:00
Mohit Alonja
11a37c357b
SecurityGroup Improvements (#4183) 2021-08-26 19:57:07 +01:00
Bert Blommers
6a644850f6
EC2 - Return custom error response for DescribeRouteTable/DescribeVPC (#4225) 2021-08-26 18:53:26 +01:00
Bert Blommers
fbd93efdb7
EC2 - Add tests for egress_only_internet_gateway (#4206) 2021-08-22 10:35:04 +01:00
Bert Blommers
7acdfe4feb
Introduce Pylint to check for duplicate test method names (#3684) 2021-08-21 16:33:15 +01:00
Brian Pandola
1db3e0e9b9
Raise error when attempting to terminate protected ec2 instance (#4199) 2021-08-19 06:47:05 +01:00
Brian Pandola
27c9b31d3a
Fix ec2 wildcard tag filters (#4189) 2021-08-18 06:02:19 +01:00
Bert Blommers
547a1844ed
Tech debt - improve test coverage EC2/ELBv2/Events (#4181) 2021-08-16 15:13:50 +01:00
Anton Grübel
4df099c724
Add cloudwatch tags (#4179)
* Update cloudwatch.put_metric_alarm to accept TreatMissingData and Tags parameter
* Add parameter ExtendedStatistic and EvaluateLowSampleCountPercentile to cloudwatch.put_metric_alarm
* Add parameter ThresholdMetricId to cloudwatch.put_metric_alarm
2021-08-16 08:52:19 +01:00
Macwan Nevil
d2c9e85ed3
Enhanced support for ami filtering (#4175) 2021-08-15 10:09:50 +01:00
Macwan Nevil
f2b8318211
fixed owner id and delete rt (#4161) 2021-08-11 21:23:04 +01:00
Bert Blommers
574053cb27
EC2 - Improve/Extend RouteTable unit tests (#4165) 2021-08-11 18:50:15 +01:00
Bert Blommers
69e865dd1e
EC2 - Add unit tests for Route Tables (#4135) 2021-08-04 14:22:26 +01:00
Bert Blommers
0388b778dd
EC2/RDS2 - New tests (#4127) 2021-08-03 15:06:06 +01:00
Waldemar Hummer
6eeb4b4b32
Add support for EC2 transit gateway associations (#4089)
Co-authored-by: Nevil Macwan <macnev2013@gmail.com>
Co-authored-by: monty16597 <alonjamohit77@gmail.com>
2021-07-31 16:18:19 +01:00
Bert Blommers
a1905ad584
Improve test coverage (#4098) 2021-07-28 11:17:15 +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
Brian Pandola
05cdcbcedc
Add support for DescribeNetworkInterfaces tag filters (#4057) 2021-07-04 07:44:58 +01:00
Bert Blommers
cbeeefbec9
Prep release 2.0.9 (#4007)
* Update implementation coverage

* EC2 - Update instance type offerings

* IAM - update list of managed policies

* Changelog for release 2.0.9

* Instance Type Offerings - fix number of available offerings
2021-06-12 13:57:29 +01:00
Brian Pandola
16f4dc87dc
Add support for tagging Volumes in ec2:RunInstances (#3946) 2021-05-21 06:35:34 +01:00
Brian Pandola
752b508738
Add support for KmsKeyId in ec2:RunInstances (#3943) 2021-05-20 07:11:50 +01:00
Josh McCullen
12b409e0de
Set multiple Security Groups when calling modify_network_interface_attribute (#3911) 2021-05-07 13:50:26 +01:00
khneal
e5b3f4181d
EC2 describe_network_acls: add support for owner-id filter (#3898)
* add test that fails with FilterNotImplementedError

* describe_network_acls: add support for owner-id filter

Co-authored-by: Kevin Neal <Kevin_Neal@intuit.com>
2021-05-05 13:15:43 +01:00
Brian Pandola
463472c2b2
Make security rules consistent between direct (backend) and indirect (api) boundaries (#3817)
* Make security rules consistent between direct (backend) and indirect (api) boundaries

Security rules added directly via the backend were unable to be revoked via the API
because the port values were being stored as strings but were always coerced back
to integers by the botocore model.  `"0" != 0`, so the rules would never match,
raising an `InvalidPermissionNotFoundError`.

This change ensures that the port values for a security group rule are always of type
`Union[int, None]`.

No tests needed to be modified as a result of this change.  A new test was added that
explicitly covers the behavior that had been failing.

* Skip test in server mode
2021-03-31 19:33:36 +01:00
Brian Pandola
1761be46e3
Return error when trying to add rules to a non-existent security group (#3802)
Behavior and error code/message confirmed against real AWS backend.
2021-03-26 13:00:51 +00:00
Brian Pandola
2bae7e4e0d
Raise error when adding duplicate egress rule to ec2:SecurityGroup (#3801)
The `InvalidPermission.Duplicate` error was already implemented for inbound rules,
but AWS also returns this error for duplicate outbound rules.

Very minor changes were needed on existing tests that were adding duplicate
outbound rules (when testing the RulesPerSecurityGroupLimitExceeded error).
2021-03-26 11:23:07 +00:00
tony-dot-sh
5fe3a707ed
fix route table association by internet gateway (#3773)
* fix route table association by internet gateway per https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateRouteTable.html

* Route53

 - Add test for route table association by internet gateway
 - Minor test tweak for Main route table values

TODO: explicitly set the route table main route association

* Route53

 - forgot subnet id association test

Co-authored-by: Tony Greising-Murschel <tony@platform.sh>
2021-03-16 14:15:58 +00:00
Bert Blommers
d3ad9d6686
Update integration test to use Pytest (#3703)
* Refactor int test to use pytest

* Add comments to int test script
2021-02-17 15:06:31 +00:00
tony-dot-sh
9feabf5479
Enhancement: implement EC2 instance filtering by subnet-id (#3694)
Co-authored-by: Tony Greising-Murschel <tony@platform.sh>
2021-02-15 16:38:40 +00:00
Bert Blommers
737636f9df
Tech debt (#3653) 2021-02-02 16:31:26 +00:00
Brian Pandola
cd044ef00b
Remove redundant test code (#3640)
These tests, when run, do not execute any `moto` code. They fail the
parameter validation check in `botocore`, which raises an exception
before ever sending a request.  These tests do not cover or verify
any `moto` behavior and have been removed.
2021-01-31 12:21:24 +00:00
Brian Pandola
f4b81e69b8
Address pytest warnings (#3629)
* Address `boto` deprecation warnings

This commit eliminates the following warning:

../boto/ec2/connection.py:582:
  PendingDeprecationWarning: The current get_all_instances implementation will be replaced with get_all_reservations.

`boto` isn't likely to ever make good on this warning, but doing the replacement will
declutter the `moto` test output.

* Remove `invoke_lambda` tracebacks from unit test logging

If an exception is encountered, the details are returned in the response payload.
Printing the traceback was just adding noise to the pytest output.

* Use known AMIs in unit tests

This commit eliminates the following warning in the pytest output:

`PendingDeprecationWarning: Could not find AMI with image-id:ami-123456, in the near future this will cause an error.`

Known, pre-loaded AMI image ids are used instead of random ids that don't actually
exist in the moto backend.  The integrity of the tests is unaffected by this change.

A test has been added to provide explicit coverage of the PendingDeprecationWarning
raised when an invalid AMI image id is passed to moto.
2021-01-29 11:31:56 +00:00
Brian Pandola
98d79dca97
Address boto deprecation warnings (#3616)
This commit eliminates the following warning (of which there are currently dozens):

../boto/ec2/connection.py:582:
  PendingDeprecationWarning: The current get_all_instances implementation will be replaced with get_all_reservations.

`boto` isn't likely to ever make good on this warning, but doing the replacement will
declutter the `moto` test output.
2021-01-26 14:07:19 +00:00
Brian Pandola
38124ab1c9
Fix ec2 filter by empty tag value (#3605)
* Fix ec2 filter by empty tag value

Return `None` instead of an empty string when the tag key does not exist
and replace the falsy check with a more explicit `is None`, which allows
empty string values to correctly pass through the filter comparator.

Behavior confirmed against a real AWS backend.

Closes #3603

* Make test case more explicit

Test case now pulled directly from the issue report (#3603).

Co-authored-by: Bert Blommers <bblommers@users.noreply.github.com>
2021-01-24 12:00:25 +00:00
Brian Pandola
cb03223c9b
Add TagSpecification support to ec2:CreateImage (#3604)
* Bump `botocore` to minimum version that supports TagSpecifications for this action.
* Add test coverage.

Closes #3602
2021-01-23 12:57:34 +00:00
Bert Blommers
0f32f3c50c
#3542 - CloudFormation - Fix SecurityGroup ingress rules (#3553) 2021-01-13 13:36:56 +00:00
Bert Blommers
77dd35e3b8
Use known ImageID in internal tests (#3555) 2021-01-13 09:02:11 +00:00
Brian Pandola
1a98c4f14a
Fix: handling of boolean value privateDnsEnabled in ec2:VpcEndpoint (#3566)
* Properly coerce `privateDnsEnabled` to boolean value when parsing requests.
* Per AWS spec, default `privateDnsEnabled` request value to `True`.
* Properly serialize `privateDnsEnabled` as boolean value in responses.
* Add test coverage.

Ref: #3540
2021-01-08 08:05:44 +00:00
usmangani1
bce682a867
Fix:Added nat-gateway tags (#3560)
* Fix:Added nat-gateway tags

* Removed changes
2021-01-07 17:59:46 +00:00
usmangani1
af60306371
Fix:Ec2-VPC:Added functionality describe-vpc-endpoint (#3524)
* Fix:Ec2:Added fucntionality describe-vpc-endpoint

* Refactor

* Added test cases for errors
2020-12-07 21:39:57 +00:00
usmangani1
cfaaa70ea9
FIX:Ec2:Added:Tags for EIP (#3505)
* FIX:Ec2:Added:Tags for EIP

* removed files

* Fix tests
2020-12-06 00:04:46 +00:00
Bert Blommers
936fb19539 DescribeInstanceTypeOfferings - script that hardcodes all offerings 2020-12-02 14:41:24 +00:00
Bert Blommers
5d208bfd04 Merge branch 'master' into add_instance_type_offerings 2020-12-02 10:57:07 +00:00
Brian Pandola
ae85c539fd Remove boto package dependency
The `boto` library (long ago superseded by `boto3`) has not had an official
release in over two years or even a commit in the last 18 months.  Importing
the package (or indirectly importing it by via `moto`) generates a deprecation
warning.  Additionally, an ever-increasing number of `moto` users who have
left `boto` behind for `boto3` are still being forced to install `boto`.

This commit vendors a very small subset of the `boto` library--only the code
required by `moto` to run--into the /packages subdirectory.  A README file
is included explaining the origin of the files and a recommendation for how
they can be removed entirely in a future release.

NOTE: Users of `boto` will still be able to use `moto` after this is merged.

closes #2978
closes #3013
closes #3170
closes #3418

relates to #2950
2020-11-26 23:59:15 -08:00
Nuwan Goonasekera
c658cfea0d
Run black and fix tests 2020-11-24 00:51:00 +05:30
Nuwan Goonasekera
114a8efac8
Improved describe instance types + tests 2020-11-23 15:30:52 +05:30
Nuwan Goonasekera
a69bad57ef
Added instance type offer filters 2020-11-23 15:30:52 +05:30
Mykola Mykhalov
689cd8f285
Implement IAM instance profile associations (#3482)
* Add associate_iam_instance_profile describe_iam_instance_profile_associations, disassociate_iam_instance_profile, replace_iam_instance_profile_association

* More tests, removed type hints, filter fix

* Ec2 fix
2020-11-20 22:00:53 +00:00
Brian Pandola
93453eba05
Improve ec2:DescribeSubnets filtering (#3457)
* Add response/model/test coverage for filtering by `state`
* Add explicit test case for filtering by `vpc-id`

Closes #801
2020-11-16 08:17:36 +00:00
Bert Blommers
273ca63d59 Linting 2020-11-11 15:55:37 +00:00
Bert Blommers
cb6731f340 Convert fixtures/exceptions to Pytest 2020-11-11 15:54:01 +00:00
Matěj Cepl
6d364dc7aa Pytest model of exceptions uses 'value' attribute instead of 'exception'. 2020-11-11 12:21:04 +01:00
Matěj Cepl
5697ff87a8 Back to Black 2020-11-10 14:12:38 +01:00
Matěj Cepl
ea489bce6c Finish porting from nose to pytest. 2020-11-10 08:25:05 +01:00
Matěj Cepl
77dc60ea97 Port test suite from nose to pytest.
This just eliminates all errors on the tests collection. Elimination of
failures is left to the next commit.
2020-11-10 08:23:44 +01:00
usmangani1
f57a77451c
Fix:Added Tags for Network-ACL,RouteTable,InternetGateway (#3430)
* Fix:Added Tags for Network-ACL,RouteTable,InternetGateway

* Modified internet-gateway tags

* Lint

Co-authored-by: usmankb <usman@krazybee.com>
2020-11-02 13:30:02 +00:00
Brian Pandola
c0a25bbd9a
Fix: VpnGatewayId parameter casing in ec2:CreateVpnConnection request (#3401)
Fixes #3397
2020-10-27 07:41:01 +00:00
davidaah
2fe3aee359
Allow creation of subnets from secondary VPC IPv4 CIDR blocks (#3391)
* allow subnets to be created from secondary vpc cidr block

* add additional test case for invalid cidr
2020-10-16 16:02:01 +01:00
Brian Pandola
ccda76898a
Add KMS Support to EBS Encrypted Volumes (#3383)
* Properly coerce `Encrypted` attribute to bool on request/response.
* Create and use a default AWS managed CMK for EBS when clients request
  an encrypted volume without specifying a KmsKeyId.

NOTE: A client-provided KmsKeyId is simply stored as-is, and is not validated
against the KMS backend. This is in keeping with other moto backends (RDS, Redshift)
that currently also accept unvalidated customer master key (CMK) parameters, but could
be an area for future improvement.

Closes #3248
2020-10-14 15:18:50 +01:00
Brian Pandola
d00cefa25c
Add tagging to ec2.CopySnapshot (#3365)
The `@freeze_time` decorator was removed because it is not necessary (and was
causing the test to be skipped).

Closes #2940
2020-10-09 12:33:07 +01:00
ljakimczuk
3bc18455a2
WIP: Introducing VPC Flow Logs (#3337)
* Start working on flow logs

* Change test

* Constructing tests

* Changing exceptions and adding more tests

* Adding more tests

* Changing model and adding more tests

* Adding support for tags

* Mocking Access error with non-existing Log Group Name

* Adding FlowLogAlreadyExists support

* Changing style

* Reformatted code

* Reformatted tests

* Removing needless test

* Adding support for CloudFormation

* Reformatting slightly

* Removing arnparse and using split

* Rearranging tests

* Fixing FilterNotImplementedError test

* Moving imports to 'if' clauses and adding explicit test for 'cloud-watch-logs' type

* Setting names matching boto3 API and restoring 'not-implementd-filter' test

* Reformatting tests with black
2020-09-28 07:16:06 +01:00
usmangani1
55e7caccfe
Fix:EC2 Tags in create vpc and create subnet (#3338)
Co-authored-by: usmankb <usman@krazybee.com>
2020-09-27 09:24:17 +01:00
Wolfgang Bauer
a4701dbbe6
Add tags to Elastic IP Addresses (#3310)
* Make ElasticAddress a tagged resource

To be able to filter on tags on ElasticAddresses, I need to have tags.

* remove unneeded commented lines

Was beginning of how to to it before further checking how it is done with other resources.

* do not ignore network-interface-owner-id filter

* add TODO about currently hardcoded region

* remove hardcoding region

* add testing for tags

creating and allocation, adding tags and querying for it

* separate test for tags into own method

* Linting

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-09-25 15:25:30 +01:00
Bert Blommers
db1d7123f6 List dependencies for services - add integration test to verify 2020-09-13 16:08:23 +01:00
Karthikeyan Singaravelan
7054143701
Fix deprecation warnings due to invalid escape sequences. (#3273)
* Fix deprecation warnings due to invalid escape sequences.

* Fix linter error.
2020-09-10 09:20:26 +01:00
Karthikeyan Singaravelan
3fb7cf75d4
Fix deprecation warning due to base64.decodestring in Python 3. (#3272) 2020-09-02 11:10:29 +01:00
usmangani1
1c939a5f06
Fix:EC2-Create-Subnet availability Zone Id support (#3198)
* Fix:EC2-Create-Subnet availability Zone Id support

* Linting

* Fix:fixed build errors

* linting

Co-authored-by: Bert Blommers <bblommers@users.noreply.github.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
Co-authored-by: usmankb <usman@krazybee.com>
2020-08-27 16:31:39 +01:00
jmbollard
2a27e457bf
Security group egress ip permissions fix (#3250)
* Add support for Description in egress rule response

* Update SecurityGroup default egress rule ip range

* Remove extra commas

* Remove extra commas

* Lower docker package in Travis

* Add more lambda vars per PR 3247

* Remove code added in 3247

* Add tests for egress rules with Descriptions

* Reformat based on black

Co-authored-by: spillin <jmbollard@me.com>
2020-08-26 14:27:45 +01:00
usmangani1
9894e1785a
Enhancement : Ec2 - Add describe-vpc-endpoint-services method support. (#3108)
* Enhancement : Ec2 - Add describe-vpc-endpoint-services method support.

* Fix:EC2-describe_vpc_endPoint_services changed the template

* Fixed comments

* Linting

Co-authored-by: usmankb <usman@krazybee.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-08-06 06:26:44 +01:00
usmangani1
a7ddcd7da3
Fix:EC2-authorize_security_group_ingress- add description to IP-Ranges (#3196)
* Fix:EC2-authorize_security_group_ingress- add description to IP-Ranges

* Fix:EC2-authorize_security_group_ingress- add test when description is not present.

* part commit

* Fix:fixed build errors

* Linting

* Allow for Python2 string/unicodes

Co-authored-by: usmankb <usman@krazybee.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-08-04 06:50:57 +01:00
Larry Aiello
06ed67a8e5
Implement UserIds for Snapshot Attributes (#3192)
* implement register_image

* format code

* add user_ids to snapshot model

* implement register_image

* format code

* add user_ids to snapshot model

* trying to un-deprecate tests

* Write tests and finalize implementation

* Add region parameter to boto3 resource call

* fixed test error
2020-08-01 17:03:54 +01:00
Matt Williams
50d71eccbe
Fix XML schema for ec2.describe_instance_types (#3194)
* Add test for describe_instance_types

It currently fails due to an invalid XML schema

* Add more detail to test

* Fix the XML schema for describe_instance_types
2020-07-29 18:36:37 +01:00
Larry Aiello
2504a398f9
Implement ec2.register_image() (#3177)
* implement register_image

* format code
2020-07-26 13:51:26 +01:00
Alan Baldwin
b09c8034e6
Adding VPN Gateway filters (#3155)
* Adding attchment.vpc-id, attachment.state, type, and vpn-gateway-id filters for VPN Gateways. fixes #3154

* Run formatting on tests

Co-authored-by: Alan Baldwin <alan.baldwin.jr@gmail.com>
2020-07-21 16:08:49 +01:00
usmangani1
552b1294df
Fix : EC2 - Added ownerId filter for describe instances (#3149)
* Fix : EC2 - Added ownerId filter for describe instances

* linting
2020-07-19 10:44:58 +01:00
usmangani1
81be4b37a1
Fix: Ec2 - add destinationIpv6CIDR support. (#3106)
* Fix: Ec2 - add destinationIpv6CIDR support.

* removing unneccessary debug statements

* modifying existing test case

* Linting

Co-authored-by: usmankb <usman@krazybee.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-07-07 14:32:55 +01:00
Ninh Khong
b7671819df Update code lint 2020-07-05 23:04:34 +07:00
Ninh Khong
87eb8a21d6 Update unittest checking region response in accept_vpc_peering_connection and describe_vpc_peering_connects functions 2020-07-05 22:09:57 +07:00
Maxim Kirilov
610bf36f3b
Improve parsing of string values that represents booleans during block device mapping construction (#3073)
* convert str into bool

* Fix python2

* Fix python2

* pylint
2020-06-16 06:03:02 +01:00
usmangani1
5988e5efaa
EC2 : Fix - modified volume type in ec2 describe images. (#3074)
* "modified volume type in ec2 describe images"

* removed unncessary comments

* Linting

Co-authored-by: usmankb <usman@krazybee.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-06-15 10:32:43 +01:00
usmangani1
475f022b78
Enhancement: EC2 added create route with networkInterfaceId (#3063)
* Enhancement:EC2- create route with network interfcaeID

* modifying existing test case

* Linting

Co-authored-by: usmankb <usman@krazybee.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-06-12 16:16:55 +01:00
André Nardy
97a6e8d9e8
Enhancement/describe network acls (#3003)
* update describe_network_acls and create unit test

* add fail test case

* adjustment after feedback

* fix result test
2020-05-26 11:04:59 +01:00
Maxim Kirilov
2320e82647
Add support for detaching volumes upon instance termination (#2999) 2020-05-24 12:22:45 +01:00
Maxim Kirilov
1e0a7380d5
Add support for BlockDeviceMappings argument (#2949)
* Add support for BlockDeviceMappings argument upon run_instances execution

* Remove redundant check for Ebs existence
2020-05-11 13:23:45 +01:00
Bert Blommers
2d0087d500 Linting 2020-04-29 16:29:25 +01:00
usmankb
f4888da334 added test asserts and review comments 2020-04-29 18:02:02 +05:30
usmankb
84100c4483 enhancement Create-VPC-endpoint 2020-04-29 00:28:19 +05:30
Matthew Gladney
ff1beea280 Merge https://github.com/spulec/moto into support_optin_regions 2020-04-27 18:27:40 -04:00
Steve Pulec
fbc431dbff
Merge pull request #2837 from bblommers/bug/2810
EC2 - Explicitly set ebs_optimized to false if not specified
2020-04-25 18:44:48 -05:00
Steve Pulec
9c3f6c7592
Merge pull request #2825 from bblommers/feature/2699
EC2 - Add option to add volumes using CloudFormation
2020-04-25 18:36:26 -05:00
Matthew Gladney
59c1f0e131 black reformatting changes 2020-04-24 14:20:58 -04:00
Matthew Gladney
908468edb6 Support OptInStatus for EC2 describe_region calls 2020-04-24 14:15:22 -04:00
Mike Grima
bdeeeb701a
Merge pull request #2880 from bblommers/bugfix/2877
EC2 - Ensure NCI always has a Subnet
2020-04-16 15:02:45 -07:00
usmankb
7a9cdd4fd2 Adding missing Param zoneId in the describe-availability-zone 2020-04-11 08:37:00 +05:30
Bert Blommers
8475804a8b Simplify tests 2020-04-08 14:02:35 +01:00
Bert Blommers
5c7e0b56af #2877 - Ensure NetworkInterfaces are assigned to the default Subnet 2020-04-08 13:53:53 +01:00
Bert Blommers
aae49493c4 Linting 2020-04-07 08:52:37 +01:00
usmankb
81ca5c3ab0 Implemented describe_instance_credit_specifications function in ec2 #2150 localstack 2020-04-06 21:25:59 +05:30
mickeypash
a6864f483d Use Python 2 format 2020-04-03 14:17:55 +01:00
mickeypash
d3367b8a90 Black formatting 2020-04-03 02:27:46 +01:00
mickeypash
76b9cbe16d Fix test 2020-04-03 02:14:14 +01:00
mickeypash
231b100057 Add test scaffold. Currently broken 2020-04-03 01:58:14 +01:00
Bert Blommers
11526ced18 #2810 - EC2 - Explicitly set ebs_optimized to False if not specified 2020-03-24 09:24:38 +00:00
Bert Blommers
5b596c8a78 #2699 - EC2 - Add Volumes using CloudFormation 2020-03-20 15:17:55 +00:00
Bert Blommers
9eeb375911
Add region to test case 2020-03-10 09:26:44 +00:00
Bert Blommers
dc98fca853 #718 - Allow filtering by multiple tags 2020-03-09 15:14:51 +00:00
Steve Pulec
a92f862e86
Merge pull request #2764 from bblommers/feature/ec2-describe-instance-filters
Feature  - EC2 describe_instance_status now uses filters
2020-03-07 11:47:05 -06:00
aimannajjar
639c1abcb4 clarifying comment in test case 2020-03-01 08:23:31 -05:00
aimannajjar
5b9b965647 [ec2-sg] added logic to create a second default egress rule for ipv6 2020-02-29 21:05:05 -05:00
Bert Blommers
3aeb5f5043 Linting 2020-02-24 13:43:58 +00:00
Bert Blommers
939bd1cd86 EC2 - Add some filters for describe_instance_status 2020-02-24 13:43:19 +00:00
Steve Pulec
b252ab6675
Merge pull request #2173 from sthuber90/master
Extending IoT Policy and Jobs functionality
2020-02-17 17:55:03 -06:00
Bert Blommers
df031d0f33 #2732 - Created AMI should have AccountID as the OwnerID 2020-02-08 10:58:31 +00:00
Stephan Huber
5543a91cc1 Merge remote-tracking branch 'upstream/master' 2020-01-24 10:38:19 +01:00
Asher Foa
d9d055c75d Fix more typos. 2020-01-23 10:15:02 -08:00
Stephan Huber
84210f6011 Merge remote-tracking branch 'upstream/master' 2020-01-23 15:37:40 +01:00
gruebel
cd9b7072a2 Adjust ec2 regions tests 2019-12-28 21:22:16 +01:00
gruebel
d7ba355a65 Add missing regions to all services 2019-12-26 17:12:22 +01:00
Stephan Huber
0527e88d46 Merge remote-tracking branch 'upstream/master' 2019-12-23 08:38:53 +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
b83a750630 Added references to moto.iam.models.ACCOUNT_ID instead of hardcoded id 2019-12-16 19:56:11 -05:00
Mike Grima
4386999ea7
Merge pull request #2613 from levinine/add_nat_gateway_id_to_route_and_describe_route_tables
Add nat_gateway_id to route and describe_route_tables
2019-12-12 18:33:11 -08:00
Mike Grima
ab73ab3ff5
Merge pull request #2609 from levinine/describe_nat_gateway_filter_support
Add describe_nat_gateway filters support
2019-12-12 18:29:05 -08:00
Berislav Kovacki
43070a03ba Add nat_gateway_id to route and describe_route_tables 2019-12-02 19:20:00 +01:00
Berislav Kovacki
4322ecb254 Add describe_nat_gateway filters support
Support describe_nat_gateway filters by using nat-gateway-id, vpc-id,
subnet-id and state filter parameters.
2019-11-28 23:36:00 +01:00
gruebel
5895231b5c Fix ec2.revoke_security_group_egress for IpProtocol -1 2019-11-24 17:17:53 +01:00
Mike Grima
028aafd05b
Merge pull request #2555 from catherinetcai/feature/ec2-vpc-classic-link
Adds basic implementations for vpc-classic-link and vpc-classic-link-dns-support - Redo
2019-11-16 10:21:29 -08:00
Cat Cai
528cf0e21d Run black to fix linting 2019-11-12 14:51:31 -08:00
Cat Cai
9169b87748 Tests pass 2019-11-12 11:16:34 -08:00
Cat Cai
9cb105f5c2 Ensure test is sorted 2019-11-12 10:32:27 -08:00
Cat Cai
3398244f14 Fix styling problems 2019-11-11 12:09:52 -08:00
Wessel van der Veen
6d52cd06cb Adds support for enable/disable/describe vpc-classic-link-dns-support. 2019-11-11 10:55:09 -08:00
Wessel van der Veen
17cc46b91e adds basic support for vpc-classic-link 2019-11-11 10:54:36 -08:00
Bert Blommers
179bdd6caa #2002 - Take ElasticNetworkInterfaces into account when requesting available IP addresses 2019-11-08 16:40:17 +00:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
Chih-Hsuan Yen
18173a5951
Replace # flake8: noqa with # noqa
The former syntax is actually a mis-use and rejected since Flake8 3.6
[1].

[1] https://gitlab.com/pycqa/flake8/merge_requests/219
2019-10-27 20:41:22 +08:00
Stephan Huber
5a9c921d97 Merge remote-tracking branch 'upstream/master' 2019-08-30 14:39:29 +02:00
Stephan Huber
b94147a1d5 Merge remote-tracking branch 'upstream/master' 2019-08-30 14:18:01 +02:00
Don Kuntz
d2ce3a9e04
Flake8 fixes 2019-08-19 18:01:44 -05:00
Don Kuntz
4929298f1f
Test create_launch_template_version using launch_template id 2019-08-19 17:59:15 -05:00
Don Kuntz
a1aa087718
Add test for creating launch templates with TagSpecifications option 2019-08-19 17:58:19 -05:00
Don Kuntz
743e5be4d3
Confirm describe_launch_template_versions works with Versions, MinVersion, and MaxVersion options 2019-08-19 17:57:39 -05:00
Don Kuntz
1de63b1691 Specify region in launch template tests 2019-08-14 16:32:01 -05:00
Don Kuntz
aa3b6085d1 Add basic endpoints for EC2 Launch Templates
Specifically, add the CreateLaunchTemplate, CreateLaunchTemplateVersion,
DescribeLaunchTemplates, and DescribeLaunchTemplateVersions endpoints.
2019-08-14 16:11:07 -05:00
Don Kuntz
abf3db8d8a
Add a test to ensure that ec2.copy_image sets the proper owner id
This test is useful because before the last commit using copy_image
would not set the owner_id to the same one used when calling
describe_images.

For example, this code

    conn = boto3.client("ec2")
    copy_resp = conn.copy_image(
        SourceImageId="ami-whatever",
        ...
    )

    describe_resp = conn.describe_images(
        Owners=["self"]
    )

Would result in describe_resp being empty, when it should contain the
image from the copy_resp before it.

By ensuring the owner ids are the same (see ce4059f6) the code example
now works as expected.
2019-07-22 21:57:15 -05:00
Don Kuntz
ce4059f6d9
Use a consistent owner id between EC2 resources
Previously there were a couple models which used different owner ids by
default, which could make tests relying on them fail if someone wasn't
expecting that. This change ensures a uniform owner id between
resources.
2019-07-22 21:50:09 -05:00
Berislav Kovacki
e67e2deee4 Extend EC2 DescribeNetworkInterface filter support
* add description property to EC2 NetworkInterface
* extend DescribeNetworkInterfaces filter support with description,
subnet-id, private-ip-address attributes
2019-07-15 00:01:37 +02:00
acsbendi
7de0ef0f8b Fixed value is present in response even if it's None. 2019-07-05 15:24:16 +02:00
acsbendi
0b88dd1efb Fixed security group IDs not returned correctly. 2019-07-05 15:12:38 +02:00
acsbendi
7215b00466 Created test case for describe_instance_attribute. 2019-07-05 13:43:47 +02:00
Bendegúz Ács
8f53b16b9a Updates to create_subnet and describe_subnets responses (#2053)
* Removed Tags field from create_subnet response.

* Added DefaultForAz to create_subnet response.

* Added MapPublicIpOnLaunch to create_subnet response.

* Added OwnerId to create_subnet response.

* Added AssignIpv6AddressOnCreation field for create_subnet and describe_subnet and implemented setting it in modify_subnet_attribute.

* Added SubnetArn to create_subnet response.

* Added AvailabilityZoneId to create_subnet and describe_subnet responses, and error for invalid availability zone.

* Added Ipv6CidrBlockAssociationSet to create_subnet response.

* Added missing fields to describe_subnets response.

* Added myself to list of contributors and marked describe_subnet as implemented.

* Fixed linting errors.

* Fixed blank line containing a tab.

* Fixed accidentally deleted ).

* Fixed broken tests.
2019-05-28 16:33:25 +01:00