Conduktor Proxy API Client
Project description
cdk-proxy-api-client
API Client library to interact with Conduktor Proxy
Current version: v1beta1
Getting started
First, create a Proxy Client
from cdk_proxy_api_client.proxy_api import ApiClient, ProxyClient
api = ApiClient("localhost", port=8888, username="superUser", password="superUser")
proxy_client = ProxyClient(api)
Features
Note: we assume you are re-using the proxy_client
as shown above.
- Create new Token for a tenant
from cdk_proxy_api_client.admin_auth import AdminAuth
admin = AdminAuth(proxy_client)
admin.create_tenant_credentials("a_tenant_name")
- List all topic mappings for a tenant
from cdk_proxy_api_client.proxy_api import Multitenancy
tenants_mgmt = Multitenancy(proxy_client)
tenants = tenants_mgmt.list_tenants(as_list=True)
- Create a new mapping for a tenant
- Delete a tenant - topic mapping
- Delete all topic mappings for a tenant
from cdk_proxy_api_client.tenant_mappings import TenantTopicMappings
tenant_mappings_mgmt = TenantTopicMappings(proxy_client)
tenant_mappings_mgmt.create_tenant_topic_mapping(
"tenant_name", "logical_name", "real_name"
)
tenant_mappings_mgmt.delete_tenant_topic_mapping("tenant_name", "logical_name")
Testing
The testing is for now very manual. See e2e_testing.py
Pytest will be added later on
Tools & CLI
To simplify the usage of the client, you can use some CLI commands
usage: CDK Proxy CLI [-h] [--format OUTPUT_FORMAT] --username USERNAME --password PASSWORD --url URL {auth,tenant-topic-mappings,tenants} ...
positional arguments:
{auth,tenant-topic-mappings,tenants}
Resources to manage
auth Manages proxy tenant token
tenant-topic-mappings
Manages tenant mappings
tenants Manage tenants
optional arguments:
-h, --help show this help message and exit
--format OUTPUT_FORMAT, --output-format OUTPUT_FORMAT
output format
--username USERNAME
--password PASSWORD
--url URL
cdk-cli tenant-topic-mappings
usage: CDK Proxy CLI tenant-topic-mappings [-h] {list,create,import-from-tenants-config,import-from-tenant,delete-all-mappings,delete-topic-mapping} ...
positional arguments:
{list,create,import-from-tenants-config,import-from-tenant,delete-all-mappings,delete-topic-mapping}
Mappings management
list List tenant mappings
create Create a new tenant mapping
import-from-tenants-config
Create topic mappings from existing tenants
import-from-tenant Import all topics from a existing tenant
delete-all-mappings
Delete all topics mappings for a given tenant
delete-topic-mapping
Delete a topic mapping for a given tenant
optional arguments:
-h, --help show this help message and exit
import-from-tenants-config
This command uses a configuration file that will be used to propagate mappings from one/multiple existing tenants to another.
example file:
---
# example.config.yaml
tenant_name: application-01
ignore_duplicates_conflict: true
mappings:
- logicalTopicName: data.stock
physicalTopicName: data.stock
readOnly: true
cdk-cli --username ${PROXY_USERNAME} \
--password ${PROXY_PASSWORD} \
--url ${PROXY_URL} \
tenant-topic-mappings import-from-tenants-config -f example.config.yaml
cdk-cli auth
cdk-cli auth --help
usage: CDK Proxy CLI auth [-h] {create} ...
positional arguments:
{create} Token actions to execute
create Create a new tenant proxy JWT Token
optional arguments:
-h, --help show this help message and exit
cdk-cli-create-tenant-token
Create a new user tenant token
cdk-cli \
--username ${PROXY_USERNAME} \
--password ${PROXY_PASSWORD} \
--url ${PROXY_URL} \
auth create \
--lifetime-in-seconds 3600 \
--tenant-name js-fin-panther-stg
cdk-cli tenants
Manage tenants
cdk-cli tenants --help
usage: CDK Proxy CLI tenants [-h] {list} ...
positional arguments:
{list} Manage tenants
list List tenants
optional arguments:
-h, --help show this help message and exit
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
cdk_proxy_api_client-0.3.0.tar.gz
(20.5 kB
view hashes)
Built Distribution
Close
Hashes for cdk_proxy_api_client-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9a234ae35a78de5a23ce65a1006c90910ded655c08998189e620fd3f51e5af0 |
|
MD5 | f376284d97b89549aa8ed1ba0f74d600 |
|
BLAKE2b-256 | 6e17faebe9ebc19ab72fe7804d0dd9db56f64339bbdc159d34451db64f74f760 |
Close
Hashes for cdk_proxy_api_client-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb2a21ff717ac4b25ac23376839781b9b85f3e9bd8ea971c75a618337fe45521 |
|
MD5 | d41006ca34b0227921745dc6bbdd1555 |
|
BLAKE2b-256 | 885428adaa4e5cd36f57cc486daadfc773a43d2c061480ea20e5ab3c228a21c2 |