Commit Graph

3572 Commits

Author SHA1 Message Date
Bert Blommers
0e302a97cb
Streamline success/failure response from AWSLambda (#4000) 2021-08-28 09:41:05 +01:00
Bert Blommers
4653c34fd5
Validate AST before creating new item (#3754) 2021-08-28 09:38:12 +01:00
Bert Blommers
34c00e7dbd
#3548 - Logs - Transform assertions into proper exceptions (#3744) 2021-08-28 09:36:43 +01:00
Bert Blommers
ec70d3cd14
SQS - get_queue_attributes() might not have AttributeNames-parameter (#4236) 2021-08-28 09:34:33 +01:00
Bert Blommers
532386327d
S3 - Add RequestId to responses (#3836) 2021-08-28 08:32:14 +01:00
Bert Blommers
6a6a71ebff
DynamoDB - raise exception for invalid parameter combination (#3755) 2021-08-28 07:41:04 +01:00
Bert Blommers
0317c502f0
S3 ListParts API: use MaxParts parameter (#3658) 2021-08-28 07:38:16 +01:00
Bert Blommers
6b960e0d4f
CF support for IAM:ManagedPolicy (#3933) 2021-08-28 07:32:10 +01:00
Bert Blommers
6d0bcba791
Feature: Elastic Transcoder (#3810) 2021-08-28 07:30:40 +01:00
Bert Blommers
a6606cbf42
DynamoDB - Describe Endpoints (#3716) 2021-08-28 07:25:06 +01:00
Bert Blommers
cc50acc8b5
AWSLambda - Allow ARN as parameter (#3740) 2021-08-28 07:23:44 +01:00
Brian Pandola
a1e415ec03
Support alternate EC2:ModifyInstanceAttribute request syntax (#4234) 2021-08-28 07:04:15 +01:00
Bert Blommers
6f4b6080f8
SQS - Raise error message when providing an invalid value for the queue_url parameter (#3657) 2021-08-28 06:19:01 +01:00
Bert Blommers
684cafa2b8
S3 - Allow uploads using a PUT request without content-type (#3699) 2021-08-28 06:10:16 +01:00
Bert Blommers
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
Anton Grübel
e865362791
Add fifo high throughput (#4224) 2021-08-26 16:23:17 +01:00
Mark Woods
21021a6a03
Glue - Implemented create_crawler, get_crawler, get_crawlers, delete_crawler. Updated IMPLEMENTATION_COVERAGE.md. (#4222) 2021-08-26 10:49:41 +01:00
Timothy Klopotoski
cbbeaff23e
Throw ValidationError on null outputs section (#4221) 2021-08-26 06:01:01 +01:00
Macwan Nevil
9613795bc2
fixed vpc with ipv6 connection (#4219) 2021-08-26 05:59:34 +01:00
Gonzalo Saad
29b0122fac
feat(ssm): Add ssm documents permissions (#4217)
* refactor(ssm): Add Documents class to avoid dictionary handling
This also solves the datetime format issue in TestAccAWSCloudWatchEventTarget_ssmDocument
2021-08-25 15:16:14 +01:00
Macwan Nevil
105bf863af
added support for modify-vpc-connection; fixed vpc peering options (#4210) 2021-08-24 16:52:34 +01:00
Bert Blommers
d278fd6eaa
Batch - remove duplicate tests (#4208) 2021-08-22 15:14:46 +01:00
Bert Blommers
914d07027f
Feature: Batch: cancel_job (#3769) 2021-08-22 12:29:23 +01:00
Bert Blommers
fdf27a70e9
Route53 - Persist CallerReference (#3788) 2021-08-22 10:51:21 +01:00
Bert Blommers
5f7167ce62
Organisations - Detach policy, and asserts it actually happens (#3759) 2021-08-22 10:49:48 +01:00
Bert Blommers
bb3cbd0bb4
DynamoDB (V1) - implement UpdateItem (#3926)
* DynamoDB (V1) - UpdateItem implementation

* DynamoDB (V1) - negative tests for UpdateItem
2021-08-22 10:42:41 +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
Bert Blommers
8d4596a366
Prep Release 2.2.4 (#4205)
* S3 - Refactor logic to models.py, out of Response-class

* Changelog for release 2.2.4
2021-08-21 15:05:40 +01:00
Evan O'Connell
25e79c6e67
Fix IsDefault bug in elbv2 describe_rules (#4204) 2021-08-21 05:50:10 +01:00
kbalk
b9c7ec383c
Add AWS ConfigService put_config_rule, delete_config_rule, describe_config_rule (#4171)
Co-authored-by: Karri Balk <kbalk@users.noreply.github.com>
2021-08-21 05:45:52 +01:00
Timothy Klopotoski
bd5ab53241
Fix bugs. Cloudformation updates are complex! (#4200)
* **Fix bug.** If a cloudformation stack is updated with a new
    parameter, that parameter should be honored. Several unit tests
    had bugs where they were not providing parameters required by the template.
* **Fix bug.** Do not update stack parameters until after deleting removed
    resources, so that any references to removed parameters can be resolved.
* **Fix bug.** Per the API, creation of a change set should not modify
    a stack. The `diff` method, called in the creation of a
    FakeChangeSet, was mutating the resource map which was problematic
2021-08-19 17:36:11 +01:00
Łukasz
73368863eb
Added handling for V4 signatures in PutObject body (#4201)
Co-authored-by: Łukasz Nowak <lukasz.nowak@idemia.com>
2021-08-19 15:06:43 +01:00
Brian Pandola
1db3e0e9b9
Raise error when attempting to terminate protected ec2 instance (#4199) 2021-08-19 06:47:05 +01:00
D. Ferruzzi
d67d8111a3
Fargate (#4185) 2021-08-19 06:44:56 +01:00
Macwan Nevil
a93756c69a
added support for egress-only-internet-gateway (#4196) 2021-08-19 06:39:06 +01:00
Timothy Klopotoski
b4f02f3436
Translate Cloudformation API data to EventBridge API data (#4188) 2021-08-18 20:31:29 +01:00
Hasanul Islam
492484be20
Add missing default regiono in s3 client (#4194) 2021-08-18 20:25:33 +01:00
Timothy Klopotoski
8743f81e15
CF: Raise ValidationError on bad resource id (#4186) 2021-08-18 18:41:02 +01:00
Ariel Beck
ce449bf86b
Iot/added deprecation errors (#4192)
Co-authored-by: arielb <ariel.beck@cyberark.com>
2021-08-18 10:32:58 +01:00
Brian Pandola
27c9b31d3a
Fix ec2 wildcard tag filters (#4189) 2021-08-18 06:02:19 +01:00
Ariel Beck
2f5a702f1f
added deprecate_thing_type method for IOT (#4184)
Co-authored-by: arielb <ariel.beck@cyberark.com>
2021-08-17 18:05:18 +01:00
Cristopher Pinzón
1d90946072
Feature S3 Object Lock (#4174) 2021-08-17 06:16:59 +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
1800733162
added tgw support in rt (#4178) 2021-08-15 17:21:10 +01:00
Macwan Nevil
7397b8c129
fixed rt, eip, natgateway integration (#4176) 2021-08-15 10:11:04 +01:00
Macwan Nevil
d2c9e85ed3
Enhanced support for ami filtering (#4175) 2021-08-15 10:09:50 +01:00
Mohit Alonja
39185cafef
Added ManagedPrefixList (#4169) 2021-08-14 16:31:06 +01:00
Anton Grübel
0d06ebb5fc
Add ecr replication config (#4170) 2021-08-14 16:15:56 +01:00
Koichi Ogura
ec33237165
iot: Add VersionsLimitExceededException (#4173) 2021-08-14 16:10:58 +01:00
Gonzalo Saad
9e61ab2220
refactor(events): Improve put_rule and event pattern (#4158) 2021-08-13 06:01:44 +01:00
Bartosz Sledz
b3fe48ece0
Add support for USER_PASSWORD_AUTH auth method (cognito-idp) (#4164)
Co-authored-by: Bartosz Sledz <bartosz.sledz@hitachivantara.com>
2021-08-12 09:19:54 +01:00
Anton Grübel
cbfb450430
Support force flag in ecr.delete_repository (#4167) 2021-08-12 06:08:28 +01:00
Anton Grübel
b8405b39b5
Add ecr image scan (#4166)
* Add ecr.start_image_scan

* Add ecr.describe_image_scan_findings
2021-08-12 06:06:21 +01:00
Anton Grübel
a5eb46962d
Fix events target for custom event bus (#4168) 2021-08-12 06:02:16 +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
Anton Grübel
6f361e6afb
Add ecr registry policy (#4159)
* Add ecr.put_registry_policy

* Add ecr.get_registry_policy

* Add ecr.delete_registry_policy

* Add ecr registry policy test for Terraform and cleanup
2021-08-11 13:18:12 +01:00
Macwan Nevil
5e6b7ee529
removed depricated account id (#4156) 2021-08-10 07:13:39 +01:00
Anton Grübel
298e220122
Add ecr lifecycle policy (#4153)
* Add ecr.put_lifecycle_policy

* Add ecr.get_lifecycle_policy

* Add ecr.delete_lifecycle_policy

* Add ecr lifecycle policy test for Terraform
2021-08-09 14:55:29 +01:00
Garreth Golding
6ae37046f0
UnboundLocalError is thrown when creating a Firehose delivery stream. (#4144) 2021-08-07 09:42:23 +01:00
Bert Blommers
6fedb25a2a
Merge pull request #4149 from xiaket/execute_change_set_update_stack_status
add stack status in execute_change_set call.
2021-08-07 09:39:29 +01:00
kbalk
6b880003c6
Add Log Service describe_resource_policies, delete_resource_policy (#4150)
Co-authored-by: Karri Balk <kbalk@users.noreply.github.com>
2021-08-07 09:04:15 +01:00
Anton Grübel
b4ae6a9cce
Add ecr repo policy (#4148)
* Add ecr.set_repository_policy

* Add ecr.get_repository_policy

* Add ecr.delete_repository_policy
2021-08-07 08:48:28 +01:00
Waldemar Hummer
35d0ddef24
Add support for KMS update-alias (#4143) 2021-08-07 08:07:40 +01:00
Kai Xia
9af1a96174 make FakeChangeSet a subclass of BaseModel, not FakeStack.
This fixes #4141, and pave ways for future changes around changeset.

We had subclassed FakeChangeSet from FakeStack, not from BaseModel. This made
us easier to send the response for describe_change_set calls, but when we are
handling the details of change set, the old approach won't work at all.
For example, when we were creating a changeset, we were actually creating a
stack without registering it (self.stacks), and future update onto this stack
is not really possible.

Signed-off-by: Kai Xia <kaix+github@fastmail.com>
2021-08-07 17:02:22 +10:00
Bert Blommers
76094f012b
Remove pkg_resources module (#4142) 2021-08-05 17:59:25 +01:00
Gonzalo Saad
da09cfc39c
feat(events): Add condition in event permission (#4140) 2021-08-05 14:24:51 +01:00
Anton Grübel
cadbee35cb
Add ecr tag mutability & image scan config (#4139)
* Add ecr.put_image_tag_mutability

* Add ecr.put_image_scanning_configuration
2021-08-05 14:23:11 +01:00
Bert Blommers
79f0cc9e9e
Tech debt - remove dead DynamoDB code and add RDS tests (#4136) 2021-08-04 17:24:26 +01:00
Bert Blommers
69e865dd1e
EC2 - Add unit tests for Route Tables (#4135) 2021-08-04 14:22:26 +01:00
Bert Blommers
ee6f20e376
Batch - Test rework (#4134) 2021-08-04 13:40:10 +01:00
Ray Myers
4ae9b0e253
Implement AutoScaling resume_processes and correct behavior of suspend_processes (#4133)
* Implement AutoScaling resume_processes and correct behavior of suspend_processes
2021-08-04 06:57:21 +01:00
Jordan Bailey
1b7e015e19
Wafv2 initial Implementation 2021-08-04 06:45:41 +01:00
Bert Blommers
bc369679f2
Update test_cognitoidp.py 2021-08-03 16:54:31 +01:00
Łukasz
33988b96c2
fix for 'status' filter, inherent_attributes test (#4129)
Co-authored-by: Łukasz Nowak <lukasz.nowak@idemia.com>
2021-08-03 16:34:07 +01:00
Anton Grübel
788b8e617d
Update ecr (#4128)
* Add ecr.list_tags_for_resource

* Add ecr.tag_resource

* Add ecr.untag_resource

* Add default KMS key policy, if not specified
2021-08-03 16:21:15 +01:00
George Lungley
0ec99fae8b
#4118 Add KmsKeyId Support to secretsmanager (#4119) 2021-08-03 15:46:23 +01:00
Gonzalo Saad
242de5bc6f
feat(events): Add policy in put_permission (#4114)
* feat(events): Add policy in put_permission
Also add RemoveAllPermissions in remove_permission
2021-08-03 15:10:36 +01:00
Bert Blommers
0388b778dd
EC2/RDS2 - New tests (#4127) 2021-08-03 15:06:06 +01:00
kbalk
f364a050f0
Add support for ConfigService APIs list_tags_for_resource, untag_resource, tag_resource (#4117)
Co-authored-by: Karri Balk <kbalk@users.noreply.github.com>
2021-08-03 12:45:26 +01:00
Ray Myers
9bd38f8480
Add autoscaling delete_tags (#4122) 2021-08-03 08:00:26 +01:00
Mohit Alonja
911d29cc33
Added support for tgw peering attachment (#4115)
* Added required params to run the terraform test
2021-08-03 07:58:25 +01:00
Łukasz
16a4db1ce5
cognito:user_status filter in list users (#4120)
Co-authored-by: Łukasz Nowak <lukasz.nowak@idemia.com>
2021-08-03 07:56:41 +01:00
Macwan Nevil
c8b2b6dffe
fixed vpc with terraform; added modify vpc tenancy (#4116) 2021-08-02 05:50:45 +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
Waldemar Hummer
faadf3db3a
fix parsing regex to support request params with dicts of lists (#4111) 2021-07-30 06:19:38 +01:00
Bert Blommers
11883a1fda
Remove unnecessary dependencies EC2/SQS (#4094)
* Add missing dependencies for EFS
2021-07-29 06:38:16 +01:00
Patrick Greene
6b4032a9a8
Add partial support for EFS (#4080) 2021-07-29 05:55:23 +01:00
Bert Blommers
a1905ad584
Improve test coverage (#4098) 2021-07-28 11:17:15 +01:00
andyfase
0f8da52196
Add support for admin_user_global_sign_out to cognitoidp (#4092)
* Add support for admin_user_global_sign_out to cognitoidp
2021-07-27 18:49:19 +01:00
Gonzalo Saad
f849842414
feat(events): Add update_connection (#4095) 2021-07-27 17:47:03 +01:00
cătălin
9d7746b9e3
Add validity dates to IoT fakecert (#4093) 2021-07-27 08:59:01 +01:00
Miguel Gagliardo
f9f93531e8
Fix: Adding empty tags to SQS queue on creation time (#4087)
* Fix: Adding tags to SQS queue on creation time
2021-07-27 08:24:38 +01:00
Miguel Gagliardo
44624593f1
Fix: Adding fix when setting empty policy attr to queue (#4091) 2021-07-27 06:04:24 +01:00
Waldemar Hummer
f4f8527955
Merge LocalStack changes into upstream moto (#4082)
* fix OPTIONS requests on non-existing API GW integrations

* add cloudformation models for API Gateway deployments

* bump version

* add backdoor to return CloudWatch metrics

* Updating implementation coverage

* Updating implementation coverage

* add cloudformation models for API Gateway deployments

* Updating implementation coverage

* Updating implementation coverage

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

* bump version

* minor fixes

* fix Number data_type for SQS message attribute

* fix handling of encoding errors

* bump version

* make CF stack queryable before starting to initialize its resources

* bump version

* fix integration_method for API GW method integrations

* fix undefined status in CF FakeStack

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

* bump version

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

* bump version

* remove duplicate methods

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

* fix SQS performance issues; bump version

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

* fix default parameter groups in RDS

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

* Updating implementation coverage

* Updating implementation coverage

* add cloudformation models for API Gateway deployments

* Updating implementation coverage

* Updating implementation coverage

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

* make CF stack queryable before starting to initialize its resources

* bump version

* remove duplicate methods

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

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

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

* determine non-zero container exit code in Batch API

* support filtering by dimensions in CW get_metric_statistics

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

* add missing fields for API GW resources

* fix error messages for Route53 (TF-compat)

* various fixes for IAM resources (tf-compat)

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

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

* add s3 exception for bucket notification filter rule validation

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

* fix lint errors and disable "black" syntax enforcement

* remove return type hint in RESTError.get_body

* add RESTError XML template for IAM exceptions

* add support for API GW minimumCompressionSize

* fix casing getting PrivateDnsEnabled API GW attribute

* minor fixes for error responses

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

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

* Merge branch 'master' into localstack

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

* fix recursive parsing of complex/nested query params

* bump version

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

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

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

* minor fix for user filtering in Cognito

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

* support tags and tracingEnabled attribute for API GW stages

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

* fix connection arn structure

* fix api destination arn structure

* black format

* release 2.0.3.37

* fix s3 exception tests

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

* remove python 2 from build action

* add test failure annotations in build action

* fix events test arn comparisons

* fix s3 encryption response test

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

* fix extracting SecurityGroupIds for EC2 VPC endpoints

* support deleting/updating API Gateway DomainNames

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

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

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

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

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

* minor change in ELBv2 logic to fix tests

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

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

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

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

* fix region on ACM certificate import (#31)

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

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

* fix account ID for logs API

* add support for DeleteOrganization API

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

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

* add Cognito UpdateIdentityPool, CW Logs PutResourcePolicy

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

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

* revert merge conflicts in IMPLEMENTATION_COVERAGE.md

* format code using black

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

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

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

* undo LocalStack-specific adaptations

* minor fix

* Update CodeCov config to reflect removal of Py2

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

* Terraform - Extend whitelist of running tests

Co-authored-by: acsbendi <acsbendi28@gmail.com>
Co-authored-by: Phan Duong <duongpv@outlook.com>
Co-authored-by: Thomas Rausch <thomas@thrau.at>
Co-authored-by: Macwan Nevil <macnev2013@gmail.com>
Co-authored-by: Dominik Schubert <dominik.schubert91@gmail.com>
Co-authored-by: Gonzalo Saad <saad.gonzalo.ale@gmail.com>
Co-authored-by: Mohit Alonja <monty16597@users.noreply.github.com>
Co-authored-by: Miguel Gagliardo <migag9@gmail.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-07-26 15:21:17 +01:00
Bert Blommers
7693d77333
Remove Py2 support (#3915) 2021-07-26 07:40:39 +01:00
Bert Blommers
e0d3b9145f
Terraform CI integration (#4081)
* CI - Add Terraform tests

* Relative paths

* Install TF cache only once
2021-07-24 14:49:43 +01:00
Evan O'Connell
85dc52bd84
Support all ELBv2 ListenerRule condition types (#4066)
* ELBv2 - ListenerRule condition validation

- ListenerRule condition model now uses upper case field names that
  match input params for boto and CloudFormation.
- BaseResponse._get_params() introduced to make it easier to deal
  with the querystring input params.
2021-07-16 08:01:14 +01:00
Shubham Gupta
a48c811069
#4067: Add support for kinesis retention hours (#4068) 2021-07-14 15:36:30 +01:00
Alastair McCormack
cb53f86c24
fix: cognito-idp: admin_create_user remove default attributes (#4070)
* 4069: fix: cognito-idp: admin_create_user remove default attributes
2021-07-14 15:35:09 +01:00
benediktbrandt
eb6515cf50
Reduce default value for DEFAULT_KEY_BUFFER_SIZE (#4003)
* - introduce environment variable for DEFAULT_KEY_BUFFER_SIZE

* - prefix env variable with MOTO_S3 to avoid env variable conflicts

* - reduce the DEFAULT_KEY_BUFFER_SIZE to be less than the S3_UPLOAD_PART_MIN_SIZE to prevent in memory caching of multi part uploads

* - black formatting

* - fix formatting

* - fix missing import
2021-07-07 16:38:50 +01:00
Ross Strickland
f9d5067faa
Bugfix for put_scaling_policy in applicationautoscaling. (#4054)
* Bugfix for put_scaling_policy in applicationautoscaling.

* Formatting.
2021-07-07 12:36:26 +01:00
Alexandre Blanchet
cf5007b97d
Add support for remove_flow_output and remove_flow_vpc_interface (#4058)
Co-authored-by: Alexandre Blanchet <alexandre.blanchet@m2amedia.tv>
2021-07-07 11:11:19 +01:00
Grégoire Charvet 黑瓜
00be464c05
Fix #3996 (#4051)
* Fix #3996

* Don't delete any message when duplicate handles
2021-07-07 08:59:16 +01:00
Brian Pandola
05cdcbcedc
Add support for DescribeNetworkInterfaces tag filters (#4057) 2021-07-04 07:44:58 +01:00
kohbis
c20a36b8cb
sns#create_platform_endpoint: If token and attributes are the same, return endpoint (#4055)
* If token and attributes are the same, return endpoint

* fix black

* moto sns platform_endpoint.attributes includes only token,enabled

* add tests when calling sns#create_platform_endpoint with same attrs for #4056
2021-07-04 07:43:22 +01:00
Grégoire Charvet 黑瓜
b44ab23c63
Fix #4009 (#4052)
Correctly raises an error when MessageGroupId is missing when sending a
batch of messages to a FIFO queue.
2021-07-04 07:40:39 +01:00
Brian Pandola
7147c5f05a
SES domains are case-insensitive (#4050) 2021-07-02 05:28:41 +01:00
Sahil Shah
3ae4c23c23
Transform certificates in listener in expected XML (#4049) 2021-07-01 16:25:40 +01:00
Bert Blommers
8cc439444f
#3991 - AWSLambda - set content-type to app/json (#4046) 2021-06-30 11:02:38 +01:00
Brian Pandola
163ae322e8
Fix: iot:UpdateThingShadow does not properly maintain state document (#4045)
Device shadow updates affect only the fields specified in the request state document.
Any field with a value of null is removed from the device's shadow.[1]

Verified behavior against a real AWS backend.

[1]: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-rest-api.html#API_UpdateThingShadow
2021-06-30 08:15:45 +01:00
Sahil Shah
70a7a7e0a0
SSM parameters in cloudformation (AWS::SSM::Parameter::) are not recognized and resolved for default values (#4042)
* Add ssm parsing support for cloudformation stacks
2021-06-29 18:28:52 +01:00
Brian Pandola
315c357cd5
Fix error message for missing log stream (#4043) 2021-06-29 06:06:14 +01:00
Bert Blommers
a230e2a7e3
#3113 - S3#list_object_versions - verify prefix argument (#4041) 2021-06-28 16:22:08 +01:00
Bert Blommers
059c36b694
#3593 - S3 - Return appropriate error when provided with invalid multipart ID (#4040) 2021-06-28 15:57:07 +01:00
Jordi Alhambra
759974d9cd
Media store data Service (#3955)
* Add delete container and list tags endpoints to MediaStore

* Black reformat

* Fixed Lint problems

* Check if dictionary was deleted effectively

* lint fix

* MediaPackageClientError

* Lint Fix

* Test unknown channel describe

* Concatenation Fix

* MediaPackage - fix error message

* MediaPackage ClientError part2

* Mediastoredata not working

Base url

tests and renaming

typo

List Items not returning proper JSON and wrongly hitting get_object response

MediaStore2

Tests

* More implementation

* Fix tests and format

* Comments fix

* Comments 2

* MediastoreData - alternative logic to figure out appropriate host

Co-authored-by: av <arcovoltaico@gmail.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-06-28 13:23:23 +01:00
Bert Blommers
2590bf0e80
CognitoIDP: get_user (#4038)
* cognito-idp get_user support

* add carium expected attributes

* CognitoIDP#get_user - Add negative tests

Co-authored-by: Lalitha Kolla <lalitha.kolla@carium.com>
2021-06-27 15:48:31 +01:00
Alexandre Blanchet
167423777b
Add outputs and vpc interfaces to a mediaconnect flow (#4034)
* Add outputs and vpc interfaces to a mediaconnect flow

* Add negative tests for add_flow_outputs and add_flow_vpc_interfaces

* fix: fstring to format

* MediaConnect - add appropriate URLs for ServerMode tests

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-06-25 15:31:05 +01:00
Bert Blommers
0f4ab4da1c
S3 - Dont error when deleting unknown keys (#4036)
* #1581 - S3 - Dont error when deleting unknown keys

* Update test_s3bucket_path.py
2021-06-25 10:26:03 +01:00
Bert Blommers
4778377e8e
#4018 - Raise NoSuchUpload when listing a non-existing multipart upload (#4031) 2021-06-24 08:14:28 +01:00
Bert Blommers
4af57c18bd
AWSLambda - Verify we can add multiple files to a Function (#3771) 2021-06-24 06:24:32 +01:00
Bert Blommers
5e4bccc22d
Use centralized ACCOUNT_ID (#4029) 2021-06-23 18:03:11 +01:00
Bert Blommers
6084d6cfe8
DynamoDB - Support AttributeUpdate::DELETE action (#3798) 2021-06-23 17:41:47 +01:00
psheets
b9a42816bd
Fixed validation on custom-resource in applicationautoscaling (#4026)
* Added ResourceTypeExceptions

* Added test for custom-resource

Co-authored-by: Phil Sheets <p.sheets@fetchrewards.com>
2021-06-23 16:57:09 +01:00
D. Ferruzzi
61e2204941
Initial EKS Implementaion (#3981)
* Implemented EKS list_clusters

* Implemented EKS create_cluster

* Implemented EKS describe_cluster

* Implemented EKS delete_cluster

* Implemented EKS list_nodegroups

* Implemented EKS create_nodegroup

* Implemented EKS describe_nodegroup

* Implemented EKS delete_nodegroup

* Implemented EKS Server Tests

* EKS - rework tests to use decorator everywhere

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-06-20 11:34:31 +01:00
Cristopher Pinzón
e4057a34b9
Added "isTruncated" attribute for listUsersResponse (#4017)
* isTruncated attribute for listUsersResponse

* correction and test
2021-06-18 21:52:15 +01:00
Brian Pandola
a95ca81e76
Support EMR clusters with multiple master nodes (#4019)
Reference: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha-launch.html
2021-06-18 06:04:21 +01:00
Bert Blommers
2f23807a35
#3760 - DynamoDB - only raise exception when GSI key is actually empty (#3763) 2021-06-17 14:07:24 +01:00
Brian Pandola
b0e2a750dc
Disallow termination of protected EMR job flows (#4015)
Error message verified against real AWS backend.
2021-06-17 12:20:45 +01:00
Thomas Ross
67ae84e2c4
Only raise EmptyKeyAttributeException when the value node is empty (#4014)
This fixes a bug where all updates to keys (including GSIs) would raise
EmptyKeyAttributeException, even when the new value was not an empty string.
2021-06-17 12:19:47 +01:00
Jordi Alhambra
407d5c853d
Media package client error additional handling (#4011)
* Add delete container and list tags endpoints to MediaStore

* Black reformat

* Fixed Lint problems

* Check if dictionary was deleted effectively

* lint fix

* MediaPackageClientError

* Lint Fix

* Test unknown channel describe

* Concatenation Fix

* MediaPackage - fix error message

* MediaPackage Test Fix and TryError

* Lint

Co-authored-by: av <arcovoltaico@gmail.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-06-16 21:07:46 +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
Sahil Shah
6977bba3e1
Add capability to update AWS::ElasticLoadBalancingV2(Listener and ListenerRule) resource (#4005)
* Add ssm parsing support for cloudformation stacks

* Start adding unit tests for ssm parameter parsing

* Add tests for code update

* Add tests to parse ssm parameters code

* Fix black lint errors

* Fix bug.

* Need to specify region_name

* region needs to be same

* Use ssm_backends[region] instead of ssm_backend

* StringList -> string

* Linting

* check if servermode tests are on

* Typo

* Added support for ListenerRule. Will remove cruft

* Pushing latest

* Something works

* Put back ripped out code

* Save point. Incase I need more validations

* Revert "Save point. Incase I need more validations"

This reverts commit dac4953335dd9335eddb7a91a63667bc3c17104c.

* Fixed validations and some refactor

* Fix formatting

* Linting

* Cannot refactor if I have to fix all tests

* Remove exceptions for now. Will do in another PR

* Remove validations. Will add in next PR

* Fix broken tests. Almost.:

* Fix all tests. Some sneaky for now.

* Python2 making me write bad code

* OrderedDict.move_to_end() does not work in python2

* Linting

* Add more checks to field in conditions later.

* Unwnated change in FakeListener

* Revert "Unwnated change in FakeListener"

This reverts commit 962c2fdfd76fce999de9feccf1dd1c3ec48c459f.

* Add back default listener rule

* Linting fix

* Fix priority sorting

* Add cloudformation test for edge case

* Add validation for ForwardConfig in Action of ListernRule CF

* use not in

* set the priority template correctly

* Check for boolean in condition

* One more check

* Implement update_from_cloudformation_json for Listener and ListenerRule

* Unwanted spaces

* Linting issues

* Add tests for code coverage

Co-authored-by: Bert Blommers <bblommers@users.noreply.github.com>
2021-06-11 21:56:28 +01:00
Kyle Decot
8d4007f2b6
Escape Hyphen in Regular Expression (#4006)
* Escape Hyphen in Regular Expression

* Add Test

* Fix Linting Errors

* Use Pytest Parameterize Marker

* Fix Black Formatting Errors

* Interpolate / Use Raw String

* fixes string formatting

Co-authored-by: Correna Sprowls <correna.sprowls@joinroot.com>
2021-06-11 21:54:43 +01:00
benediktbrandt
479ce861a7
Env variable for default key buffer size (#4001)
* - introduce environment variable for DEFAULT_KEY_BUFFER_SIZE

* - prefix env variable with MOTO_S3 to avoid env variable conflicts

* - black formatting

* - fix formatting
2021-06-10 10:48:28 +01:00
Brian Pandola
c1b38be02d
Add support for DynamoDB Backup/Restore (#3995)
* Add support for DynamoDB Backup/Restore

Basic support for the following endpoints has been implemented with full test coverage:
- create_backup
- delete_backup
- describe_backup
- list_backups
- restore_table_from_backup

Behavior and error messages verified against a real AWS backend.

* Refactor test based on PR feedback
2021-06-10 07:05:07 +01:00
Sahil Shah
3f5408c9d0
Adding support for ForwardConfig property in ListernRule in CloudFormation (#3993)
* Add ssm parsing support for cloudformation stacks

* Start adding unit tests for ssm parameter parsing

* Add tests for code update

* Add tests to parse ssm parameters code

* Fix black lint errors

* Fix bug.

* Need to specify region_name

* region needs to be same

* Use ssm_backends[region] instead of ssm_backend

* StringList -> string

* Linting

* check if servermode tests are on

* Typo

* Added support for ListenerRule. Will remove cruft

* Pushing latest

* Something works

* Put back ripped out code

* Save point. Incase I need more validations

* Revert "Save point. Incase I need more validations"

This reverts commit dac4953335dd9335eddb7a91a63667bc3c17104c.

* Fixed validations and some refactor

* Fix formatting

* Linting

* Cannot refactor if I have to fix all tests

* Remove exceptions for now. Will do in another PR

* Remove validations. Will add in next PR

* Fix broken tests. Almost.:

* Fix all tests. Some sneaky for now.

* Python2 making me write bad code

* OrderedDict.move_to_end() does not work in python2

* Linting

* Add more checks to field in conditions later.

* Unwnated change in FakeListener

* Revert "Unwnated change in FakeListener"

This reverts commit 962c2fdfd76fce999de9feccf1dd1c3ec48c459f.

* Add back default listener rule

* Linting fix

* Fix priority sorting

* Add cloudformation test for edge case

* Add validation for ForwardConfig in Action of ListernRule CF

* use not in

* set the priority template correctly

* Check for boolean in condition

* One more check

Co-authored-by: Bert Blommers <bblommers@users.noreply.github.com>
2021-06-09 18:41:18 +01:00
Bert Blommers
43426c71f4
ELBv2 - Simplify tests (#3999) 2021-06-09 16:34:53 +01:00
Jordi Alhambra
ae5653b31d
Media package client error (#3983)
* Add delete container and list tags endpoints to MediaStore

* Black reformat

* Fixed Lint problems

* Check if dictionary was deleted effectively

* lint fix

* MediaPackageClientError

* Lint Fix

* Test unknown channel describe

* Concatenation Fix

* MediaPackage - fix error message

Co-authored-by: av <arcovoltaico@gmail.com>
Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-06-07 13:47:49 +01:00
usmangani1
9836985473
Fix : Logs - Add start_query functionality (#3985)
* Added start_query functionality

* fix tests
2021-06-07 10:37:11 +01:00
usmangani1
d325593e46
Fix:Add list connection API's (#3976)
* Initial commit create connection

* Added connection API's

* Add destination API's

* fixed tests

* fix tests

* Fixed tests
2021-06-07 10:35:28 +01:00
stromp
9e4972b43f
Add Tag support for other resource types then an account (#3982)
* - Adding checking for resource type in tag functions
- Adding TargetNotFoundException when no resource found
- Adding support for tags for root OU, OU and Policies
- Adding tests covering the new code
- Adding test for deletion of a tag

* fixed linting issue

* - renamed helper function to a more logical name
- added tests for helper function
- fixed bugs in tests for tag functions

Co-authored-by: Sjoerd Tromp <stromp@schubergphilis.com>
2021-06-05 15:12:17 +01:00
Sahil Shah
b82096ba37
Add support for AWS::ElasticLoadBalancingV2::ListenerRule (#3969)
* Add ssm parsing support for cloudformation stacks

* Start adding unit tests for ssm parameter parsing

* Add tests for code update

* Add tests to parse ssm parameters code

* Fix black lint errors

* Fix bug.

* Need to specify region_name

* region needs to be same

* Use ssm_backends[region] instead of ssm_backend

* StringList -> string

* Linting

* check if servermode tests are on

* Typo

* Added support for ListenerRule. Will remove cruft

* Pushing latest

* Something works

* Put back ripped out code

* Save point. Incase I need more validations

* Revert "Save point. Incase I need more validations"

This reverts commit dac4953335dd9335eddb7a91a63667bc3c17104c.

* Fixed validations and some refactor

* Fix formatting

* Linting

* Cannot refactor if I have to fix all tests

* Remove exceptions for now. Will do in another PR

* Remove validations. Will add in next PR

* Fix broken tests. Almost.:

* Fix all tests. Some sneaky for now.

* Python2 making me write bad code

* OrderedDict.move_to_end() does not work in python2

* Linting

* Add more checks to field in conditions later.

* Unwnated change in FakeListener

* Revert "Unwnated change in FakeListener"

This reverts commit 962c2fdfd76fce999de9feccf1dd1c3ec48c459f.

* Add back default listener rule

* Linting fix

* Fix priority sorting

* Add cloudformation test for edge case

Co-authored-by: Bert Blommers <bblommers@users.noreply.github.com>
2021-06-05 10:04:04 +01:00
Mike Grima
ba7a0fe3a2 Fixed AWS Config S3 ACL issues
- AWS Config appears to have changed how ACLs are returned
- This PR makes moto's behavior consistent with AWS Config's S3 representation

Fixes #3986
2021-06-04 09:23:56 -07:00
Austin Hendrix
5602c4e73e
SSM Parameter Store improvements in GetParameterHistory & GetParameters (#3984)
* Including labels and versions in SSM Get Parameters

* implementing NextToken and MaxResults into the SSM Get Parameter History functionality

* Implementing unit tests and some lint refactoring for NextToken implementation in get_parameter_history
2021-06-04 11:12:35 +01:00
Austin Hendrix
b670962c5e
SSM Parameter Store Error Message When Requesting Invalid Version (#3977)
* Implement correct error when requesting specific version of a parameter which exists but does not have this version

* removing trailing whitespace causing lint failure

* Adding unit tests and fixing linting for new error handling

* Fixing small bug in response message

* Revert change in get_parameters as versioning is not currently implemented in this method. Will fix as a separate PR
2021-06-02 16:27:23 +01:00
Brian Pandola
7947b1e001
Enforce SSM Parameter Version Limit (#3967)
Behavior verified against a real AWS backend.
2021-05-28 08:32:39 +01:00
Brian Pandola
3265e89fd3
Allow Glacier VaultName to contain period (#3964) 2021-05-27 08:44:20 +01:00
Florian Dambrine
6adb570c48
Add dot as a valid s3 metadata key (#3958) 2021-05-26 14:27:25 +01:00
Thomas Maschler
d635c78bd1
AWS Batch enhancements (#3956)
* Check exit status of container

* Added support for job dependencies

* batch container overrides

* add AWS_BATCH_JOB_ID to container env variables

* lint with black

* refactor batch dependency test

* refactor batch dependency test

* fix index

Co-authored-by: jterry64 <justin.terry@wri.org>
Co-authored-by: Daniel Mannarino <daniel.mannarino@gmail.com>
2021-05-26 08:52:09 +01:00
rajinder
fbbc8fc472
basic implementation of update rest api (#3951)
* basic implementation of update rest api

* basic implementation of update rest api

* basic implementation of update rest api

* review comments from bblommers

Co-authored-by: rajinder saini <rajinder.saini@c02vt5k2htd6.corp.climate.com>
2021-05-23 17:09:02 +01:00
Brian Pandola
16f4dc87dc
Add support for tagging Volumes in ec2:RunInstances (#3946) 2021-05-21 06:35:34 +01:00
Jordi Alhambra
7f49cd0ed6
MediaStore delete container and list tags endpoints implemented (#3938)
* Add delete container and list tags endpoints to MediaStore

* Black reformat

* Fixed Lint problems

* Check if dictionary was deleted effectively

* lint fix

Co-authored-by: av <arcovoltaico@gmail.com>
2021-05-20 16:17:31 +01:00
Brian Pandola
752b508738
Add support for KmsKeyId in ec2:RunInstances (#3943) 2021-05-20 07:11:50 +01:00
rajinder
58f7ab0d25
Refector Apigateway update_usage_plan and add all replace operation. (#3942)
* Refector Apigateway update_usage_plan and add all replace operation.

* code reformatting

Co-authored-by: rajinder saini <rajinder.saini@c02vt5k2htd6.corp.climate.com>
2021-05-20 07:10:08 +01:00
Sahil Shah
24fa8f25a1
SSM parameters in cloudformation (AWS::SSM::Parameter::) are not recognized and resolved (#3929)
* Add ssm parsing support for cloudformation stacks

* Start adding unit tests for ssm parameter parsing

* Add tests for code update

* Add tests to parse ssm parameters code

* Fix black lint errors

* Fix bug.

* Need to specify region_name

* region needs to be same

* Use ssm_backends[region] instead of ssm_backend

* StringList -> string

* Linting

* check if servermode tests are on

* Typo

Co-authored-by: Bert Blommers <bblommers@users.noreply.github.com>
2021-05-19 08:30:25 +01:00
usmangani1
4ad6c3932e
Fix resource group get-group-query & update-query-query (#3934)
* Fix resource group get-group-query & update-query-query

* Remove list logic

* Added tests

* Fix tests

* Fix update query tests

* fix tests
2021-05-18 20:58:21 +01:00
Giovanni Torres
867cf078de
feat: transition elbv2 state to active on first describe (#3937)
* refactor: parameterize state in elbv2 template response

* feat: transition load balancer to active on first describe

Closes #3936
2021-05-18 07:52:39 +01:00
usmangani1
31cf3c4252
Fix:SES-Added params check in template (#3753)
* Fix:SES-Added params check in template

* Added more tests and handled message

* linting

* fixed tests

* fix attribute name in message

* fix logic for exception
2021-05-18 07:51:27 +01:00
usmangani1
abc62b360d
Fix- Raise InvalidParameterValue when change visibility timeout is mo… (#3893)
* Fix- Raise InvalidParameterValue when change visibility timeout is more than permitted

* Fix review comments

* Modified tests

* Fix tests

* change

* Change client

* Fix tests

* fix tests

* fix tests

* change tests

* Fix tests

* changed tests

* Fix tests

* Fix tests

* Change message
2021-05-18 07:49:56 +01:00
usmangani1
03b2009a1c
Add unit support to cloudwatch get_metric_statistics (#3932)
* Add unit support to cloudwatch get_metric_statistics

* fix linting
2021-05-15 08:05:41 +01:00
usmangani1
58fd4aeaae
Fix tags for resource in ListTagsForResource (#3931)
* Fix tags for resource in ListTagsForResource

* Fix review comments

* Fix tests
2021-05-14 20:05:40 +01:00
usmangani1
eaac32b130
ResourceGroup - Add Support for getGroupConfiguration (#3919)
* ResourceGroup - Add Support for getGroupConfiguration

* Add tests

* Add tests

* Fix tests

* linting

* fix tests

* fix tests

* fix tests

* fixed linting

* fix tests
2021-05-14 07:40:17 +01:00
Kai
f9e0595e12
Fix sqs message retention logic (#3924)
* Fix sqs message retention logic

* Apply lint to moto/sqs/models.py

* Fix failed tests because of freezing time

* Fix freezing time in test_publish_to_sqs_in_different_region
2021-05-13 15:06:54 +01:00
Bert Blommers
9e3faf7784
Make Moto (tests) compatible with flask/werkzeug 2.x (#3923)
* Dont fail if CodeCov fails - for now

* CI - Force cache rebuild

* Bump werkzeug to latest version

* CI - Enforce cache flush

* ManagedBlockchain - fix error format

* ManagedBlockchain - Fix tests to use pytest.raises paradigm

* Revert "Lock Flask (#3925)"

This reverts commit 8bb0feb956.

* CI - Enforce cache rebuild
2021-05-13 10:36:56 +01:00
Daniel Samuels
a4b1498665
Support rotating secrets using Lambda [#3905] (#3912)
* Support rotating secrets using Lambda

The Secrets manager rotation process uses an AWS Lambda function
to perform the rotation of a secret. [1]

In fact, it's not possible to trigger rotation of a Secret
without specifying a Lambda function at some point in the life
of the secret:

```
$ aws secretsmanager rotate-secret --secret-id /rotationTest

An error occurred (InvalidRequestException) when calling the RotateSecret operation: No Lambda rotation function ARN is associated with this secret.
```

`moto` can be a little more lenient in this regard and allow
`rotate_secret` to be called without a Lambda function being
present, if only to allow simulation of the `AWSCURRENT` and
`AWSPREVIOUS` labels moving across versions.

However, if a lambda function _has_ been specified when calling
`rotate_secret`, it should be invoked therefore providing the
developer with the full multi-stage process [3] which can be
used to test the Lambda function itself and ensuring that full
end-to-end testing is performed. Without this there's no easy
way to configure the Secret in the state needed to provide the
Lambda function with the data in the format it needs to be in
at each step of the invocation process.

[1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-lambda-function-overview.html
[2]: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.rotate_secret
[3]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-lambda-function-overview.html#rotation-explanation-of-steps

* Run `black` over `secretsmanager/models.py`

* Make `lambda_backends` import local to the condition

* Implement `update_secret_version_stage`

Allow a staging label to be moved across versions.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.update_secret_version_stage

* Add an integration test for Secrets Manager & Lambda

* Support passing `ClientRequestToken` to `put_secret_value`

By passing `ClientRequestToken` to `put_secret_value` within
the lambda function  invoked by calling `rotate_secret`, one
can update the value associated with the existing (pending)
version, without causing a new secret version to be created.

* Add application logic for `AWSPENDING`

The rotation function must end with the versions of the secret
in one of two states:

 - The `AWSPENDING` and `AWSCURRENT` staging labels are
   attached to the same version of the secret, or
 - The `AWSPENDING` staging label is not attached to any
   version of the secret.

If the `AWSPENDING` staging label is present but not attached
to the same version as `AWSCURRENT` then any later invocation
of RotateSecret assumes that a previous rotation request is
still in progress and returns an error.

* Update `default_version_id` after Lambda rotation concludes

Call `set_default_version_id` directly, rather than going 
through `reset_default_version` as the Lambda function is 
responsible for moving the version labels around, not `rotate_secret`.

* Run `black` over changed files

* Fix Python 2.7 compatibility

* Add additional test coverage for Secrets Manager

* Fix bug found by tests

AWSPENDING + AWSCURRENT check wasn't using `version_stages`.
Also tidy up the AWSCURRENT moving in `update_secret_version_stage`
to remove AWSPREVIOUS it from the new stage.

* Run `black` over changed files

* Add additional `rotate_secret` tests

* Skip `test_rotate_secret_lambda_invocations` in test server mode

* Add test for invalid Lambda ARN
2021-05-11 12:08:01 +01:00
Neil Greenwood
45167737e5
Fix separator in filter_log_events nextToken value. (#3914)
The old separator was present in some of the values being concatenated.
2021-05-07 18:49:36 +01:00
Josh McCullen
12b409e0de
Set multiple Security Groups when calling modify_network_interface_attribute (#3911) 2021-05-07 13:50:26 +01:00
Maria
cf3cf8b134
DMS - basic task replication methods implementation (#3900)
* DMS - basic task replication methods implementation

* Add ResourceNotFoundFault tests
2021-05-06 18:33:48 +01:00
George-lewis
f76571199f
Implement User Pool MFA Actions (#3903)
* implement user pool mfa actions

* Add messages to errors

Add messages to errors

Fix error message

* Change exception type

* fix validation & add more tests

Co-authored-by: George Lewis <glewis@evertz.com>
2021-05-06 17:59:04 +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
Neil Greenwood
94a70e9ad1
nextToken value in logs:describeLogStreams response (#3896)
* `nextToken` value in `logs:describeLogStreams` response

Modified the pagination for FilterLogEvents to more closely follow
the real AWS behaviour.

* Make assertions work in py2 and py3.
2021-05-04 17:45:23 +01:00
usmangani1
0cff5458af
Fix : Remove Invalid request error when response-template is not specified (#3885)
* Fix : Remove Invalid request error

* Fix test and review commanets

* Remove duplicate put_integration_template

* API Gateway - Body can be None or empty

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-05-01 15:45:06 +01:00
usmangani1
85d94ad6ed
Fix:SQS Added support for system attributes in sqs (#3878)
* Adding SQS system attributes

* Fix Comments

* Change template in response
2021-05-01 07:48:39 +01:00
Matthew Davis
d6384fcb35
Enforce dynamodb key size limit [solves #3866] (#3888)
* add tests for dynamodb max key size

correct too-large error for ddb key

* remove unnecessary requires_boto_gte decorator from ddb tests

* remove literal emoji from ddb test

* implement dynamodb key limits, WIP

* correct direction of dynamodb range key length check

* fix tests for dynamodb max key size check

* catch ddb validation errors and rethrow properly

* finish ddb key size limit fixes

* fix linting

* handle unicode in v2.7 tests

* fix encoding issue in py2.7 for ddb

* linting

* Python2/3 compatability

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2021-04-30 13:47:47 +01:00
amar jandu
58381cce8f
S3 - Fix exception for missing versionID (#3887) 2021-04-30 12:36:08 +01:00
Gianluca Pacchiella
273d632515
Fix/autoscaling elb interaction (#3757)
* Add minimal failing test case.

* Improve ELB instance ids handling.

We need to handle the instances originated by an autoscaling group differently.
2021-04-30 09:29:20 +01:00
Neil Greenwood
bcc7938615
Fix: nextToken value in logs:FilterLogEvents response (#3883)
* Fix: `nextToken` value in `logs:FilterLogEvents` response

Plagiarizing freely from @bpandola and his PR #3398, I have
modified the pagination for FilterLogEvents to more closely follow
the real AWS behaviour.

Fixes #3882

* Black reformatted my code.

* Remove timezone for python2.7 compatibility.

* Hopefully fix python2.7 compatibility for real.

* Additional test for a non-matching log group name in the nextToken.
2021-04-29 12:56:20 +01:00
khneal
8b523c3fe1
EMR and SWF - add arn to response (#3873)
* emr: add ClusterArn to describe_cluster response

* emr: add ClusterArn to list_clusters response

* emr: add ClusterArn to put_auto_scaling_policy response

* emr: add ClusterArn to run_job_flow response

* emr: rename property "cluster_arn" to simply "arn"

* emr: generalize arn for account_id and region

* swf: add arn to list_domains response

* black reformat source code

* fix double import

* swf: require region on Domain object

Co-authored-by: Kevin Neal <Kevin_Neal@intuit.com>
2021-04-23 15:20:36 +01:00
Deepesh J
c31dffcc92
List instances Implementation in EMR (#3871)
* Implemented list instances in EMR

* removed import from tests

* make format

* fix W291 trailing whitespace

* removed to work for py2.7

* Storing only ec2_id and instance group in Fake instance

Co-authored-by: J <jdeepe@147dda1b0833.ant.amazon.com>
2021-04-23 08:03:06 +01:00
William Richard
d8be72e483
Add the abilitiy to set ECS task definition task role and execution role arns (#3869) 2021-04-21 18:56:09 +01:00
Ivan Zubenko
d3f20694a9
sort Route53 resource record sets (#3864)
* sort Route53 resource record sets

* address comments
2021-04-20 12:50:05 +01:00
cm-iwata
df34b7864b
fix #3867 IoT list_principal_things (#3868)
* fix #3867
iot list_principal_things should return list of thingnames.

* lint
2021-04-19 13:35:09 +01:00
Zach Churchill
9b3e932822
Add CloudFormation support for SageMaker Endpoint Configs and Endpoints (#3863)
* Create SageMaker EndpointConfig with CloudFormation

Implement attributes for SM Endpoint Configs with CloudFormation

Delete SM Endpoint Configs with CloudFormation

Update SM Endpoint Configs with CloudFormation

* Fix typos in SM CF Model update test and refactor helper function for CF stack outputs

* Fixup weird commas in SM CF Test Configs from using black

* Create SageMaker Endpoints with CloudFormation

* Fix typos in SM CF update tests
2021-04-17 13:49:46 +01:00
Zach Churchill
f6dda54a6c
Add CloudFormation support for SageMaker Models (#3861)
* Create a formal interface for SM Cloudformation test configurations

* Create SageMaker Models with CloudFormation

* Utilize six for adding metaclass to TestConfig

* Update SM backend to return Model objects instead of response objects
2021-04-16 15:23:05 +01:00
Zach Churchill
0b11b0c716
Add CloudFormation support for SageMaker Notebook Instance Lifecycle Configs (#3855)
* Create SageMaker Notebook Instance Lifecycle Configs with CloudFormation

Implement attributes for SM Notebook Instance Lifecycle Config in CloudFormation

Delete SM Notebook Instance Lifecycle Configs with CloudFormation

Update SM Notebook Instance Lifecycle Configs with CloudFormation

Also fixed error in create_from method where the properties where not
being referenced when setting OnCreate and OnStart.

Factor out template for SM Notebook Lifecycle Config CF tests

* Refactor SM CloudFormation create tests to use pytest.mark.parametrize

* Refactor SM CloudFormation get_attr tests to use pytest.mark.parametrize

Also update the NotebookInstance template function to use Name and Arn
for the output IDs so that the parametrization is easier.

* Refactor SM CloudFormation delete tests to use pytest.mark.parametrize
2021-04-13 12:03:25 +01:00
Tom Noble
3942613bf4
Enhancement/3837 (#3847)
* Move event pattern validation into EventPattern class and apply enhanced pattern logic to all Rules

* Fix exists filtering logic to only match leaf nodes in event

* Apply black formatting

* Replace JSONDecodeError with ValueError for Python2 compatibility

* Update unit test names

* Move event pattern tests into test_event_pattern.py

* Apply black formatting

Co-authored-by: TSNoble <tom.noble@bjss.com>
2021-04-10 14:27:38 +01:00
Kai Xia(夏恺)
5eb99da75a
Make it possible to customize the ACM cert validation wait time. (#3843)
* Make it possible to customize the ACM cert validation wait time.

Signed-off-by: Kai Xia <kaix+github@fastmail.com>

* address PR comments & change requests.

Signed-off-by: Kai Xia <kaix+github@fastmail.com>

* make tests work.

Signed-off-by: Kai Xia <kaix+github@fastmail.com>
2021-04-10 08:13:20 +01:00
Zach Churchill
d45233fa00
Add CloudFormation support for SageMaker Notebook Instances (#3845)
* Create SageMaker Notebook Instances with CloudFormation

* Implement attributes for SageMaker notebook instance in Cloudformation

* Delete SageMaker Notebook Instances with CloudFormation

* Update SageMaker Notebook Instances with CloudFormation

* Factor out template into function for SageMaker notebook instance tests
2021-04-09 18:54:00 +01:00
Franck Ndame
d9177f382e
Implementation of core AWS Mediastore endpoints (#3825)
* write boilerplate code

* generate boilerplate code with scaffold script

* create mediapackage channel

* remove duplicate mediapackage reference

* remove Channel key from mediapackage response

* describe_channel endpoint added

* create_origin_endpoint-added

* keys changed to camel case to fix issue

* minor changes to clean up

* minor clean up again

* implement & test delete_channel

* delete origin endpoint created; WIP-tests failing

* fix delete_origin_endpoint issue

* refactor function call

* delete origin endpoint completed; test_server tests added

* implement and test describe_origin_endpoint

* update origin endpoint added

* remove print statements

* implement test_list_origin_endpoint_succeeds

* create test name changed

* create test name changed

* changes after flake8 and black run

* url assertion added to decribe origin endpoint test

* region dependent url enabled

* initial commit; WIP

* create container added, still WIP

* create_container working

* test_create_channel_succeeds

* test_describe_container_succeeds

* get_lifecycle_policy added; error tests added

* changes to pass linting

* added exception for container but no policy

* linting

* put_container_policy added

* put_metric_policy added

* list_containers added

* resolved linting

* test_describe_container_raises_error_if_container_does_not_exist

* added __init__ file

* __init__ added to mediapackage as well

* Mediastore (#20)

* initial commit; WIP

* create container added, still WIP

* create_container working

* test_create_channel_succeeds

* test_describe_container_succeeds

* get_lifecycle_policy added; error tests added

* changes to pass linting

* added exception for container but no policy

* linting

* put_container_policy added

* put_metric_policy added

* list_containers added

* resolved linting

* test_describe_container_raises_error_if_container_does_not_exist

* added __init__ file

* __init__ added to mediapackage as well

Co-authored-by: FranckNdame <franck.mpouli@yahoo.com>

* test_server fixed; resolved rebasing mix ups on tests

* [FIX] Ensures MediaConnect create_flow sets a valid sourceArn

* code clean up

Co-authored-by: Anya <anya.champaneria@capablue.com>
Co-authored-by: AnyaChamp <71766808+AnyaChamp@users.noreply.github.com>
2021-04-08 16:51:50 +01:00
David Baumgold
3af87963d1
Py3: use unittest.mock instead of mock (#3481)
* Py3: use unittest.mock instead of mock

* noqa

* oops

* just pull in patch()

* ignore RuntimeError when stopping patch

* ignore RuntimeError from default_session_mock.stop()
2021-04-06 10:22:42 +01:00
Tom Noble
b138d9956b
Add prefix and numeric filtering logic for Archive EventPattern (#3835)
* Add prefix and numeric filtering logic for Archive EventPattern

* Pull EventPattern logic out into class and test logic more directly

* Apply black formatting

Co-authored-by: Tom Noble <tom.noble@bjss.com>
2021-04-04 19:27:54 +01:00
Jonx1000
6ea6445f60
IAM - get_user() #3828 (#3829)
* IAM - get_user() #3828
- fixing issue where the get_user method does not return tags

* adding get_user with tags test
2021-04-03 10:38:18 +01:00
Tom Noble
15eda737d6
Add exists filtering functionality to Archive (#3832)
* Add exists filtering functionality to Archive. Add test case and refactor existing Archive EventPattern test cases

* Apply black formatting

* Change NotImplementedError to warning

* Simplify unimplemented warning for filters

* Change str check to six.string_types check for python2.7

Co-authored-by: Tom Noble <tom.noble@bjss.com>
2021-04-02 18:32:01 +01:00
Brian Pandola
ac4a26f289
Add support for EMR-Managed Security Groups (#3824)
* Add support for EMR-Managed Security Groups

This covers the base case for EMR Clusters provisioned in a private subnet.

Ref: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html

* Address PR comments

* Address PR comments
2021-04-02 15:34:02 +01:00