-
Notifications
You must be signed in to change notification settings - Fork 1.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
Configured endpoint URL resolution #2973
Commits on Jul 5, 2023
-
Fix bug with config value store deep copy
When deep copying the config value store, override values were not preserved.
Configuration menu - View commit details
-
Copy full SHA for 666b15b - Browse repository at this point
Copy the full SHA 666b15bView commit details -
Shallow copy config value store and providers
Instead of deep copying, use a shallow copy of the config value store when using it for creating a new client from a session. Only use a deep copy for updating the section provider. Update behavior of the smart defaults update functions to use a copy of the existing config providers in all cases. Update the logic for determining which new provider to create. Move unit tests for config provider smart defaults to functional tests and rework them to better test behavior. A mocked defaults data file is used to confirm that the correct values are loaded to protect against changes to the live data file.
Configuration menu - View commit details
-
Copy full SHA for bb1165f - Browse repository at this point
Copy the full SHA bb1165fView commit details -
Implement configured endpoint URL resolution
Adds a config provider to resolve the endpoint URL provided in an environment variable or shared configuration file. It resolves the endpoint in the following manner: 1. The value provided through the `endpoint_url` parameter provided to the client constructor. 2. The value provided by a service-specific environment variable. 3. The value provided by the global endpoint environment variable (`AWS_ENDPOINT_URL`). 4. The value provided by a service-specific parameter from a services definition section in the shared configuration file. 5. The value provided by the global parameter from a services definition section in the shared configuration file. 6. The value resolved when no configured endpoint URL is provided. The endpoint config provider uses the client name (name used to instantiate a client object) for construction and add to the config value store. This uses multiple lookups to handle service name changes for backwards compatibility.
Configuration menu - View commit details
-
Copy full SHA for fc26db6 - Browse repository at this point
Copy the full SHA fc26db6View commit details -
Add functional tests for configured endpoint url resolution
The tests use a data file to load tests that enumerate the ways that the endpoint URL can be defined and asserts that the correct endpoint is used in a request and that it is ignored correctly if the appropriate shared config file property or environment variable is supplied. They also assert that the correct config section name and environment variable name are used to configure and override the endpoint URL for every AWS service.
Configuration menu - View commit details
-
Copy full SHA for 67506d8 - Browse repository at this point
Copy the full SHA 67506d8View commit details -
Add debug log when ignoring configured endpoint
Add a debug statement when specifically ignoring the configured endpoint URL from the shared configuration file or an environment variable. This will not be logged if the endpoint URL is set through the client constructor.
Configuration menu - View commit details
-
Copy full SHA for 6e7d10d - Browse repository at this point
Copy the full SHA 6e7d10dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5661df7 - Browse repository at this point
Copy the full SHA 5661df7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5668135 - Browse repository at this point
Copy the full SHA 5668135View commit details -
Add client config ignore endpoint tests
Add tests to check that setting the client creation parameter to ignore the configured endpoint URLs is respected.
Configuration menu - View commit details
-
Copy full SHA for bfd017c - Browse repository at this point
Copy the full SHA bfd017cView commit details -
Fix test for memory issues on Windows GH Actions
GitHub Actions was consistently failing on Windows instances with this test. Likely cause was loading the large model files into memory, which persisted until testing was completed. Since the rest of the model is not needed, only return the service name and ID.
Configuration menu - View commit details
-
Copy full SHA for 2fa2224 - Browse repository at this point
Copy the full SHA 2fa2224View commit details