Commit Graph

181 Commits

Author SHA1 Message Date
Bert Blommers
eed32a5f72
Pylint - Enable more rules on source and tests-directory (#4929) 2022-03-11 20:28:45 -01:00
Bert Blommers
155f9f20eb
SSM - load global parameters (#3953) 2022-02-12 12:59:15 -01:00
Bert Blommers
d118d592ca
Pylint remaining source code (#4760) 2022-01-14 18:51:49 -01:00
Bert Blommers
cf87e75d6e
Feature: Mock region (#4699) 2021-12-24 20:02:45 -01:00
Bert Blommers
db0738025a
SSM - Maintenance Windows (#4549) 2021-11-09 21:28:24 -01:00
Dominik Schubert
78709ce22c
feat(SSM): add support for Label filter in get_parameters_by_path (#4542) 2021-11-08 21:58:11 -01:00
Bert Blommers
14a69c7524
Techdebt: Enable pylint rules (#4432) 2021-10-18 19:44:29 +00:00
Jim King
33e60a2d16
[issue-4360] Fix InvalidResource Id,Type responses for ssm tagging methods (#4361) 2021-09-30 11:47:11 +00:00
Jim King
f50cf51de7
[issue-4283] ssm put_parameter with tags and overwrite should error (#4362) 2021-09-30 10:58:04 +00:00
kbalk
3a203d35c9
Implement EC2 describe_vpc_endpoint_services() (#4322) 2021-09-24 16:01:09 +00:00
Gonzalo Saad
e6c6ce5942
refactor(ssm): Refactor document permisisons and conditions (#4243) 2021-09-08 06:56:20 +01:00
Julian
58da62cc71
enhancement(SSM): Add DataType attribute to SSM Parameters (#4232) 2021-08-29 17:28:51 +01:00
Bert Blommers
07bb843214
Fix regex URLs so that a dot is actually interpreted as a dot (#4110) 2021-08-28 13:42:45 +01:00
Bert Blommers
020257904e
Tech Debt - improve test coverage (#4229) 2021-08-27 11:28:10 +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
Bert Blommers
5e4bccc22d
Use centralized ACCOUNT_ID (#4029) 2021-06-23 18:03:11 +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
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
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
Tom Noble
a001c59f7e
Modify SSM put_parameter() to raise ValidationException if value is empty string (#3806)
* Modify put_parameter() to raise ValidationError when value is empty string

* Simplify empty string check

Co-authored-by: Tom Noble <tom.noble@bjss.com>
2021-03-28 14:45:57 +01:00
Joakim Saario
457402fbe2
Support SSM Parameter tags (#3739) 2021-03-02 09:00:26 +00:00
Brian Pandola
3b9635b3c7 Add ssm:SendCommand support for instance tag Targets
Replace the special-case code to handle Cloud Formation tags with a more
generic implementation that covers all instance tags.

Supersedes #2863
Closes #2862
2020-11-08 00:06:35 -08:00
Ninh Khong
ff1f565142
Enhance function get_parameter by parameter name, version or labels (#3191)
Co-authored-by: Ninh Khong <ninh@1on1english.vn>
2020-07-28 16:59:22 +01:00
Jordan Reiter
28d1d762af
Enforce parameter naming (#3190)
* Enforce parameter naming

Parameters are not allowed to start with `ssm` or `aws`. This commit adds error messages which
correspond exactly to the error messages returned by boto3.

* Fix for Python 2 compatibility

f-strings not supported in Python 2.7
2020-07-28 15:26:59 +01:00
Jordan Reiter
126f5a5155
Implement Filter: Contains functionality for describe_params (#3189)
* Implement Filter: Contains functionality for describe_params

This commit adds the Contains functionality. Tests were created
to mimic behavior in AWS/boto3, including that filters with values
in the form of `/name` will match parameters named `/name/match` but
not parameters named `match/with/other-name`. In the test example, a
Contains filter with the value `/tan` would match: `/tangent-3` and
`tangram-4` but not `standby-5`.

* Enforce parameter filter restrictions on get_parameters_by_path

According to the boto3 documentation [1], `Name`, `Path`, and `Tier` are not
allowed values for `Key` in a parameter filter for `get_parameters_by_path`.

This commit enforces this by calling `_validate_parameter_filters` from the
`get_parameters_by_path` method, and adding a check to `_validate_parameter_filters`.

I added 3 test cases to `test_get_parameters_by_path` which check for the correct
exception when calling with a parameter filter using any of these keys.

* Code formatted to match style

* Refactored logic
2020-07-28 10:17:35 +01:00
Mike Grima
e498e680fa
Merge pull request #3100 from bblommers/ssm-pass-region
SSM: Use EC2 region
2020-07-04 12:25:42 -07:00
Bert Blommers
81a5ae6ef4 SSM - Get your own regions, instead of relying on EC2 2020-07-03 18:35:03 +01:00
Alex Bainbridge
487829810f passes python3 and 2.7. added additional few tests for coverage bump 2020-07-02 13:43:14 -04:00
Alex Bainbridge
c9b38e25b8 black linting 2020-06-30 12:43:42 -04:00
Alex Bainbridge
82825787db all tests passing 2020-06-30 12:39:52 -04:00
Alex Bainbridge
bdc1e93a4f most of testing is done 2020-06-29 18:20:57 -04:00
Bert Blommers
96989bb645 SSM: Use EC2 region 2020-06-29 14:00:30 +01:00
Alex Bainbridge
e2f6544228 ssm document code done, testing now 2020-06-26 10:47:28 -04:00
gruebel
3b8c8fafe2 Fix ssm.get_parameters missing validation 2020-05-06 14:38:25 +02:00
Asher Foa
0d04306861 Fix deprecation warning. 2020-04-19 19:12:48 -07:00
Brent Driskill
e3e4b741d8 SSM: Fix the formatting associated with label_parameter_version/get_parameter_history updates 2020-03-11 11:57:04 -04:00
Brent Driskill
5705695495 SSM: Added support for label_parameter_version and getting labels on get_parameter_history 2020-03-11 10:43:18 -04:00
Olabode Anise
607e0a8452 ENH: changes the behavior of delete_parameter to respond with a 400 error when the parameter does not exist.
Currently, the delete_parameter function for the ssm client will respond with a dict containing a key of Invalid Parameter which has a value of a list containing the parameter name that was requested to be deleted when a parameter with said name doesn't exist which doesn't match the behavior of boto3.
2020-02-26 07:13:32 -05:00
Mike Grima
65b17e740d
Merge pull request #2611 from Sytten/fix/ssm-parameter
Add missing information in SSM parameters
2019-12-16 11:59:42 -08:00
Emile Fugulin
cd02f2ed5e Use account id constant 2019-12-14 15:51:42 -05:00
Emile Fugulin
b52fa636b6 Add missing information in SSM parameters 2019-11-30 20:05:01 -05:00
Adam Smith
051193e1bf Add Pagination to ssm:get_parameters_by_path. Closes #1864 2019-11-27 22:12:31 +00:00
William Richard
715ff0f7af
Return a sensible error when the parameter is not found 2019-11-04 15:31:15 -05:00
William Richard
3816eba58f
Fix linting 2019-11-04 13:04:10 -05:00
William Richard
aeb7974549
Add get_parameter_history implementation and tests 2019-11-04 12:49:09 -05:00
William Richard
b4fb4b3b5d
Store all parameter versions, not just the latest version 2019-11-04 12:43:37 -05:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
Chih-Hsuan Yen
84fb52d0a2
Fix remaining flake8 issues
Disabling W504 and W605 for now as there are too many instances.
2019-10-27 21:00:01 +08:00
gruebel
2cfd3398f6 Add ParameterFilters to SSM describe_parameters 2019-10-05 14:05:47 +02:00
Steve Pulec
e8551988d9
Merge pull request #2000 from AlanAlexander-Janrain/master
Updating the list of urls the SSM moto will match to include china
2018-12-28 21:27:45 -05:00
Alan Alexander
36b0117eec Updating the list of urls the SSM moto will match to include china 2018-12-19 15:02:36 -08:00
Craig Anderson
96ed66c08d
Add AllowedPattern to SSM describe_parameters response (#1955) 2018-11-27 15:31:56 +00:00
Mike Liu
de532b93b7 Fix flake8.
Remove extra whitespace.
2018-08-09 10:53:32 -04:00
Mike Liu
1b1fc4c030 Support getting cloudformation targets for the SSM backend.
SendCommand allows filtering for instances by tags. This adds support
for filtering by a cloud formation stack resource when creating command
invocations.
2018-08-09 10:34:59 -04:00
Mike Liu
12807bb6f0 Add get_command_invocation endpoint for AWS SSM.
Users can make send_command requests and then retrieve the invocations
of those commands with get_command_invocation. Getting a command
invocation by instance and command id is supported but only the
'aws:runShellScript' plugin name is supported and only one plugin in a
document is supported.
2018-07-25 14:51:16 -04:00
Steve Pulec
f3175118d1
Merge pull request #1600 from nimbis/extend-ssm-backend
Extend ssm backend
2018-07-19 08:44:30 -04:00
Nate Peterson
dcdaca8984 parameters return from root path (#1701) 2018-07-13 10:24:11 +01:00
Mike Liu
bbf70bf21c Fix using mutable default arguments.
According to
http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments
using mutable default arguments is not a good practice since it doesn't
perform intuitively. For example lists and dictionaries as default
arguments are initialized ONCE instead of on each invocation of the
function.
2018-06-11 12:28:11 -04:00
Alex Casalboni
cb364eedc6 Implement SSM Parameter Store filters support (GetParametersByPath API) (#1604)
* added tests for SSM Parameter Store filters (GetParametersByPath - ParameterStringFilter)

* implemented SSM Parameter Store filters support (only for get_parameters_by_path API)

* adding myself to authors file
2018-04-30 11:02:46 -07:00
Mike Liu
1016487c78 Implement the ListCommands API endpoint for the SSM client.
Currently only supports getting commands by CommandId and InstanceIds.
2018-04-25 16:25:44 -04:00
Mike Liu
a974a3dfe4 Create a Command class for the ssm backend.
This class will make it easier to keep track of commands in a list for
the SSM backend later on when we implement the ListCommands API call.
2018-04-25 16:22:10 -04:00
Tom Elliff
21a264c337 Default TimeoutSeconds to 1 hour (#1592)
TimeoutSeconds isn't a required field so we can't rely on it being there.
Quick tests against the AWS API show that when it's not specified the ExpiresAfter field seems to be 1 hour after the request.
2018-04-23 11:41:54 -07:00
Steve Pulec
94ba2e68bd SSM SendCommand InstanceIds are optional. Closes #1534. 2018-04-13 15:05:13 -04:00
ramox-
508b392697 Make putparameter behave more like the real endpoint does, respond with Version or ParameterAlreadyExists (#1464) 2018-03-21 08:56:57 -07:00
Chris Wolfe
8ac4ff1e99 greater granularity 2018-02-19 09:58:46 -06:00
Chris Wolfe
99d3362417 add code to respond to SSM send_command 2018-02-19 09:39:29 -06:00
Victor Hiairrassary
caec929506 Improve SSM PutParameter & DescribeParameters actions (#1348) 2017-11-17 08:57:11 +00:00
Kai Xia(夏恺)
3740db8059 Added support for SSM get_parameters_by_path. (#1299)
* Added support for SSM get_parameters_by_path.

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

* add logic to handle trailing '/'.

Also, fix pep8.

Signed-off-by: Kai Xia <kai.xia@sportsbet.com.au>

* add tests for parameter value in response.

Signed-off-by: Kai Xia <kai.xia@sportsbet.com.au>
2017-11-06 09:44:54 +00:00
Ron Rothman
e230407074 ssm get_parameter to honot WithDecryption 2017-09-23 01:41:10 -04:00
Terry Cain
783c287e51
Added non existant parameter test + needed error responses 2017-09-18 21:27:56 +01:00
Terry Cain
cf7e07b728 Added GetParameter support 2017-09-18 14:13:02 +01:00
Ali Rizwan
1c96335895 get_parameters should list InvalidParameters
Signed-off-by: Ali Rizwan <ari@hellofresh.com>
2017-08-16 12:49:03 +02:00
Ali Rizwan
d8b0df2bef Added support for SSM delete_parameters
Signed-off-by: Ali Rizwan <ari@hellofresh.com>
2017-08-11 15:19:36 +02:00
James Brennan
a5089c3d69 Add add, remove, list endpoints for SSM tags 2017-07-26 11:38:12 +00:00
Declan Shanaghy
f0fae81af1 Fix iteritems 2017-06-20 12:55:01 -07:00
Declan Shanaghy
5a4b213950 Remove blank lines 2017-06-20 12:38:52 -07:00
Declan Shanaghy
db20dfcd82 Added filtering 2017-06-20 11:47:53 -07:00
Declan Shanaghy
c118d12e6f Add describe_parameters support 2017-06-19 18:22:33 -07:00
Michael van Tellingen
783a1d73b4 Implement support for SSM parameter store
This commit adds initial support for the Simple System Manager client.

It currently only mocks the following api endpoints:
 - delete_parameter()
 - put_parameter()
 - get_parameters()
2017-04-18 19:09:10 +02:00