# finbourne-access-sdk
FINBOURNE Technology
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 0.0.3797
- Package version: 2.1.29
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://www.finbourne.com](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:
```sh
pip install git+https://github.com/finbourne/finbourne-access-sdk-python.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/finbourne/finbourne-access-sdk-python.git`)
Then import the package:
```python
import finbourne_access
```
### Setuptools
Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)
Then import the package:
```python
import finbourne_access
```
### Tests
Execute `pytest` to run the tests.
## Getting Started
You'll need to provide some configuration to connect to the finbourne_access application.
These can be provided using a secrets file or environment variables.
### Environment variables
In order to use [short lived access tokens](https://support.lusid.com/knowledgebase/article/KA-01654/en-us) you will need to have appropriate values set for the following environment variables:
```
FBN_TOKEN_URL,
FBN_FINBOURNE_ACCESS_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_FINBOURNE_ACCESS_API_URL,
FBN_ACCESS_TOKEN
```
You can send your requests to finbourne_access 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](https://support.lusid.com/knowledgebase/article/KA-01654/en-us) 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>",
"finbourne_accessUrl":"<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":
{
"finbourne_accessUrl":"<FINBOURNE-application-url>",
"accessToken":"<your-access-token>"
}
}
```
You can send your requests to finbourne_access 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":
{
"finbourne_accessUrl":"<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](#installation--usage) and then run the following:
```python
import time
import finbourne_access
from finbourne_access.exceptions import ApiException
from pprint import pprint
import os
from finbourne_access import (
ApiClientFactory,
ApplicationMetadataApi,
EnvironmentVariablesConfigurationLoader,
SecretsFileConfigurationLoader,
ArgsConfigurationLoader
)
# Use the finbourne_access 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/access"
# 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:
# 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/access*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*ApplicationMetadataApi* | [**list_access_controlled_resources**](docs/ApplicationMetadataApi.md#list_access_controlled_resources) | **GET** /api/metadata/access/resources | ListAccessControlledResources: Get resources available for access control
*PoliciesApi* | [**add_to_policy_collection**](docs/PoliciesApi.md#add_to_policy_collection) | **POST** /api/policycollections/{code}/add | AddToPolicyCollection: Add To PolicyCollection
*PoliciesApi* | [**create_policy**](docs/PoliciesApi.md#create_policy) | **POST** /api/policies | CreatePolicy: Create Policy
*PoliciesApi* | [**create_policy_collection**](docs/PoliciesApi.md#create_policy_collection) | **POST** /api/policycollections | CreatePolicyCollection: Create PolicyCollection
*PoliciesApi* | [**delete_policy**](docs/PoliciesApi.md#delete_policy) | **DELETE** /api/policies/{code} | DeletePolicy: Delete Policy
*PoliciesApi* | [**delete_policy_collection**](docs/PoliciesApi.md#delete_policy_collection) | **DELETE** /api/policycollections/{code} | DeletePolicyCollection: Delete PolicyCollection
*PoliciesApi* | [**evaluate**](docs/PoliciesApi.md#evaluate) | **POST** /api/me | Evaluate: Run one or more evaluations
*PoliciesApi* | [**get_own_policies**](docs/PoliciesApi.md#get_own_policies) | **GET** /api/me | GetOwnPolicies: Get policies of requesting user
*PoliciesApi* | [**get_policy**](docs/PoliciesApi.md#get_policy) | **GET** /api/policies/{code} | GetPolicy: Get Policy
*PoliciesApi* | [**get_policy_collection**](docs/PoliciesApi.md#get_policy_collection) | **GET** /api/policycollections/{code} | GetPolicyCollection: Get PolicyCollection
*PoliciesApi* | [**list_policies**](docs/PoliciesApi.md#list_policies) | **GET** /api/policies | [EARLY ACCESS] ListPolicies: List Policies
*PoliciesApi* | [**list_policy_collections**](docs/PoliciesApi.md#list_policy_collections) | **GET** /api/policycollections | ListPolicyCollections: List PolicyCollections
*PoliciesApi* | [**page_policies**](docs/PoliciesApi.md#page_policies) | **GET** /api/policies/page | [EARLY ACCESS] PagePolicies: Page Policies
*PoliciesApi* | [**page_policy_collections**](docs/PoliciesApi.md#page_policy_collections) | **GET** /api/policycollections/page | PagePolicyCollections: Page PolicyCollections
*PoliciesApi* | [**remove_from_policy_collection**](docs/PoliciesApi.md#remove_from_policy_collection) | **POST** /api/policycollections/{code}/remove | RemoveFromPolicyCollection: Remove From PolicyCollection
*PoliciesApi* | [**update_policy**](docs/PoliciesApi.md#update_policy) | **PUT** /api/policies/{code} | UpdatePolicy: Update Policy
*PoliciesApi* | [**update_policy_collection**](docs/PoliciesApi.md#update_policy_collection) | **PUT** /api/policycollections/{code} | UpdatePolicyCollection: Update PolicyCollection
*PolicyTemplatesApi* | [**create_policy_template**](docs/PolicyTemplatesApi.md#create_policy_template) | **POST** /api/policytemplates | [EXPERIMENTAL] CreatePolicyTemplate: Create a Policy Template
*PolicyTemplatesApi* | [**delete_policy_template**](docs/PolicyTemplatesApi.md#delete_policy_template) | **DELETE** /api/policytemplates/{code} | [EXPERIMENTAL] DeletePolicyTemplate: Deleting a policy template
*PolicyTemplatesApi* | [**generate_policy_from_template**](docs/PolicyTemplatesApi.md#generate_policy_from_template) | **POST** /api/policytemplates/$generatepolicy | [EXPERIMENTAL] GeneratePolicyFromTemplate: Generate policy from template
*PolicyTemplatesApi* | [**get_policy_template**](docs/PolicyTemplatesApi.md#get_policy_template) | **GET** /api/policytemplates/{code} | [EXPERIMENTAL] GetPolicyTemplate: Retrieving one Policy Template
*PolicyTemplatesApi* | [**list_policy_templates**](docs/PolicyTemplatesApi.md#list_policy_templates) | **GET** /api/policytemplates | [EXPERIMENTAL] ListPolicyTemplates: List Policy Templates
*PolicyTemplatesApi* | [**update_policy_template**](docs/PolicyTemplatesApi.md#update_policy_template) | **PUT** /api/policytemplates/{code} | [EXPERIMENTAL] UpdatePolicyTemplate: Update a Policy Template
*RolesApi* | [**add_policy_collection_to_role**](docs/RolesApi.md#add_policy_collection_to_role) | **POST** /api/roles/{scope}/{code}/policycollections | AddPolicyCollectionToRole: Add policy collections to a role
*RolesApi* | [**create_role**](docs/RolesApi.md#create_role) | **POST** /api/roles | CreateRole: Create Role
*RolesApi* | [**delete_role**](docs/RolesApi.md#delete_role) | **DELETE** /api/roles/{code} | DeleteRole: Delete Role
*RolesApi* | [**get_role**](docs/RolesApi.md#get_role) | **GET** /api/roles/{code} | GetRole: Get Role
*RolesApi* | [**list_roles**](docs/RolesApi.md#list_roles) | **GET** /api/roles | ListRoles: List Roles
*RolesApi* | [**remove_policy_collection_from_role**](docs/RolesApi.md#remove_policy_collection_from_role) | **DELETE** /api/roles/{scope}/{code}/policycollections/{policycollectionscope}/{policycollectioncode} | RemovePolicyCollectionFromRole: Remove policy collection from role
*RolesApi* | [**update_role**](docs/RolesApi.md#update_role) | **PUT** /api/roles/{code} | UpdateRole: Update Role
*UserRolesApi* | [**add_policy_collection_to_user_role**](docs/UserRolesApi.md#add_policy_collection_to_user_role) | **POST** /api/userroles/{userid}/policycollections | AddPolicyCollectionToUserRole: Add a policy collection to a user-role
*UserRolesApi* | [**add_policy_to_user_role**](docs/UserRolesApi.md#add_policy_to_user_role) | **POST** /api/userroles/{userid}/policies | AddPolicyToUserRole: Add a policy to a user-role
*UserRolesApi* | [**create_user_role**](docs/UserRolesApi.md#create_user_role) | **POST** /api/userroles | CreateUserRole: Create a user-role
*UserRolesApi* | [**delete_user_role**](docs/UserRolesApi.md#delete_user_role) | **DELETE** /api/userroles/{userid} | DeleteUserRole: Delete a user-role
*UserRolesApi* | [**get_user_role**](docs/UserRolesApi.md#get_user_role) | **GET** /api/userroles/{userid} | GetUserRole: Get a user-role
*UserRolesApi* | [**list_user_roles**](docs/UserRolesApi.md#list_user_roles) | **GET** /api/userroles | ListUserRoles: List user-roles
*UserRolesApi* | [**remove_policy_collection_from_user_role**](docs/UserRolesApi.md#remove_policy_collection_from_user_role) | **DELETE** /api/userroles/{userid}/policycollections/{policyCollectionScope}/{policyCollectionCode} | RemovePolicyCollectionFromUserRole: Remove a policy collection from a user-role
*UserRolesApi* | [**remove_policy_from_user_role**](docs/UserRolesApi.md#remove_policy_from_user_role) | **DELETE** /api/userroles/{userid}/policies/{policyScope}/{policyCode} | RemovePolicyFromUserRole: Remove a policy from a user-role
*UserRolesApi* | [**update_user_role**](docs/UserRolesApi.md#update_user_role) | **POST** /api/userroles/{userid}/update | UpdateUserRole: Update a user-role
## Documentation For Models
- [AccessControlledAction](docs/AccessControlledAction.md)
- [AccessControlledResource](docs/AccessControlledResource.md)
- [ActionId](docs/ActionId.md)
- [AddPolicyCollectionToRoleRequest](docs/AddPolicyCollectionToRoleRequest.md)
- [AddPolicyToRoleRequest](docs/AddPolicyToRoleRequest.md)
- [AddToPolicyCollectionRequest](docs/AddToPolicyCollectionRequest.md)
- [AsAtPredicateContract](docs/AsAtPredicateContract.md)
- [AsAtRangeForSpec](docs/AsAtRangeForSpec.md)
- [AsAtRelative](docs/AsAtRelative.md)
- [AttachedPolicyDefinitionResponse](docs/AttachedPolicyDefinitionResponse.md)
- [DateQuality](docs/DateQuality.md)
- [DateUnit](docs/DateUnit.md)
- [EffectiveDateHasQuality](docs/EffectiveDateHasQuality.md)
- [EffectiveDateRelative](docs/EffectiveDateRelative.md)
- [EffectiveRange](docs/EffectiveRange.md)
- [EntitlementMetadata](docs/EntitlementMetadata.md)
- [EvaluationRequest](docs/EvaluationRequest.md)
- [EvaluationResponse](docs/EvaluationResponse.md)
- [EvaluationResult](docs/EvaluationResult.md)
- [ForSpec](docs/ForSpec.md)
- [GeneratePolicyFromTemplateRequest](docs/GeneratePolicyFromTemplateRequest.md)
- [GeneratedPolicyComponents](docs/GeneratedPolicyComponents.md)
- [Grant](docs/Grant.md)
- [HowSpec](docs/HowSpec.md)
- [IdSelectorDefinition](docs/IdSelectorDefinition.md)
- [IdentifierPartSchema](docs/IdentifierPartSchema.md)
- [IfExpression](docs/IfExpression.md)
- [IfFeatureChainExpression](docs/IfFeatureChainExpression.md)
- [IfIdentityClaimExpression](docs/IfIdentityClaimExpression.md)
- [IfIdentityScopeExpression](docs/IfIdentityScopeExpression.md)
- [IfRequestHeaderExpression](docs/IfRequestHeaderExpression.md)
- [KeyValuePairOfStringToString](docs/KeyValuePairOfStringToString.md)
- [Link](docs/Link.md)
- [LusidProblemDetails](docs/LusidProblemDetails.md)
- [LusidValidationProblemDetails](docs/LusidValidationProblemDetails.md)
- [MatchAllSelectorDefinition](docs/MatchAllSelectorDefinition.md)
- [MetadataExpression](docs/MetadataExpression.md)
- [MetadataSelectorDefinition](docs/MetadataSelectorDefinition.md)
- [NonTransitiveSupervisorRoleResource](docs/NonTransitiveSupervisorRoleResource.md)
- [Operator](docs/Operator.md)
- [PointInTimeSpecification](docs/PointInTimeSpecification.md)
- [PolicyCollectionCreationRequest](docs/PolicyCollectionCreationRequest.md)
- [PolicyCollectionId](docs/PolicyCollectionId.md)
- [PolicyCollectionResponse](docs/PolicyCollectionResponse.md)
- [PolicyCollectionUpdateRequest](docs/PolicyCollectionUpdateRequest.md)
- [PolicyCreationRequest](docs/PolicyCreationRequest.md)
- [PolicyId](docs/PolicyId.md)
- [PolicyIdRoleResource](docs/PolicyIdRoleResource.md)
- [PolicyResponse](docs/PolicyResponse.md)
- [PolicySelectorDefinition](docs/PolicySelectorDefinition.md)
- [PolicyTemplateCreationRequest](docs/PolicyTemplateCreationRequest.md)
- [PolicyTemplateResponse](docs/PolicyTemplateResponse.md)
- [PolicyTemplateUpdateRequest](docs/PolicyTemplateUpdateRequest.md)
- [PolicyTemplatedSelector](docs/PolicyTemplatedSelector.md)
- [PolicyType](docs/PolicyType.md)
- [PolicyUpdateRequest](docs/PolicyUpdateRequest.md)
- [RelativeToDateTime](docs/RelativeToDateTime.md)
- [RemoveFromPolicyCollectionRequest](docs/RemoveFromPolicyCollectionRequest.md)
- [RequestDetails](docs/RequestDetails.md)
- [RequestedActionKey](docs/RequestedActionKey.md)
- [ResourceDetails](docs/ResourceDetails.md)
- [ResourceListOfAccessControlledResource](docs/ResourceListOfAccessControlledResource.md)
- [ResourceListOfPolicyCollectionResponse](docs/ResourceListOfPolicyCollectionResponse.md)
- [ResourceListOfPolicyResponse](docs/ResourceListOfPolicyResponse.md)
- [ResourceListOfPolicyTemplateResponse](docs/ResourceListOfPolicyTemplateResponse.md)
- [ResourceListOfUserRoleResponse](docs/ResourceListOfUserRoleResponse.md)
- [RoleCreationRequest](docs/RoleCreationRequest.md)
- [RoleId](docs/RoleId.md)
- [RoleResourceRequest](docs/RoleResourceRequest.md)
- [RoleResponse](docs/RoleResponse.md)
- [RoleUpdateRequest](docs/RoleUpdateRequest.md)
- [SelectorDefinition](docs/SelectorDefinition.md)
- [TemplateMetadata](docs/TemplateMetadata.md)
- [TemplateSelection](docs/TemplateSelection.md)
- [TextOperator](docs/TextOperator.md)
- [UserRoleCreationRequest](docs/UserRoleCreationRequest.md)
- [UserRoleResponse](docs/UserRoleResponse.md)
- [UserRoleUpdateRequest](docs/UserRoleUpdateRequest.md)
- [WhenSpec](docs/WhenSpec.md)
<a id="documentation-for-authorization"></a>
## Documentation For Authorization
Authentication schemes defined for the API:
<a id="oauth2"></a>
### oauth2
- **Type**: OAuth
- **Flow**: implicit
- **Authorization URL**: https://lusid.okta.com/oauth2/default/v1/authorize
- **Scopes**: N/A
## Author
info@finbourne.com
Raw data
{
"_id": null,
"home_page": "https://github.com/finbourne/finbourne-access-sdk-python",
"name": "finbourne-access-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "OpenAPI, OpenAPI-Generator, FINBOURNE Access Management API, finbourne-access-sdk",
"author": "FINBOURNE Technology",
"author_email": "info@finbourne.com",
"download_url": "https://files.pythonhosted.org/packages/51/29/6ad08ff7b7e551a3f86f8fd4fee3fda571327708789f1a34ae50b9e160c8/finbourne_access_sdk-2.1.29.tar.gz",
"platform": null,
"description": "# finbourne-access-sdk\nFINBOURNE Technology\n\nThis Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:\n\n- API version: 0.0.3797\n- Package version: 2.1.29\n- Build package: org.openapitools.codegen.languages.PythonClientCodegen\nFor more information, please visit [https://www.finbourne.com](https://www.finbourne.com)\n\n## Requirements.\n\nPython 3.7+\n\n## Installation & Usage\n### pip install\n\nIf the python package is hosted on a repository, you can install directly using:\n\n```sh\npip install git+https://github.com/finbourne/finbourne-access-sdk-python.git\n```\n(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/finbourne/finbourne-access-sdk-python.git`)\n\nThen import the package:\n```python\nimport finbourne_access\n```\n\n### Setuptools\n\nInstall via [Setuptools](http://pypi.python.org/pypi/setuptools).\n\n```sh\npython setup.py install --user\n```\n(or `sudo python setup.py install` to install the package for all users)\n\nThen import the package:\n```python\nimport finbourne_access\n```\n\n### Tests\n\nExecute `pytest` to run the tests.\n\n## Getting Started\n\nYou'll need to provide some configuration to connect to the finbourne_access application.\nThese can be provided using a secrets file or environment variables.\n\n### Environment variables\n\nIn order to use [short lived access tokens](https://support.lusid.com/knowledgebase/article/KA-01654/en-us) you will need to have appropriate values set for the following environment variables:\n\n``` \nFBN_TOKEN_URL,\nFBN_FINBOURNE_ACCESS_API_URL,\nFBN_USERNAME,\nFBN_PASSWORD,\nFBN_CLIENT_ID,\nFBN_CLIENT_SECRET\n```\n\nTo use a long lived Personal Access Token, you must provide the following environment variables:\n``` \nFBN_FINBOURNE_ACCESS_API_URL,\nFBN_ACCESS_TOKEN\n```\n\nYou can send your requests to finbourne_access via a proxy, by setting `FBN_PROXY_ADDRESS`. \nIf your proxy has basic auth enabled, you must akso supply `FBN_PROXY_USERNAME` and `FBN_PROXY_PASSWORD`\n\n### Secrets file\n\nIn order to use [short lived access tokens](https://support.lusid.com/knowledgebase/article/KA-01654/en-us) you will need to have appropriate values set in a `secrets.json` file in the same folder as your script.\n\n``` \n{\n \"api\":\n {\n \"tokenUrl\":\"<your-token-url>\",\n \"finbourne_accessUrl\":\"<FINBOURNE-application-url>\",\n \"username\":\"<your-username>\",\n \"password\":\"<your-password>\",\n \"clientId\":\"<your-client-id>\",\n \"clientSecret\":\"<your-client-secret>\",\n }\n}\n```\n\nTo use a long lived Personal Access Token, you must provide a `secrets.json` with the following variables:\n``` \n{\n \"api\":\n {\n \"finbourne_accessUrl\":\"<FINBOURNE-application-url>\",\n \"accessToken\":\"<your-access-token>\"\n }\n}\n```\n\nYou can send your requests to finbourne_access via a proxy, by adding a proxy section to your `secrets.json`. \nIf your proxy has basic auth enabled, you must also supply a `username` and `password` in this section.\n\n``` \n{\n \"api\":\n {\n \"finbourne_accessUrl\":\"<FINBOURNE-application-url>\",\n \"accessToken\":\"<your-access-token>\"\n },\n \"proxy\":\n {\n \"address\":\"<your-proxy-address>\",\n \"username\":\"<your-proxy-username>\",\n \"password\":\"<your-proxy-password>\"\n }\n}\n```\n\n### Using the SDK\n\nPlease follow the [installation procedure](#installation--usage) and then run the following:\n\n```python\n\nimport time\nimport finbourne_access\nfrom finbourne_access.exceptions import ApiException\nfrom pprint import pprint\n\nimport os\nfrom finbourne_access import (\n ApiClientFactory,\n ApplicationMetadataApi,\n EnvironmentVariablesConfigurationLoader,\n SecretsFileConfigurationLoader,\n ArgsConfigurationLoader\n)\n\n# Use the finbourne_access ApiClientFactory to build Api instances with a configured api client\n# By default this will read config from environment variables\n# Then from a secrets.json file found in the current working directory\napi_client_factory = ApiClientFactory()\n\n# The ApiClientFactory can be passed an iterable of configuration loaders to read configuration from\n\napi_url = \"https://fbn-prd.lusid.com/access\"\n# Path to a secrets.json file containing authentication credentials\n# See https://support.lusid.com/knowledgebase/article/KA-01667/en-us\n# for a detailed guide to setting up the SDK make authenticated calls to LUSID APIs\nsecrets_path = os.getenv(\"FBN_SECRETS_PATH\")\napp_name=\"LusidJupyterNotebook\"\n\nconfig_loaders = [\n\tEnvironmentVariablesConfigurationLoader(),\n\tSecretsFileConfigurationLoader(api_secrets_file=secrets_path),\n\tArgsConfigurationLoader(api_url=api_url, app_name=app_name)\n]\napi_client_factory = ApiClientFactory(config_loaders=config_loaders)\n\n\n# The client must configure the authentication and authorization parameters\n# in accordance with the API server security policy.\n\n\n\n# Enter a context with an instance of the ApiClientFactory to ensure the connection pool is closed after use\nasync with api_client_factory:\n # Create an instance of the API class\n api_instance = api_client_factory.build(ApplicationMetadataApi)\n\n try:\n # ListAccessControlledResources: Get resources available for access control\n api_response = await api_instance.list_access_controlled_resources()\n print(\"The response of ApplicationMetadataApi->list_access_controlled_resources:\\n\")\n pprint(api_response)\n except ApiException as e:\n print(\"Exception when calling ApplicationMetadataApi->list_access_controlled_resources: %s\\n\" % e)\n\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *https://fbn-prd.lusid.com/access*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*ApplicationMetadataApi* | [**list_access_controlled_resources**](docs/ApplicationMetadataApi.md#list_access_controlled_resources) | **GET** /api/metadata/access/resources | ListAccessControlledResources: Get resources available for access control\n*PoliciesApi* | [**add_to_policy_collection**](docs/PoliciesApi.md#add_to_policy_collection) | **POST** /api/policycollections/{code}/add | AddToPolicyCollection: Add To PolicyCollection\n*PoliciesApi* | [**create_policy**](docs/PoliciesApi.md#create_policy) | **POST** /api/policies | CreatePolicy: Create Policy\n*PoliciesApi* | [**create_policy_collection**](docs/PoliciesApi.md#create_policy_collection) | **POST** /api/policycollections | CreatePolicyCollection: Create PolicyCollection\n*PoliciesApi* | [**delete_policy**](docs/PoliciesApi.md#delete_policy) | **DELETE** /api/policies/{code} | DeletePolicy: Delete Policy\n*PoliciesApi* | [**delete_policy_collection**](docs/PoliciesApi.md#delete_policy_collection) | **DELETE** /api/policycollections/{code} | DeletePolicyCollection: Delete PolicyCollection\n*PoliciesApi* | [**evaluate**](docs/PoliciesApi.md#evaluate) | **POST** /api/me | Evaluate: Run one or more evaluations\n*PoliciesApi* | [**get_own_policies**](docs/PoliciesApi.md#get_own_policies) | **GET** /api/me | GetOwnPolicies: Get policies of requesting user\n*PoliciesApi* | [**get_policy**](docs/PoliciesApi.md#get_policy) | **GET** /api/policies/{code} | GetPolicy: Get Policy\n*PoliciesApi* | [**get_policy_collection**](docs/PoliciesApi.md#get_policy_collection) | **GET** /api/policycollections/{code} | GetPolicyCollection: Get PolicyCollection\n*PoliciesApi* | [**list_policies**](docs/PoliciesApi.md#list_policies) | **GET** /api/policies | [EARLY ACCESS] ListPolicies: List Policies\n*PoliciesApi* | [**list_policy_collections**](docs/PoliciesApi.md#list_policy_collections) | **GET** /api/policycollections | ListPolicyCollections: List PolicyCollections\n*PoliciesApi* | [**page_policies**](docs/PoliciesApi.md#page_policies) | **GET** /api/policies/page | [EARLY ACCESS] PagePolicies: Page Policies\n*PoliciesApi* | [**page_policy_collections**](docs/PoliciesApi.md#page_policy_collections) | **GET** /api/policycollections/page | PagePolicyCollections: Page PolicyCollections\n*PoliciesApi* | [**remove_from_policy_collection**](docs/PoliciesApi.md#remove_from_policy_collection) | **POST** /api/policycollections/{code}/remove | RemoveFromPolicyCollection: Remove From PolicyCollection\n*PoliciesApi* | [**update_policy**](docs/PoliciesApi.md#update_policy) | **PUT** /api/policies/{code} | UpdatePolicy: Update Policy\n*PoliciesApi* | [**update_policy_collection**](docs/PoliciesApi.md#update_policy_collection) | **PUT** /api/policycollections/{code} | UpdatePolicyCollection: Update PolicyCollection\n*PolicyTemplatesApi* | [**create_policy_template**](docs/PolicyTemplatesApi.md#create_policy_template) | **POST** /api/policytemplates | [EXPERIMENTAL] CreatePolicyTemplate: Create a Policy Template\n*PolicyTemplatesApi* | [**delete_policy_template**](docs/PolicyTemplatesApi.md#delete_policy_template) | **DELETE** /api/policytemplates/{code} | [EXPERIMENTAL] DeletePolicyTemplate: Deleting a policy template\n*PolicyTemplatesApi* | [**generate_policy_from_template**](docs/PolicyTemplatesApi.md#generate_policy_from_template) | **POST** /api/policytemplates/$generatepolicy | [EXPERIMENTAL] GeneratePolicyFromTemplate: Generate policy from template\n*PolicyTemplatesApi* | [**get_policy_template**](docs/PolicyTemplatesApi.md#get_policy_template) | **GET** /api/policytemplates/{code} | [EXPERIMENTAL] GetPolicyTemplate: Retrieving one Policy Template\n*PolicyTemplatesApi* | [**list_policy_templates**](docs/PolicyTemplatesApi.md#list_policy_templates) | **GET** /api/policytemplates | [EXPERIMENTAL] ListPolicyTemplates: List Policy Templates\n*PolicyTemplatesApi* | [**update_policy_template**](docs/PolicyTemplatesApi.md#update_policy_template) | **PUT** /api/policytemplates/{code} | [EXPERIMENTAL] UpdatePolicyTemplate: Update a Policy Template\n*RolesApi* | [**add_policy_collection_to_role**](docs/RolesApi.md#add_policy_collection_to_role) | **POST** /api/roles/{scope}/{code}/policycollections | AddPolicyCollectionToRole: Add policy collections to a role\n*RolesApi* | [**create_role**](docs/RolesApi.md#create_role) | **POST** /api/roles | CreateRole: Create Role\n*RolesApi* | [**delete_role**](docs/RolesApi.md#delete_role) | **DELETE** /api/roles/{code} | DeleteRole: Delete Role\n*RolesApi* | [**get_role**](docs/RolesApi.md#get_role) | **GET** /api/roles/{code} | GetRole: Get Role\n*RolesApi* | [**list_roles**](docs/RolesApi.md#list_roles) | **GET** /api/roles | ListRoles: List Roles\n*RolesApi* | [**remove_policy_collection_from_role**](docs/RolesApi.md#remove_policy_collection_from_role) | **DELETE** /api/roles/{scope}/{code}/policycollections/{policycollectionscope}/{policycollectioncode} | RemovePolicyCollectionFromRole: Remove policy collection from role\n*RolesApi* | [**update_role**](docs/RolesApi.md#update_role) | **PUT** /api/roles/{code} | UpdateRole: Update Role\n*UserRolesApi* | [**add_policy_collection_to_user_role**](docs/UserRolesApi.md#add_policy_collection_to_user_role) | **POST** /api/userroles/{userid}/policycollections | AddPolicyCollectionToUserRole: Add a policy collection to a user-role\n*UserRolesApi* | [**add_policy_to_user_role**](docs/UserRolesApi.md#add_policy_to_user_role) | **POST** /api/userroles/{userid}/policies | AddPolicyToUserRole: Add a policy to a user-role\n*UserRolesApi* | [**create_user_role**](docs/UserRolesApi.md#create_user_role) | **POST** /api/userroles | CreateUserRole: Create a user-role\n*UserRolesApi* | [**delete_user_role**](docs/UserRolesApi.md#delete_user_role) | **DELETE** /api/userroles/{userid} | DeleteUserRole: Delete a user-role\n*UserRolesApi* | [**get_user_role**](docs/UserRolesApi.md#get_user_role) | **GET** /api/userroles/{userid} | GetUserRole: Get a user-role\n*UserRolesApi* | [**list_user_roles**](docs/UserRolesApi.md#list_user_roles) | **GET** /api/userroles | ListUserRoles: List user-roles\n*UserRolesApi* | [**remove_policy_collection_from_user_role**](docs/UserRolesApi.md#remove_policy_collection_from_user_role) | **DELETE** /api/userroles/{userid}/policycollections/{policyCollectionScope}/{policyCollectionCode} | RemovePolicyCollectionFromUserRole: Remove a policy collection from a user-role\n*UserRolesApi* | [**remove_policy_from_user_role**](docs/UserRolesApi.md#remove_policy_from_user_role) | **DELETE** /api/userroles/{userid}/policies/{policyScope}/{policyCode} | RemovePolicyFromUserRole: Remove a policy from a user-role\n*UserRolesApi* | [**update_user_role**](docs/UserRolesApi.md#update_user_role) | **POST** /api/userroles/{userid}/update | UpdateUserRole: Update a user-role\n\n\n## Documentation For Models\n\n - [AccessControlledAction](docs/AccessControlledAction.md)\n - [AccessControlledResource](docs/AccessControlledResource.md)\n - [ActionId](docs/ActionId.md)\n - [AddPolicyCollectionToRoleRequest](docs/AddPolicyCollectionToRoleRequest.md)\n - [AddPolicyToRoleRequest](docs/AddPolicyToRoleRequest.md)\n - [AddToPolicyCollectionRequest](docs/AddToPolicyCollectionRequest.md)\n - [AsAtPredicateContract](docs/AsAtPredicateContract.md)\n - [AsAtRangeForSpec](docs/AsAtRangeForSpec.md)\n - [AsAtRelative](docs/AsAtRelative.md)\n - [AttachedPolicyDefinitionResponse](docs/AttachedPolicyDefinitionResponse.md)\n - [DateQuality](docs/DateQuality.md)\n - [DateUnit](docs/DateUnit.md)\n - [EffectiveDateHasQuality](docs/EffectiveDateHasQuality.md)\n - [EffectiveDateRelative](docs/EffectiveDateRelative.md)\n - [EffectiveRange](docs/EffectiveRange.md)\n - [EntitlementMetadata](docs/EntitlementMetadata.md)\n - [EvaluationRequest](docs/EvaluationRequest.md)\n - [EvaluationResponse](docs/EvaluationResponse.md)\n - [EvaluationResult](docs/EvaluationResult.md)\n - [ForSpec](docs/ForSpec.md)\n - [GeneratePolicyFromTemplateRequest](docs/GeneratePolicyFromTemplateRequest.md)\n - [GeneratedPolicyComponents](docs/GeneratedPolicyComponents.md)\n - [Grant](docs/Grant.md)\n - [HowSpec](docs/HowSpec.md)\n - [IdSelectorDefinition](docs/IdSelectorDefinition.md)\n - [IdentifierPartSchema](docs/IdentifierPartSchema.md)\n - [IfExpression](docs/IfExpression.md)\n - [IfFeatureChainExpression](docs/IfFeatureChainExpression.md)\n - [IfIdentityClaimExpression](docs/IfIdentityClaimExpression.md)\n - [IfIdentityScopeExpression](docs/IfIdentityScopeExpression.md)\n - [IfRequestHeaderExpression](docs/IfRequestHeaderExpression.md)\n - [KeyValuePairOfStringToString](docs/KeyValuePairOfStringToString.md)\n - [Link](docs/Link.md)\n - [LusidProblemDetails](docs/LusidProblemDetails.md)\n - [LusidValidationProblemDetails](docs/LusidValidationProblemDetails.md)\n - [MatchAllSelectorDefinition](docs/MatchAllSelectorDefinition.md)\n - [MetadataExpression](docs/MetadataExpression.md)\n - [MetadataSelectorDefinition](docs/MetadataSelectorDefinition.md)\n - [NonTransitiveSupervisorRoleResource](docs/NonTransitiveSupervisorRoleResource.md)\n - [Operator](docs/Operator.md)\n - [PointInTimeSpecification](docs/PointInTimeSpecification.md)\n - [PolicyCollectionCreationRequest](docs/PolicyCollectionCreationRequest.md)\n - [PolicyCollectionId](docs/PolicyCollectionId.md)\n - [PolicyCollectionResponse](docs/PolicyCollectionResponse.md)\n - [PolicyCollectionUpdateRequest](docs/PolicyCollectionUpdateRequest.md)\n - [PolicyCreationRequest](docs/PolicyCreationRequest.md)\n - [PolicyId](docs/PolicyId.md)\n - [PolicyIdRoleResource](docs/PolicyIdRoleResource.md)\n - [PolicyResponse](docs/PolicyResponse.md)\n - [PolicySelectorDefinition](docs/PolicySelectorDefinition.md)\n - [PolicyTemplateCreationRequest](docs/PolicyTemplateCreationRequest.md)\n - [PolicyTemplateResponse](docs/PolicyTemplateResponse.md)\n - [PolicyTemplateUpdateRequest](docs/PolicyTemplateUpdateRequest.md)\n - [PolicyTemplatedSelector](docs/PolicyTemplatedSelector.md)\n - [PolicyType](docs/PolicyType.md)\n - [PolicyUpdateRequest](docs/PolicyUpdateRequest.md)\n - [RelativeToDateTime](docs/RelativeToDateTime.md)\n - [RemoveFromPolicyCollectionRequest](docs/RemoveFromPolicyCollectionRequest.md)\n - [RequestDetails](docs/RequestDetails.md)\n - [RequestedActionKey](docs/RequestedActionKey.md)\n - [ResourceDetails](docs/ResourceDetails.md)\n - [ResourceListOfAccessControlledResource](docs/ResourceListOfAccessControlledResource.md)\n - [ResourceListOfPolicyCollectionResponse](docs/ResourceListOfPolicyCollectionResponse.md)\n - [ResourceListOfPolicyResponse](docs/ResourceListOfPolicyResponse.md)\n - [ResourceListOfPolicyTemplateResponse](docs/ResourceListOfPolicyTemplateResponse.md)\n - [ResourceListOfUserRoleResponse](docs/ResourceListOfUserRoleResponse.md)\n - [RoleCreationRequest](docs/RoleCreationRequest.md)\n - [RoleId](docs/RoleId.md)\n - [RoleResourceRequest](docs/RoleResourceRequest.md)\n - [RoleResponse](docs/RoleResponse.md)\n - [RoleUpdateRequest](docs/RoleUpdateRequest.md)\n - [SelectorDefinition](docs/SelectorDefinition.md)\n - [TemplateMetadata](docs/TemplateMetadata.md)\n - [TemplateSelection](docs/TemplateSelection.md)\n - [TextOperator](docs/TextOperator.md)\n - [UserRoleCreationRequest](docs/UserRoleCreationRequest.md)\n - [UserRoleResponse](docs/UserRoleResponse.md)\n - [UserRoleUpdateRequest](docs/UserRoleUpdateRequest.md)\n - [WhenSpec](docs/WhenSpec.md)\n\n\n<a id=\"documentation-for-authorization\"></a>\n## Documentation For Authorization\n\n\nAuthentication schemes defined for the API:\n<a id=\"oauth2\"></a>\n### oauth2\n\n- **Type**: OAuth\n- **Flow**: implicit\n- **Authorization URL**: https://lusid.okta.com/oauth2/default/v1/authorize\n- **Scopes**: N/A\n\n\n## Author\n\ninfo@finbourne.com\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "FINBOURNE Access Management API",
"version": "2.1.29",
"project_urls": {
"Homepage": "https://github.com/finbourne/finbourne-access-sdk-python",
"Repository": "https://github.com/finbourne/finbourne-access-sdk-python"
},
"split_keywords": [
"openapi",
" openapi-generator",
" finbourne access management api",
" finbourne-access-sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c743a1ff7454d34e6ffa3402986f675bd5274394096ab3952e6772474583b19a",
"md5": "09e8cb31c64df3fade1d3d9ad0b371b4",
"sha256": "13105a8be51d3315faedacbf9f3767e03a06728535c4872e4d146d66cbc07af9"
},
"downloads": -1,
"filename": "finbourne_access_sdk-2.1.29-py3-none-any.whl",
"has_sig": false,
"md5_digest": "09e8cb31c64df3fade1d3d9ad0b371b4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 171549,
"upload_time": "2024-04-24T11:17:20",
"upload_time_iso_8601": "2024-04-24T11:17:20.961388Z",
"url": "https://files.pythonhosted.org/packages/c7/43/a1ff7454d34e6ffa3402986f675bd5274394096ab3952e6772474583b19a/finbourne_access_sdk-2.1.29-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51296ad08ff7b7e551a3f86f8fd4fee3fda571327708789f1a34ae50b9e160c8",
"md5": "e25b565968a2bd944d9a633afdc72d85",
"sha256": "81902febfbd67dfb8cf9801bb2b4eaa2b827485e43dba2957f20e50dc92b8b67"
},
"downloads": -1,
"filename": "finbourne_access_sdk-2.1.29.tar.gz",
"has_sig": false,
"md5_digest": "e25b565968a2bd944d9a633afdc72d85",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 81941,
"upload_time": "2024-04-24T11:17:28",
"upload_time_iso_8601": "2024-04-24T11:17:28.074678Z",
"url": "https://files.pythonhosted.org/packages/51/29/6ad08ff7b7e551a3f86f8fd4fee3fda571327708789f1a34ae50b9e160c8/finbourne_access_sdk-2.1.29.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-24 11:17:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "finbourne",
"github_project": "finbourne-access-sdk-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "finbourne-access-sdk"
}