qcs_api_client.client._configuration.configuration#

Module Contents#

Classes#

QCSClientConfiguration

A user's settings and secrets along with a specified profile name.

Attributes#

qcs_api_client.client._configuration.configuration.QCS_BASE_PATH#
qcs_api_client.client._configuration.configuration.DEFAULT_SECRETS_FILE_PATH#
qcs_api_client.client._configuration.configuration.DEFAULT_SETTINGS_FILE_PATH#
class qcs_api_client.client._configuration.configuration.QCSClientConfiguration#

Bases: pydantic.main.BaseModel

A user’s settings and secrets along with a specified profile name.

This class contains a full representation of user specified QCSClientConfigurationSecrets and QCSClientConfigurationSettings, as well as a profile_name which indicates which QCSClientConfigurationSettingsProfile to access within QCSClientConfigurationSettings.profiles.

Typically, clients will simply call QCSClientConfiguration.load, to initialize this class from the specified secrets and settings paths.

profile_name :str#
secrets :qcs_api_client.client._configuration.secrets.QCSClientConfigurationSecrets#
settings :qcs_api_client.client._configuration.settings.QCSClientConfigurationSettings#
property auth_server qcs_api_client.client._configuration.settings.QCSAuthServer#

Returns the configured authorization server.

self.profile.auth_server_name serves as key to QCSClientConfigurationSettings.auth_servers.

Returns

The specified QCSAuthServer.

Raises

QCSClientConfigurationError – If QCSClientConfigurationSettings.auth_servers does not have a value for the authorization server name.

property credentials qcs_api_client.client._configuration.secrets.QCSClientConfigurationSecretsCredentials#

Returns the configured QCSClientConfigurationSecretsCredentials

self.profile.credentials_name serves as key to QCSClientConfigurationSecrets.credentials.

Returns

The specified QCSClientConfigurationSecretsCredentials.

Raises

QCSClientConfigurationError – If QCSClientConfigurationSettings.credentials does not have a value for the specified credentials name.

property profile qcs_api_client.client._configuration.settings.QCSClientConfigurationSettingsProfile#

Returns the configured QCSClientConfigurationSettingsProfile.

self.profile_name serves as key to QCSClientConfigurationSettingsProfile.profiles.

Returns

The specified QCSClientConfigurationSettingsProfile.

Raises

QCSClientConfigurationError – If QCSClientConfigurationSettings.profiles does not have a value for the specified profile name.

classmethod load(profile_name: Optional[str] = None, settings_file_path: Optional[os.PathLike] = None, secrets_file_path: Optional[os.PathLike] = None) QCSClientConfiguration#

Loads a fully specified QCSClientConfiguration from file.

It evaluates attribute values according to the following precedence: argument value > environment variable > default value.

Parameters
  • profile_name – [env: QCS_PROFILE_NAME] The name of the profile referenced in the fully parsed QCSClientConfigurationSettings.profiles. If the profile name does not exist on QCSClientConfigurationSettings, QCSClientConfiguration.profile will raise an error. The default value is “default”, which may be overridden by QCSClientConfigurationSettings.default_profile_name.

  • settings_file_path – [env: QCS_SETTINGS_FILE_PATH] The file path from which to parse QCSClientConfigurationSettings. This file must exist in TOML format. The default value is ~/.qcs/settings.toml.

  • secrets_file_path – [env: QCS_SECRETS_FILE_PATH] The file path from which to parse QCSClientConfigurationSecrets. This file must exist in TOML format. The default value is ~/.qcs/secrets.toml.

Returns

A fully specified QCSClientConfiguration, which QCSAuth may use for adding refreshed OAuth2 access tokens to outgoing HTTP requests.