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
Built Distribution
Close
Hashes for cdk_proxy_api_client-0.2.0.post0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dafde83ea0abc393886382c2eaff3439a9d62d8ed4d3618676008c7423d94c5f |
|
MD5 | ee2b102aadc745214f9e85e3c1f481a8 |
|
BLAKE2b-256 | 9bf04f4247ff32bf3b266e49e19313ec93d3d1eeb368697c783b2b0adb804994 |
Close
Hashes for cdk_proxy_api_client-0.2.0.post0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ffb3f731156b62fbf85b2a2b248924180f687ea723c34caceff94473990753e |
|
MD5 | 512c851d2b766645d26aafa5445c9c62 |
|
BLAKE2b-256 | db22ede8561bba001ef6d426e18f19bf45914e079663a768e83598d88f0c8553 |