-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Techdebt: Get regions from SSM instead of Boto3 #6362
base: master
Are you sure you want to change the base?
Techdebt: Get regions from SSM instead of Boto3 #6362
Conversation
04accc1
to
c203985
Compare
Maybe I'm not understanding the issue correctly, but here are some thoughts on this:
|
Hey @bpandola, thanks for taking the time to look at this! Regarding your first point: this is a problem for everyone, because
Will actually try to connect to a non-existing URL:
The core issue is the fact that Most notably: The fact that Regarding the However, the file is automatically generated by running |
I didn't know this! However, if |
@bblommers I've got to this PR by chance and I want to show our method (using the
If you have more questions around that I can help you. |
Thanks for sharing @jfagoagas! That makes a lot of sense, to keep everything in one file. I'll keep that in mind as a possible alternative. |
65c25a9
to
08b0c82
Compare
08b0c82
to
9f904bb
Compare
Fixes #6078
Moto used, for the vast majority of services, the
botocore.get_available_regions
-method to determine in what regions a particular service is available.This method was always a bit flaky - it would take along time for new services to be available, and every now and then a new release would break the list for an existing service.
AWS' recommendation is to use the SSM parameter store instead, to determine per-region availability - see aws/aws-sdk#206 (comment)
Note that we're duplicating the regions for every service. The alternative would be that every service searches the entire SSM parameter store manually, which has a significant performance impact.
Marking this as draft, as this is a fairly large change, and I think I want to make this a minor version release (4.2.0)