FINBOURNE ConfigurationService API
Project description
lusid-configuration-sdk
FINBOURNE Technology
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 0.1.517
- Package version: 2.0.18
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://www.finbourne.com
Requirements.
Python 3.7+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/finbourne/configuration-sdk-python.git
(you may need to run pip
with root permission: sudo pip install git+https://github.com/finbourne/configuration-sdk-python.git
)
Then import the package:
import lusid_configuration
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import lusid_configuration
Tests
Execute pytest
to run the tests.
Getting Started
You'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 variables
In order to use short lived access tokens you 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
To use a long lived Personal Access Token, you must provide the following environment variables:
FBN_LUSID_CONFIGURATION_API_URL,
FBN_ACCESS_TOKEN
You can send your requests to lusid_configuration via a proxy, by setting FBN_PROXY_ADDRESS
.
If your proxy has basic auth enabled, you must akso supply FBN_PROXY_USERNAME
and FBN_PROXY_PASSWORD
Secrets file
In order to use short lived access tokens you will need to have appropriate values set in a secrets.json
file 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 a secrets.json
with 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 your secrets.json
.
If your proxy has basic auth enabled, you must also supply a username
and password
in 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 SDK
Please follow the installation procedure and then run the following:
import time
import lusid_configuration
from lusid_configuration.exceptions import ApiException
from pprint import pprint
import os
from lusid_configuration import (
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 directory
api_client_factory = ApiClientFactory()
# The ApiClientFactory can be passed an iterable of configuration loaders to read configuration from
api_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 APIs
secrets_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 use
async with api_client_factory:
# Create an instance of the API class
api_instance = api_client_factory.build(ApplicationMetadataApi)
try:
# [EARLY ACCESS] ListAccessControlledResources: Get resources available for access control
api_response = await api_instance.list_access_controlled_resources()
print("The response of ApplicationMetadataApi->list_access_controlled_resources:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling ApplicationMetadataApi->list_access_controlled_resources: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://fbn-prd.lusid.com/configuration
Class | Method | HTTP request | Description |
---|---|---|---|
ApplicationMetadataApi | list_access_controlled_resources | GET /api/metadata/access/resources | [EARLY ACCESS] ListAccessControlledResources: Get resources available for access control |
ConfigurationSetsApi | add_configuration_to_set | POST /api/sets/{type}/{scope}/{code}/items | [EARLY ACCESS] AddConfigurationToSet: Add a configuration item to an existing set |
ConfigurationSetsApi | check_access_token_exists | HEAD /api/sets/personal/me | [DEPRECATED] CheckAccessTokenExists: Check the Personal Access Token exists for the current user |
ConfigurationSetsApi | create_configuration_set | POST /api/sets | [EARLY ACCESS] CreateConfigurationSet: Create a configuration set |
ConfigurationSetsApi | delete_access_token | DELETE /api/sets/personal/me | [DEPRECATED] DeleteAccessToken: Delete any stored Personal Access Token for the current user |
ConfigurationSetsApi | delete_configuration_item | DELETE /api/sets/{type}/{scope}/{code}/items/{key} | [EARLY ACCESS] DeleteConfigurationItem: Remove the specified configuration item from the specified configuration set |
ConfigurationSetsApi | delete_configuration_set | DELETE /api/sets/{type}/{scope}/{code} | [EARLY ACCESS] DeleteConfigurationSet: Deletes a configuration set along with all their configuration items |
ConfigurationSetsApi | generate_access_token | PUT /api/sets/personal/me | [DEPRECATED] GenerateAccessToken: Generate a Personal Access Token for the current user and stores it in the me token |
ConfigurationSetsApi | get_configuration_item | GET /api/sets/{type}/{scope}/{code}/items/{key} | [EARLY ACCESS] GetConfigurationItem: Get the specific configuration item within an existing set |
ConfigurationSetsApi | get_configuration_set | GET /api/sets/{type}/{scope}/{code} | [EARLY ACCESS] GetConfigurationSet: Get a configuration set, including all the associated metadata. By default secrets will not be revealed |
ConfigurationSetsApi | get_system_configuration_items | GET /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 endpoint |
ConfigurationSetsApi | get_system_configuration_sets | GET /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 endpoint |
ConfigurationSetsApi | list_configuration_sets | GET /api/sets | [EARLY ACCESS] ListConfigurationSets: List all configuration sets summaries (I.e. list of scope/code combinations available) |
ConfigurationSetsApi | update_configuration_item | PUT /api/sets/{type}/{scope}/{code}/items/{key} | [EARLY ACCESS] UpdateConfigurationItem: Update a configuration item's value and/or description |
ConfigurationSetsApi | update_configuration_set | PUT /api/sets/{type}/{scope}/{code} | [EARLY ACCESS] UpdateConfigurationSet: Update the description of a configuration set |
Documentation For Models
- AccessControlledAction
- AccessControlledResource
- ActionId
- ConfigurationItem
- ConfigurationItemSummary
- ConfigurationSet
- ConfigurationSetSummary
- CreateConfigurationItem
- CreateConfigurationSet
- IdSelectorDefinition
- IdentifierPartSchema
- Link
- LusidProblemDetails
- LusidValidationProblemDetails
- PersonalAccessToken
- ResourceId
- ResourceListOfAccessControlledResource
- ResourceListOfConfigurationItem
- ResourceListOfConfigurationSet
- ResourceListOfConfigurationSetSummary
- UpdateConfigurationItem
- UpdateConfigurationSet
Documentation For Authorization
Authentication schemes defined for the API:
oauth2
- Type: OAuth
- Flow: implicit
- Authorization URL: https://lusid.okta.com/oauth2/default/v1/authorize
- Scopes: N/A
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lusid_configuration_sdk-2.0.18.tar.gz
.
File metadata
- Download URL: lusid_configuration_sdk-2.0.18.tar.gz
- Upload date:
- Size: 52.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.8.2 Linux/5.15.106-flatcar
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 218bc1f230aaf922a0a2f6f221335a3d88345af13d8c7411ad8a7f95fc9df38d |
|
MD5 | 55113dcd389a6caad4d4c0be39f3b5d5 |
|
BLAKE2b-256 | f6a794a702efe6226b81ba896cbc1656dccaf5143380dbcff889454bd2ea3158 |
File details
Details for the file lusid_configuration_sdk-2.0.18-py3-none-any.whl
.
File metadata
- Download URL: lusid_configuration_sdk-2.0.18-py3-none-any.whl
- Upload date:
- Size: 84.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.8.2 Linux/5.15.106-flatcar
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be88d2277b40708de3ab7ef23697648bd70a66d97eb1bacc143b38173ab6d0e5 |
|
MD5 | 971e536900ca3b8d3a7993b64445afbd |
|
BLAKE2b-256 | 3a52a2ce7e74bc674e7092b79af27c3eb32ce3d3e46d80029b85ed8d321fa8a7 |