-
Notifications
You must be signed in to change notification settings - Fork 343
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
Add BaseWaiterFactory, so we can start splitting the waiters #2317
Add BaseWaiterFactory, so we can start splitting the waiters #2317
Conversation
f8122cf
to
f374f32
Compare
Build succeeded. ✔️ ansible-galaxy-importer SUCCESS in 5m 21s |
f374f32
to
1d45f36
Compare
Build succeeded. ✔️ ansible-galaxy-importer SUCCESS in 11m 46s |
abe549a
to
c41db66
Compare
Build succeeded. ✔️ ansible-galaxy-importer SUCCESS in 4m 26s |
c41db66
to
abdf221
Compare
Build succeeded. ✔️ ansible-galaxy-importer SUCCESS in 4m 08s |
abdf221
to
dbafafc
Compare
…an lumping it all in one file Having everything in waiters.py today means that every time we add a new waiter we trigger a lot of integration tests
dbafafc
to
9b87786
Compare
Build succeeded. ✔️ ansible-galaxy-importer SUCCESS in 3m 28s |
Build succeeded (gate pipeline). ✔️ ansible-galaxy-importer SUCCESS in 3m 23s |
963cf2c
into
ansible-collections:main
SUMMARY
Having everything in waiters.py today means that every time we add a new waiter we trigger a lot of integration tests. Adding this Factory gives us a basis to work upon for splitting the code up. It's based upon the Factory in community.aws, but doesn't come with the assumption that we'll have the module/client available to us when we instantiate the factory.
While similar to the current code in waiters.py, this factory supports:
Because touching the existing waiters.py would trigger a mass of integration tests, this puts the factory into waiter.py instead of waiters.py. Additionally, putting it in waiter.py also gives us a long term route to split the current waiters off and out of waiters.py without generating import loops. (Putting it in waiters.py would mean that a per-API file would need to import waiters.py, and thus waiters.py couldn't import the new file to provide backwards compatibility with today's implementation)
ISSUE TYPE
COMPONENT NAME
plugin/module_utils/waiter.py
ADDITIONAL INFORMATION
See #2296 for an example of using this (module_utils._autoscaling.waiters)