Package: lusid-configuration-sdk
lusid-configuration-sdkFINBOURNE TechnologyThis Python package is automatically generated by theOpenAPI Generatorproject:API version: 0.1.506Package version: 2.0.12Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visithttps://www.finbourne.comRequirements.Python 3.7+Installation & Usagepip installIf the python package is hosted on a repository, you can install directly using:pipinstallgit+https://github.com/finbourne/configuration-sdk-python.git(you may need to runpipwith root permission:sudo pip install git+https://github.com/finbourne/configuration-sdk-python.git)Then import the package:importlusid_configurationSetuptoolsInstall viaSetuptools.pythonsetup.pyinstall--user(orsudo python setup.py installto install the package for all users)Then import the package:importlusid_configurationTestsExecutepytestto run the tests.Getting StartedYou'll need to provide some configuration to connect to the lusid_configuration application.
These can be provided using a secrets file or environment variables.Environment variablesIn order to useshort lived access tokensyou will need to have appropriate values set for the following environment variables:FBN_TOKEN_URL,
FBN_LUSID_CONFIGURATION_API_URL,
FBN_USERNAME,
FBN_PASSWORD,
FBN_CLIENT_ID,
FBN_CLIENT_SECRET,
FBN_ACCESS_TOKENTo use a long lived Personal Access Token, you must provide the following environment variables:FBN_LUSID_CONFIGURATION_API_URL,
FBN_ACCESS_TOKENYou can send your requests to lusid_configuration via a proxy, by settingFBN_PROXY_ADDRESS.
If your proxy has basic auth enabled, you must akso supplyFBN_PROXY_USERNAMEandFBN_PROXY_PASSWORDSecrets fileIn order to useshort lived access tokensyou will need to have appropriate values set in asecrets.jsonfile in the same folder as your script.{
    "api":
    {
        "tokenUrl":"<your-token-url>",
        "lusid_configurationUrl":"<FINBOURNE-application-url>",
        "username":"<your-username>",
        "password":"<your-password>",
        "clientId":"<your-client-id>",
        "clientSecret":"<your-client-secret>",
    }
}To use a long lived Personal Access Token, you must provide asecrets.jsonwith the following variables:{
    "api":
    {
        "lusid_configurationUrl":"<FINBOURNE-application-url>",
        "accessToken":"<your-access-token>"
    }
}You can send your requests to lusid_configuration via a proxy, by adding a proxy section to yoursecrets.json.
If your proxy has basic auth enabled, you must also supply ausernameandpasswordin this section.{
    "api":
    {
        "lusid_configurationUrl":"<FINBOURNE-application-url>",
        "accessToken":"<your-access-token>"
    },
    "proxy":
    {
        "address":"<your-proxy-address>",
        "username":"<your-proxy-username>",
        "password":"<your-proxy-password>"
    }
}Using the SDKPlease follow theinstallation procedureand then run the following:importtimeimportlusid_configurationfromlusid_configuration.exceptionsimportApiExceptionfrompprintimportpprintimportosfromlusid_configurationimport(ApiClientFactory,ApplicationMetadataApi,EnvironmentVariablesConfigurationLoader,SecretsFileConfigurationLoader,ArgsConfigurationLoader)# Use the lusid_configuration ApiClientFactory to build Api instances with a configured api client# By default this will read config from environment variables# Then from a secrets.json file found in the current working directoryapi_client_factory=ApiClientFactory()# The ApiClientFactory can be passed an iterable of configuration loaders to read configuration fromapi_url="https://fbn-prd.lusid.com/configuration"# Path to a secrets.json file containing authentication credentials# See https://support.lusid.com/knowledgebase/article/KA-01667/en-us# for a detailed guide to setting up the SDK make authenticated calls to LUSID APIssecrets_path=os.getenv("FBN_SECRETS_PATH")app_name="LusidJupyterNotebook"config_loaders=[EnvironmentVariablesConfigurationLoader(),SecretsFileConfigurationLoader(api_secrets_file=secrets_path),ArgsConfigurationLoader(api_url=api_url,app_name=app_name)]api_client_factory=ApiClientFactory(config_loaders=config_loaders)# The client must configure the authentication and authorization parameters# in accordance with the API server security policy.# Enter a context with an instance of the ApiClientFactory to ensure the connection pool is closed after useasyncwithapi_client_factory:# Create an instance of the API classapi_instance=api_client_factory.build(ApplicationMetadataApi)try:# [EARLY ACCESS] ListAccessControlledResources: Get resources available for access controlapi_response=awaitapi_instance.list_access_controlled_resources()print("The response of ApplicationMetadataApi->list_access_controlled_resources:\n")pprint(api_response)exceptApiExceptionase:print("Exception when calling ApplicationMetadataApi->list_access_controlled_resources:%s\n"%e)Documentation for API EndpointsAll URIs are relative tohttps://fbn-prd.lusid.com/configurationClassMethodHTTP requestDescriptionApplicationMetadataApilist_access_controlled_resourcesGET/api/metadata/access/resources[EARLY ACCESS] ListAccessControlledResources: Get resources available for access controlConfigurationSetsApiadd_configuration_to_setPOST/api/sets/{type}/{scope}/{code}/items[EARLY ACCESS] AddConfigurationToSet: Add a configuration item to an existing setConfigurationSetsApicheck_access_token_existsHEAD/api/sets/personal/me[DEPRECATED] CheckAccessTokenExists: Check the Personal Access Token exists for the current userConfigurationSetsApicreate_configuration_setPOST/api/sets[EARLY ACCESS] CreateConfigurationSet: Create a configuration setConfigurationSetsApidelete_access_tokenDELETE/api/sets/personal/me[DEPRECATED] DeleteAccessToken: Delete any stored Personal Access Token for the current userConfigurationSetsApidelete_configuration_itemDELETE/api/sets/{type}/{scope}/{code}/items/{key}[EARLY ACCESS] DeleteConfigurationItem: Remove the specified configuration item from the specified configuration setConfigurationSetsApidelete_configuration_setDELETE/api/sets/{type}/{scope}/{code}[EARLY ACCESS] DeleteConfigurationSet: Deletes a configuration set along with all their configuration itemsConfigurationSetsApigenerate_access_tokenPUT/api/sets/personal/me[DEPRECATED] GenerateAccessToken: Generate a Personal Access Token for the current user and stores it in the me tokenConfigurationSetsApiget_configuration_itemGET/api/sets/{type}/{scope}/{code}/items/{key}[EARLY ACCESS] GetConfigurationItem: Get the specific configuration item within an existing setConfigurationSetsApiget_configuration_setGET/api/sets/{type}/{scope}/{code}[EARLY ACCESS] GetConfigurationSet: Get a configuration set, including all the associated metadata. By default secrets will not be revealedConfigurationSetsApiget_system_configuration_itemsGET/api/sets/system/{code}/items/{key}[EARLY ACCESS] GetSystemConfigurationItems: Get the specific system configuration items within a system set  All users have access to this endpointConfigurationSetsApiget_system_configuration_setsGET/api/sets/system/{code}[EARLY ACCESS] GetSystemConfigurationSets: Get the specified system configuration sets, including all their associated metadata. By default secrets will not be revealed  All users have access to this endpointConfigurationSetsApilist_configuration_setsGET/api/sets[EARLY ACCESS] ListConfigurationSets: List all configuration sets summaries (I.e. list of scope/code combinations available)ConfigurationSetsApiupdate_configuration_itemPUT/api/sets/{type}/{scope}/{code}/items/{key}[EARLY ACCESS] UpdateConfigurationItem: Update a configuration item's value and/or descriptionConfigurationSetsApiupdate_configuration_setPUT/api/sets/{type}/{scope}/{code}[EARLY ACCESS] UpdateConfigurationSet: Update the description of a configuration setDocumentation For ModelsAccessControlledActionAccessControlledResourceActionIdConfigurationItemConfigurationItemSummaryConfigurationSetConfigurationSetSummaryCreateConfigurationItemCreateConfigurationSetIdSelectorDefinitionIdentifierPartSchemaLinkLusidProblemDetailsLusidValidationProblemDetailsPersonalAccessTokenResourceIdResourceListOfAccessControlledResourceResourceListOfConfigurationItemResourceListOfConfigurationSetResourceListOfConfigurationSetSummaryUpdateConfigurationItemUpdateConfigurationSetDocumentation For AuthorizationAuthentication schemes defined for the API:oauth2Type: OAuthFlow: implicitAuthorization URL:https://lusid.okta.com/oauth2/default/v1/authorizeScopes: N/AAuthorinfo@finbourne.com