Managing Tenants
Tenants, like namespaces, can be managed using the admin API. There are currently two configurable aspects of tenants:
- Admin roles
- Allowed clusters
Tenant resources​
List​
You can list all of the tenants associated with an instance.
- pulsar-admin
- REST API
- JAVA
Use the list
subcommand.
$ pulsar-admin tenants list
my-tenant-1
my-tenant-2
admin.tenants().getTenants();
Create​
You can create a new tenant.
- pulsar-admin
- REST API
- JAVA
Use the create
subcommand:
$ pulsar-admin tenants create my-tenant
When creating a tenant, you can assign admin roles using the -r
/--admin-roles
flag. You can specify multiple roles as a comma-separated list. Here are some examples:
$ pulsar-admin tenants create my-tenant \
--admin-roles role1,role2,role3
$ pulsar-admin tenants create my-tenant \
-r role1
admin.tenants().createTenant(tenantName, tenantInfo);
Get configuration​
You can fetch the configuration for an existing tenant at any time.
- pulsar-admin
- REST API
- JAVA
Use the get
subcommand and specify the name of the tenant. Here's an example:
$ pulsar-admin tenants get my-tenant
{
"adminRoles": [
"admin1",
"admin2"
],
"allowedClusters": [
"cl1",
"cl2"
]
}
admin.tenants().getTenantInfo(tenantName);
Delete​
Tenants can be deleted from a Pulsar instance.
- pulsar-admin
- REST API
- JAVA
Use the delete
subcommand and specify the name of the tenant.
$ pulsar-admin tenants delete my-tenant
admin.Tenants().deleteTenant(tenantName);
Update​
You can update a tenant's configuration.
- pulsar-admin
- REST API
- JAVA
Use the update
subcommand.
$ pulsar-admin tenants update my-tenant
admin.tenants().updateTenant(tenantName, tenantInfo);