Commit Graph

66 Commits

Author SHA1 Message Date
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