Package: lusid-notifications-sdk
lusid-notifications-sdkFINBOURNE TechnologyThis Python package is automatically generated by theOpenAPI Generatorproject:API version: 0.1.916Package 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/notifications-sdk-python.git(you may need to runpipwith root permission:sudo pip install git+https://github.com/finbourne/notifications-sdk-python.git)Then import the package:importlusid_notificationsSetuptoolsInstall viaSetuptools.pythonsetup.pyinstall--user(orsudo python setup.py installto install the package for all users)Then import the package:importlusid_notificationsTestsExecutepytestto run the tests.Getting StartedYou'll need to provide some configuration to connect to the lusid_notifications 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_NOTIFICATIONS_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_NOTIFICATIONS_API_URL,
FBN_ACCESS_TOKENYou can send your requests to lusid_notifications 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_notificationsUrl":"<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_notificationsUrl":"<FINBOURNE-application-url>",
        "accessToken":"<your-access-token>"
    }
}You can send your requests to lusid_notifications 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_notificationsUrl":"<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_notificationsfromlusid_notifications.exceptionsimportApiExceptionfrompprintimportpprintimportosfromlusid_notificationsimport(ApiClientFactory,ApplicationMetadataApi,EnvironmentVariablesConfigurationLoader,SecretsFileConfigurationLoader,ArgsConfigurationLoader)# Use the lusid_notifications 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/notification"# 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/notificationClassMethodHTTP requestDescriptionApplicationMetadataApilist_access_controlled_resourcesGET/api/metadata/access/resources[EARLY ACCESS] ListAccessControlledResources: Get resources available for access controlDeliveriesApilist_deliveriesGET/api/deliveries[EXPERIMENTAL] ListDeliveries: List DeliveriesEventTypesApiget_event_typeGET/api/eventtypes/{eventType}[EXPERIMENTAL] GetEventType: Gets the specified event type schema.EventTypesApilist_event_typesGET/api/eventtypes[EXPERIMENTAL] ListEventTypes: Lists all of the available event types.ManualEventApitrigger_manual_eventPOST/api/manualevent[EXPERIMENTAL] TriggerManualEvent: Trigger a manual event.NotificationsApicreate_notificationPOST/api/subscriptions/{scope}/{code}/notifications[EXPERIMENTAL] CreateNotification: Add a Notification to a Subscription.NotificationsApidelete_notificationDELETE/api/subscriptions/{scope}/{code}/notifications/{id}[EXPERIMENTAL] DeleteNotification: Delete a notification for a given subscription.NotificationsApiget_notificationGET/api/subscriptions/{scope}/{code}/notifications/{id}[EXPERIMENTAL] GetNotification: Get a notification on a subscription.NotificationsApilist_notificationsGET/api/subscriptions/{scope}/{code}/notifications[EXPERIMENTAL] ListNotifications: List all notifications on a subscription.NotificationsApiupdate_notificationPUT/api/subscriptions/{scope}/{code}/notifications/{id}[EXPERIMENTAL] UpdateNotification: Update a Notification for a SubscriptionSubscriptionsApicreate_subscriptionPOST/api/subscriptions[EXPERIMENTAL] CreateSubscription: Create a new subscription.SubscriptionsApidelete_subscriptionDELETE/api/subscriptions/{scope}/{code}[EXPERIMENTAL] DeleteSubscription: Delete a subscription.SubscriptionsApiget_subscriptionGET/api/subscriptions/{scope}/{code}[EXPERIMENTAL] GetSubscription: Get a subscription.SubscriptionsApilist_subscriptionsGET/api/subscriptions[EXPERIMENTAL] ListSubscriptions: List subscriptions.SubscriptionsApiupdate_subscriptionPUT/api/subscriptions/{scope}/{code}[EXPERIMENTAL] UpdateSubscription: Update an existing subscription.Documentation For ModelsAccessControlledActionAccessControlledResourceActionIdAmazonSqsNotificationTypeAmazonSqsNotificationTypeResponseAmazonSqsPrincipalAuthNotificationTypeAmazonSqsPrincipalAuthNotificationTypeResponseAttemptAttemptStatusCreateNotificationRequestCreateSubscriptionDeliveryEmailNotificationTypeEmailNotificationTypeResponseEventFieldDefinitionEventTypeSchemaIdSelectorDefinitionIdentifierPartSchemaLinkLusidProblemDetailsLusidValidationProblemDetailsManualEventManualEventBodyManualEventHeaderManualEventRequestMatchingPatternNotificationNotificationStatusNotificationTypeNotificationTypeResponseResourceIdResourceListOfAccessControlledResourceResourceListOfDeliveryResourceListOfEventTypeSchemaResourceListOfNotificationResourceListOfSubscriptionSmsNotificationTypeSmsNotificationTypeResponseSubscriptionUpdateNotificationRequestUpdateSubscriptionWebhookNotificationTypeWebhookNotificationTypeResponseDocumentation For AuthorizationAuthentication schemes defined for the API:oauth2Type: OAuthFlow: implicitAuthorization URL:https://lusid.okta.com/oauth2/default/v1/authorizeScopes: N/AAuthorinfo@finbourne.com