FINBOURNE Scheduler API
Project description
lusid-scheduler-sdk
FINBOURNE Technology
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 0.0.883
- Package version: 2.0.30
- 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/scheduler-sdk-python.git
(you may need to run pip with root permission: sudo pip install git+https://github.com/finbourne/scheduler-sdk-python.git)
Then import the package:
import lusid_scheduler
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_scheduler
Tests
Execute pytest to run the tests.
Getting Started
You'll need to provide some configuration to connect to the lusid_scheduler 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_SCHEDULER_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_SCHEDULER_API_URL,
FBN_ACCESS_TOKEN
You can send your requests to lusid_scheduler 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_schedulerUrl":"<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_schedulerUrl":"<FINBOURNE-application-url>",
"accessToken":"<your-access-token>"
}
}
You can send your requests to lusid_scheduler 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_schedulerUrl":"<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_scheduler
from lusid_scheduler.exceptions import ApiException
from pprint import pprint
import os
from lusid_scheduler import (
ApiClientFactory,
ApplicationMetadataApi,
EnvironmentVariablesConfigurationLoader,
SecretsFileConfigurationLoader,
ArgsConfigurationLoader
)
# Use the lusid_scheduler 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/scheduler2"
# 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:
# [EXPERIMENTAL] 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/scheduler2
| Class | Method | HTTP request | Description |
|---|---|---|---|
| ApplicationMetadataApi | list_access_controlled_resources | GET /api/metadata/access/resources | [EXPERIMENTAL] ListAccessControlledResources: Get resources available for access control |
| ImagesApi | delete_image | DELETE /api/images/{name} | [EXPERIMENTAL] DeleteImage: Delete a Docker Image |
| ImagesApi | download_image | GET /api/images/{name}/contents | [EXPERIMENTAL] DownloadImage: Download Docker Image |
| ImagesApi | get_image | GET /api/images/{name} | [EXPERIMENTAL] GetImage: Get metadata of a Docker Image |
| ImagesApi | list_images | GET /api/images/repository/{name} | [EXPERIMENTAL] ListImages: List all images under same image repository |
| ImagesApi | list_repositories | GET /api/images/repository | [EXPERIMENTAL] ListRepositories: List all Docker image repositories |
| ImagesApi | upload_image | POST /api/images | [EXPERIMENTAL] UploadImage: Upload a Docker Image used for Scheduler jobs |
| JobsApi | create_job | POST /api/jobs | [EXPERIMENTAL] CreateJob: Create a new job |
| JobsApi | delete_job | DELETE /api/jobs/{scope}/{code} | [EXPERIMENTAL] DeleteJob: Delete a job |
| JobsApi | get_history | GET /api/jobs/history | [EXPERIMENTAL] GetHistory: Get the history of job runs |
| JobsApi | get_job_console_output | GET /api/jobs/history/{runId}/console | [EXPERIMENTAL] GetJobConsoleOutput: Gets the console output of a specific job run |
| JobsApi | get_run_history | GET /api/jobs/history/{runId} | [EXPERIMENTAL] GetRunHistory: Get the history for a single job run |
| JobsApi | get_schedules_for_a_job | GET /api/jobs/{scope}/{code}/schedules | [EXPERIMENTAL] GetSchedulesForAJob: Get all the schedules for a single job |
| JobsApi | list_jobs | GET /api/jobs | [EXPERIMENTAL] ListJobs: List the available jobs |
| JobsApi | run_job | POST /api/jobs/{scope}/{code}/$run | [EXPERIMENTAL] RunJob: Run a job immediately |
| JobsApi | update_job | PUT /api/jobs/{scope}/{code} | [EXPERIMENTAL] UpdateJob: Update a JobDefinition |
| SchedulesApi | create_schedule | POST /api/schedules | [EXPERIMENTAL] CreateSchedule: Create a Schedule for a job |
| SchedulesApi | delete_schedule | DELETE /api/schedules/{scope}/{code} | [EXPERIMENTAL] DeleteSchedule: Delete a schedule |
| SchedulesApi | enabled_schedule | PUT /api/schedules/{scope}/{code}/enabled | [EXPERIMENTAL] EnabledSchedule: Enable/disable a schedule |
| SchedulesApi | get_schedule | GET /api/schedules/{scope}/{code} | [EXPERIMENTAL] GetSchedule: Get a single Schedule |
| SchedulesApi | list_schedules | GET /api/schedules | [EXPERIMENTAL] ListSchedules: List the available Schedules |
| SchedulesApi | run_schedule | POST /api/schedules/{scope}/{code}/$run | [EXPERIMENTAL] RunSchedule: Run a schedule immediately |
| SchedulesApi | update_schedule | PUT /api/schedules/{scope}/{code} | [EXPERIMENTAL] UpdateSchedule: Update a schedule. |
Documentation For Models
- AccessControlledAction
- AccessControlledResource
- ActionId
- ArgumentDefinition
- CreateJobRequest
- CreateScheduleRequest
- IdSelectorDefinition
- IdentifierPartSchema
- Image
- ImageSummary
- JobDefinition
- JobHistory
- JobRunResult
- Link
- LusidProblemDetails
- LusidValidationProblemDetails
- Notification
- Repository
- RequiredResources
- ResourceId
- ResourceListOfAccessControlledResource
- ResourceListOfImageSummary
- ResourceListOfJobDefinition
- ResourceListOfJobHistory
- ResourceListOfRepository
- ResourceListOfScheduleDefinition
- ScanReport
- ScanSummary
- ScheduleDefinition
- StartJobRequest
- StartJobResponse
- StartScheduleResponse
- Tag
- TimeTrigger
- Trigger
- UpdateJobRequest
- UpdateScheduleRequest
- UploadImageInstructions
- UploadImageRequest
- Vulnerability
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lusid_scheduler_sdk-2.0.30.tar.gz.
File metadata
- Download URL: lusid_scheduler_sdk-2.0.30.tar.gz
- Upload date:
- Size: 68.8 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 |
76aa3883eecd3e6aa6d064ed41fe1d108dc04a00a84f25f5fd537c4be350d9a7
|
|
| MD5 |
91e5d69d061a96ba9aea6d3edaac156f
|
|
| BLAKE2b-256 |
83ac65412273da2f5101d7c4d97a07b89f261689467280454d7d7431a60dd6cd
|
File details
Details for the file lusid_scheduler_sdk-2.0.30-py3-none-any.whl.
File metadata
- Download URL: lusid_scheduler_sdk-2.0.30-py3-none-any.whl
- Upload date:
- Size: 122.7 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 |
d33f41d348b974da7fd7e7c6b5775866b72ca120e87fca335b214f202f02149d
|
|
| MD5 |
8197285ef843f6532cd8ebdb851d69aa
|
|
| BLAKE2b-256 |
992f2e72964d59e9fa6686092e83a96e97ee8a0ef9563b34e5b8e0dc84578ffc
|