Documentation
¶
Index ¶
Constants ¶
const ( DefaultWebServiceURL = "http://localhost:8080" DefaultHTTPTimeOutDuration = 5 * time.Minute ReleaseVersion = "None" )
const ( PublishTimeHeader = "X-Pulsar-Publish-Time" BatchHeader = "X-Pulsar-Num-Batch-Message" // PropertyPrefix is part of the old protocol for message properties. PropertyPrefix = "X-Pulsar-Property-" // PropertyHeader is part of the new protocol introduced in SNIP-279 // https://github.com/apache/pulsar/pull/20627 // The value is a JSON string representing the properties. PropertyHeader = "X-Pulsar-Property" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BrokerStats ¶
type BrokerStats interface {
// GetMetrics returns Monitoring metrics
GetMetrics() ([]utils.Metrics, error)
// GetMetricsWithContext returns Monitoring metrics
GetMetricsWithContext(context.Context) ([]utils.Metrics, error)
// GetMBeans requests JSON string server mbean dump
GetMBeans() ([]utils.Metrics, error)
// GetMBeansWithContext requests JSON string server mbean dump
GetMBeansWithContext(context.Context) ([]utils.Metrics, error)
// GetTopics returns JSON string topics stats
GetTopics() (string, error)
// GetTopicsWithContext returns JSON string topics stats
GetTopicsWithContext(context.Context) (string, error)
// GetLoadReport returns load report of broker
GetLoadReport() (*utils.LocalBrokerData, error)
// GetLoadReport returns load report of broker
GetLoadReportWithContext(context.Context) (*utils.LocalBrokerData, error)
// GetAllocatorStats returns stats from broker
GetAllocatorStats(allocatorName string) (*utils.AllocatorStats, error)
// GetAllocatorStatsWithContext returns stats from broker
GetAllocatorStatsWithContext(ctx context.Context, allocatorName string) (*utils.AllocatorStats, error)
}
BrokerStats is admin interface for broker stats management
type Brokers ¶
type Brokers interface {
// GetListActiveBrokers returns the list of active brokers in the local cluster.
GetListActiveBrokers() ([]string, error)
// GetListActiveBrokersWithContext returns the list of active brokers in the local cluster.
GetListActiveBrokersWithContext(context.Context) ([]string, error)
// GetActiveBrokers returns the list of active brokers in the cluster.
GetActiveBrokers(cluster string) ([]string, error)
// GetActiveBrokersWithContext returns the list of active brokers in the cluster.
GetActiveBrokersWithContext(ctx context.Context, cluster string) ([]string, error)
// GetDynamicConfigurationNames returns list of updatable configuration name
GetDynamicConfigurationNames() ([]string, error)
// GetDynamicConfigurationNamesWithContext returns list of updatable configuration name
GetDynamicConfigurationNamesWithContext(context.Context) ([]string, error)
// GetOwnedNamespaces returns the map of owned namespaces and their status from a single broker in the cluster
GetOwnedNamespaces(cluster, brokerURL string) (map[string]utils.NamespaceOwnershipStatus, error)
// GetOwnedNamespaces returns the map of owned namespaces and their status from a single broker in the cluster
GetOwnedNamespacesWithContext(
ctx context.Context,
cluster,
brokerURL string,
) (map[string]utils.NamespaceOwnershipStatus, error)
// UpdateDynamicConfiguration updates dynamic configuration value in to Zk that triggers watch on
// brokers and all brokers can update {@link ServiceConfiguration} value locally
UpdateDynamicConfiguration(configName, configValue string) error
// UpdateDynamicConfigurationWithContext updates dynamic configuration value in to Zk that triggers watch on
// brokers and all brokers can update {@link ServiceConfiguration} value locally
UpdateDynamicConfigurationWithContext(ctx context.Context, configName, configValue string) error
// DeleteDynamicConfiguration deletes dynamic configuration value in to Zk. It will not impact current value
// in broker but next time when broker restarts, it applies value from configuration file only.
DeleteDynamicConfiguration(configName string) error
// DeleteDynamicConfigurationWithContext deletes dynamic configuration value in to Zk. It will not impact current value
// in broker but next time when broker restarts, it applies value from configuration file only.
DeleteDynamicConfigurationWithContext(ctx context.Context, configName string) error
// GetRuntimeConfigurations returns values of runtime configuration
GetRuntimeConfigurations() (map[string]string, error)
// GetRuntimeConfigurationsWithContext returns values of runtime configuration
GetRuntimeConfigurationsWithContext(context.Context) (map[string]string, error)
// GetInternalConfigurationData returns the internal configuration data
GetInternalConfigurationData() (*utils.InternalConfigurationData, error)
// GetInternalConfigurationDataWithContext returns the internal configuration data
GetInternalConfigurationDataWithContext(context.Context) (*utils.InternalConfigurationData, error)
// GetAllDynamicConfigurations returns values of all overridden dynamic-configs
GetAllDynamicConfigurations() (map[string]string, error)
// GetAllDynamicConfigurationsWithContext returns values of all overridden dynamic-configs
GetAllDynamicConfigurationsWithContext(context.Context) (map[string]string, error)
// Deprecated: Use HealthCheckWithTopicVersion instead
HealthCheck() error
// Deprecated: Use HealthCheckWithTopicVersionWithContext instead
HealthCheckWithContext(context.Context) error
// HealthCheckWithTopicVersion runs a health check on the broker
HealthCheckWithTopicVersion(utils.TopicVersion) error
// HealthCheckWithTopicVersionWithContext runs a health check on the broker
HealthCheckWithTopicVersionWithContext(context.Context, utils.TopicVersion) error
// GetLeaderBroker get the information of the leader broker.
GetLeaderBroker() (utils.BrokerInfo, error)
// GetLeaderBrokerWithContext returns the information of the leader broker.
GetLeaderBrokerWithContext(context.Context) (utils.BrokerInfo, error)
}
Brokers is admin interface for brokers management
type Client ¶
type Client interface {
Clusters() Clusters
Functions() Functions
Tenants() Tenants
Topics() Topics
Subscriptions() Subscriptions
Sources() Sources
Sinks() Sinks
Namespaces() Namespaces
Schemas() Schema
NsIsolationPolicy() NsIsolationPolicy
Brokers() Brokers
BrokerStats() BrokerStats
ResourceQuotas() ResourceQuotas
FunctionsWorker() FunctionsWorker
Packages() Packages
}
Client provides a client to the Pulsar Restful API
type Clusters ¶
type Clusters interface {
// List returns the list of clusters
List() ([]string, error)
// ListWithContext returns the list of clusters
ListWithContext(context.Context) ([]string, error)
// Get the configuration data for the specified cluster
Get(string) (utils.ClusterData, error)
// GetWithContext returns the configuration data for the specified cluster
GetWithContext(context.Context, string) (utils.ClusterData, error)
// Create a new cluster
Create(utils.ClusterData) error
// CreateWithContext creates a new cluster
CreateWithContext(context.Context, utils.ClusterData) error
// Delete an existing cluster
Delete(string) error
// DeleteWithContext deletes an existing cluster
DeleteWithContext(context.Context, string) error
// Update the configuration for a cluster
Update(utils.ClusterData) error
// UpdateWithContext updates the configuration for a cluster
UpdateWithContext(context.Context, utils.ClusterData) error
// UpdatePeerClusters updates peer cluster names.
UpdatePeerClusters(string, []string) error
// UpdatePeerClustersWithContext updates peer cluster names.
UpdatePeerClustersWithContext(context.Context, string, []string) error
// GetPeerClusters returns peer-cluster names
GetPeerClusters(string) ([]string, error)
// GetPeerClusters returns peer-cluster names
GetPeerClustersWithContext(context.Context, string) ([]string, error)
// CreateFailureDomain creates a domain into cluster
CreateFailureDomain(utils.FailureDomainData) error
// CreateFailureDomain creates a domain into cluster
CreateFailureDomainWithContext(context.Context, utils.FailureDomainData) error
// GetFailureDomain returns the domain registered into a cluster
GetFailureDomain(clusterName, domainName string) (utils.FailureDomainData, error)
// GetFailureDomain returns the domain registered into a cluster
GetFailureDomainWithContext(ctx context.Context, clusterName, domainName string) (utils.FailureDomainData, error)
// ListFailureDomains returns all registered domains in cluster
ListFailureDomains(string) (utils.FailureDomainMap, error)
// ListFailureDomains returns all registered domains in cluster
ListFailureDomainsWithContext(context.Context, string) (utils.FailureDomainMap, error)
// DeleteFailureDomain deletes a domain in cluster
DeleteFailureDomain(utils.FailureDomainData) error
// DeleteFailureDomain deletes a domain in cluster
DeleteFailureDomainWithContext(context.Context, utils.FailureDomainData) error
// UpdateFailureDomain updates a domain into cluster
UpdateFailureDomain(utils.FailureDomainData) error
// UpdateFailureDomain updates a domain into cluster
UpdateFailureDomainWithContext(context.Context, utils.FailureDomainData) error
}
Clusters is admin interface for clusters management
type Functions ¶
type Functions interface {
// CreateFunc create a new function.
CreateFunc(data *utils.FunctionConfig, fileName string) error
// CreateFuncWithContext create a new function.
CreateFuncWithContext(ctx context.Context, data *utils.FunctionConfig, fileName string) error
// CreateFuncWithURL creates a new function by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
// eg:
// File: file:/dir/fileName.jar
// Http: http://www.repo.com/fileName.jar
//
// @param functionConfig
// the function configuration object
// @param pkgURL
// url from which pkg can be downloaded
CreateFuncWithURL(data *utils.FunctionConfig, pkgURL string) error
// CreateFuncWithURLWithContext creates a new function by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
// eg:
// File: file:/dir/fileName.jar
// Http: http://www.repo.com/fileName.jar
//
// @param ctx
// context used for the request
// @param functionConfig
// the function configuration object
// @param pkgURL
// url from which pkg can be downloaded
CreateFuncWithURLWithContext(ctx context.Context, data *utils.FunctionConfig, pkgURL string) error
// StopFunction stops all function instances
StopFunction(tenant, namespace, name string) error
// StopFunctionWithContext stops all function instances
StopFunctionWithContext(ctx context.Context, tenant, namespace, name string) error
// StopFunctionWithID stops function instance
StopFunctionWithID(tenant, namespace, name string, instanceID int) error
// StopFunctionWithIDWithContext stops function instance
StopFunctionWithIDWithContext(ctx context.Context, tenant, namespace, name string, instanceID int) error
// DeleteFunction deletes an existing function
DeleteFunction(tenant, namespace, name string) error
// DeleteFunctionWithContext deletes an existing function
DeleteFunctionWithContext(ctx context.Context, tenant, namespace, name string) error
// Download Function Code
// @param destinationFile
// file where data should be downloaded to
// @param path
// Path where data is located
DownloadFunction(path, destinationFile string) error
// Download Function Code
// @param ctx
// context used for the request
// @param destinationFile
// file where data should be downloaded to
// @param path
// Path where data is located
DownloadFunctionWithContext(ctx context.Context, path, destinationFile string) error
// Download Function Code
// @param destinationFile
// file where data should be downloaded to
// @param tenant
// Tenant name
// @param namespace
// Namespace name
// @param function
// Function name
DownloadFunctionByNs(destinationFile, tenant, namespace, function string) error
// Download Function Code
// @param ctx
// context used for the request
// @param destinationFile
// file where data should be downloaded to
// @param tenant
// Tenant name
// @param namespace
// Namespace name
// @param function
// Function name
DownloadFunctionByNsWithContext(ctx context.Context, destinationFile, tenant, namespace, function string) error
// StartFunction starts all function instances
StartFunction(tenant, namespace, name string) error
// StartFunctionWithContext starts all function instances
StartFunctionWithContext(ctx context.Context, tenant, namespace, name string) error
// StartFunctionWithID starts function instance
StartFunctionWithID(tenant, namespace, name string, instanceID int) error
// StartFunctionWithIDWithContext starts function instance
StartFunctionWithIDWithContext(ctx context.Context, tenant, namespace, name string, instanceID int) error
// RestartFunction restart all function instances
RestartFunction(tenant, namespace, name string) error
// RestartFunctionWithContext restart all function instances
RestartFunctionWithContext(ctx context.Context, tenant, namespace, name string) error
// RestartFunctionWithID restart function instance
RestartFunctionWithID(tenant, namespace, name string, instanceID int) error
// RestartFunctionWithIDWithContext restart function instance
RestartFunctionWithIDWithContext(ctx context.Context, tenant, namespace, name string, instanceID int) error
// GetFunctions returns the list of functions
GetFunctions(tenant, namespace string) ([]string, error)
// GetFunctionsWithContext returns the list of functions
GetFunctionsWithContext(ctx context.Context, tenant, namespace string) ([]string, error)
// GetFunction returns the configuration for the specified function
GetFunction(tenant, namespace, name string) (utils.FunctionConfig, error)
// GetFunctionWithContext returns the configuration for the specified function
GetFunctionWithContext(ctx context.Context, tenant, namespace, name string) (utils.FunctionConfig, error)
// GetFunctionStatus returns the current status of a function
GetFunctionStatus(tenant, namespace, name string) (utils.FunctionStatus, error)
// GetFunctionStatusWithContext returns the current status of a function
GetFunctionStatusWithContext(ctx context.Context, tenant, namespace, name string) (utils.FunctionStatus, error)
// GetFunctionStatusWithInstanceID returns the current status of a function instance
GetFunctionStatusWithInstanceID(tenant, namespace, name string, instanceID int) (
utils.FunctionInstanceStatusData, error)
// GetFunctionStatusWithInstanceIDWithContext returns the current status of a function instance
GetFunctionStatusWithInstanceIDWithContext(ctx context.Context, tenant, namespace, name string, instanceID int) (
utils.FunctionInstanceStatusData, error)
// GetFunctionStats returns the current stats of a function
GetFunctionStats(tenant, namespace, name string) (utils.FunctionStats, error)
// GetFunctionStatsWithContext returns the current stats of a function
GetFunctionStatsWithContext(ctx context.Context, tenant, namespace, name string) (utils.FunctionStats, error)
// GetFunctionStatsWithInstanceID gets the current stats of a function instance
GetFunctionStatsWithInstanceID(tenant, namespace, name string, instanceID int) (utils.FunctionInstanceStatsData, error)
// GetFunctionStatsWithInstanceIDWithContext gets the current stats of a function instance
GetFunctionStatsWithInstanceIDWithContext(
ctx context.Context,
tenant,
namespace,
name string,
instanceID int,
) (utils.FunctionInstanceStatsData, error)
// GetFunctionState fetches the current state associated with a Pulsar Function
//
// Response Example:
// { "value : 12, version : 2"}
GetFunctionState(tenant, namespace, name, key string) (utils.FunctionState, error)
// GetFunctionStateWithContext fetches the current state associated with a Pulsar Function
//
// Response Example:
// { "value : 12, version : 2"}
GetFunctionStateWithContext(ctx context.Context, tenant, namespace, name, key string) (utils.FunctionState, error)
// PutFunctionState puts the given state associated with a Pulsar Function
PutFunctionState(tenant, namespace, name string, state utils.FunctionState) error
// PutFunctionStateWithContext puts the given state associated with a Pulsar Function
PutFunctionStateWithContext(ctx context.Context, tenant, namespace, name string, state utils.FunctionState) error
// TriggerFunction triggers the function by writing to the input topic
TriggerFunction(tenant, namespace, name, topic, triggerValue, triggerFile string) (string, error)
// TriggerFunctionWithContext triggers the function by writing to the input topic
TriggerFunctionWithContext(
ctx context.Context,
tenant,
namespace,
name,
topic,
triggerValue,
triggerFile string,
) (string, error)
// UpdateFunction updates the configuration for a function.
UpdateFunction(functionConfig *utils.FunctionConfig, fileName string, updateOptions *utils.UpdateOptions) error
// UpdateFunctionWithContext updates the configuration for a function.
UpdateFunctionWithContext(
ctx context.Context,
functionConfig *utils.FunctionConfig,
fileName string,
updateOptions *utils.UpdateOptions,
) error
// UpdateFunctionWithURL updates the configuration for a function.
//
// Update a function by providing url from which fun-pkg can be downloaded. supported url: http/file
// eg:
// File: file:/dir/fileName.jar
// Http: http://www.repo.com/fileName.jar
UpdateFunctionWithURL(functionConfig *utils.FunctionConfig, pkgURL string, updateOptions *utils.UpdateOptions) error
// UpdateFunctionWithURLWithContext updates the configuration for a function.
//
// Update a function by providing url from which fun-pkg can be downloaded. supported url: http/file
// eg:
// File: file:/dir/fileName.jar
// Http: http://www.repo.com/fileName.jar
UpdateFunctionWithURLWithContext(
ctx context.Context,
functionConfig *utils.FunctionConfig,
pkgURL string,
updateOptions *utils.UpdateOptions,
) error
// Upload function to Pulsar
Upload(sourceFile, path string) error
// UploadWithContext function to Pulsar
UploadWithContext(ctx context.Context, sourceFile, path string) error
}
Functions is admin interface for functions management
type FunctionsWorker ¶
type FunctionsWorker interface {
// GetFunctionsStats returns all functions stats on a worker
GetFunctionsStats() ([]*utils.WorkerFunctionInstanceStats, error)
// GetFunctionsStatsWithContext returns all functions stats on a worker
GetFunctionsStatsWithContext(context.Context) ([]*utils.WorkerFunctionInstanceStats, error)
// GetMetrics returns worker metrics
GetMetrics() ([]*utils.Metrics, error)
// GetMetricsWithContext returns worker metrics
GetMetricsWithContext(context.Context) ([]*utils.Metrics, error)
// GetCluster returns all workers belonging to this cluster
GetCluster() ([]*utils.WorkerInfo, error)
// GetClusterWithContext returns all workers belonging to this cluster
GetClusterWithContext(context.Context) ([]*utils.WorkerInfo, error)
// GetClusterLeader returns the leader worker of the cluster
GetClusterLeader() (*utils.WorkerInfo, error)
// GetClusterLeaderWithContext returns the leader worker of the cluster
GetClusterLeaderWithContext(context.Context) (*utils.WorkerInfo, error)
// GetAssignments returns the cluster assignments
GetAssignments() (map[string][]string, error)
// GetAssignmentsWithContext returns the cluster assignments
GetAssignmentsWithContext(context.Context) (map[string][]string, error)
}
type Namespaces ¶
type Namespaces interface {
// GetNamespaces returns the list of all the namespaces for a certain tenant
GetNamespaces(tenant string) ([]string, error)
// GetNamespacesWithContext returns the list of all the namespaces for a certain tenant
GetNamespacesWithContext(ctx context.Context, tenant string) ([]string, error)
// GetTopics returns the list of all the topics under a certain namespace
GetTopics(namespace string) ([]string, error)
// GetTopicsWithContext returns the list of all the topics under a certain namespace
GetTopicsWithContext(ctx context.Context, namespace string) ([]string, error)
// GetPolicies returns the dump all the policies specified for a namespace
GetPolicies(namespace string) (*utils.Policies, error)
// GetPoliciesWithContext returns the dump all the policies specified for a namespace
GetPoliciesWithContext(ctx context.Context, namespace string) (*utils.Policies, error)
// CreateNamespace creates a new empty namespace with no policies attached
CreateNamespace(namespace string) error
// CreateNamespaceWithContext creates a new empty namespace with no policies attached
CreateNamespaceWithContext(ctx context.Context, namespace string) error
// CreateNsWithNumBundles creates a new empty namespace with no policies attached
CreateNsWithNumBundles(namespace string, numBundles int) error
// CreateNsWithNumBundlesWithContext creates a new empty namespace with no policies attached
CreateNsWithNumBundlesWithContext(ctx context.Context, namespace string, numBundles int) error
// CreateNsWithPolices creates a new namespace with the specified policies
CreateNsWithPolices(namespace string, polices utils.Policies) error
// CreateNsWithPolicesWithContext creates a new namespace with the specified policies
CreateNsWithPolicesWithContext(ctx context.Context, namespace string, polices utils.Policies) error
// CreateNsWithBundlesData creates a new empty namespace with no policies attached
CreateNsWithBundlesData(namespace string, bundleData *utils.BundlesData) error
// CreateNsWithBundlesDataWithContext creates a new empty namespace with no policies attached
CreateNsWithBundlesDataWithContext(ctx context.Context, namespace string, bundleData *utils.BundlesData) error
// DeleteNamespace deletes an existing namespace
DeleteNamespace(namespace string) error
// DeleteNamespaceWithContext deletes an existing namespace
DeleteNamespaceWithContext(ctx context.Context, namespace string) error
// DeleteNamespaceBundle deletes an existing bundle in a namespace
DeleteNamespaceBundle(namespace string, bundleRange string) error
// DeleteNamespaceBundleWithContext deletes an existing bundle in a namespace
DeleteNamespaceBundleWithContext(ctx context.Context, namespace string, bundleRange string) error
// SetNamespaceMessageTTL sets the messages Time to Live for all the topics within a namespace
SetNamespaceMessageTTL(namespace string, ttlInSeconds int) error
// SetNamespaceMessageTTLWithContext sets the messages Time to Live for all the topics within a namespace
SetNamespaceMessageTTLWithContext(ctx context.Context, namespace string, ttlInSeconds int) error
// GetNamespaceMessageTTL returns the message TTL for a namespace
GetNamespaceMessageTTL(namespace string) (int, error)
// GetNamespaceMessageTTLWithContext returns the message TTL for a namespace
GetNamespaceMessageTTLWithContext(ctx context.Context, namespace string) (int, error)
// GetRetention returns the retention configuration for a namespace
GetRetention(namespace string) (*utils.RetentionPolicies, error)
// GetRetentionWithContext returns the retention configuration for a namespace
GetRetentionWithContext(ctx context.Context, namespace string) (*utils.RetentionPolicies, error)
// SetRetention sets the retention configuration for all the topics on a namespace
SetRetention(namespace string, policy utils.RetentionPolicies) error
// SetRetentionWithContext sets the retention configuration for all the topics on a namespace
SetRetentionWithContext(ctx context.Context, namespace string, policy utils.RetentionPolicies) error
// GetBacklogQuotaMap returns backlog quota map on a namespace
GetBacklogQuotaMap(namespace string) (map[utils.BacklogQuotaType]utils.BacklogQuota, error)
// GetBacklogQuotaMapWithContext returns backlog quota map on a namespace
GetBacklogQuotaMapWithContext(
ctx context.Context,
namespace string,
) (map[utils.BacklogQuotaType]utils.BacklogQuota, error)
// SetBacklogQuota sets a backlog quota for all the topics on a namespace
SetBacklogQuota(namespace string, backlogQuota utils.BacklogQuota, backlogQuotaType utils.BacklogQuotaType) error
// SetBacklogQuotaWithContext sets a backlog quota for all the topics on a namespace
SetBacklogQuotaWithContext(
ctx context.Context,
namespace string,
backlogQuota utils.BacklogQuota,
backlogQuotaType utils.BacklogQuotaType,
) error
// RemoveBacklogQuota removes a backlog quota policy from a namespace
RemoveBacklogQuota(namespace string) error
// RemoveBacklogQuotaWithContext removes a backlog quota policy from a namespace
RemoveBacklogQuotaWithContext(ctx context.Context, namespace string) error
// GetTopicAutoCreation returns the topic auto-creation config for a namespace
GetTopicAutoCreation(namespace utils.NameSpaceName) (*utils.TopicAutoCreationConfig, error)
// GetTopicAutoCreationWithContext returns the topic auto-creation config for a namespace
GetTopicAutoCreationWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
) (*utils.TopicAutoCreationConfig, error)
// SetTopicAutoCreation sets topic auto-creation config for a namespace, overriding broker settings
SetTopicAutoCreation(namespace utils.NameSpaceName, config utils.TopicAutoCreationConfig) error
// SetTopicAutoCreationWithContext sets topic auto-creation config for a namespace, overriding broker settings
SetTopicAutoCreationWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
config utils.TopicAutoCreationConfig,
) error
// RemoveTopicAutoCreation removes topic auto-creation config for a namespace, defaulting to broker settings
RemoveTopicAutoCreation(namespace utils.NameSpaceName) error
// RemoveTopicAutoCreationWithContext removes topic auto-creation config for a namespace, defaulting to broker settings
RemoveTopicAutoCreationWithContext(ctx context.Context, namespace utils.NameSpaceName) error
// SetSchemaValidationEnforced sets schema validation enforced for namespace
SetSchemaValidationEnforced(namespace utils.NameSpaceName, schemaValidationEnforced bool) error
// SetSchemaValidationEnforcedWithContext sets schema validation enforced for namespace
SetSchemaValidationEnforcedWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
schemaValidationEnforced bool,
) error
// GetSchemaValidationEnforced returns schema validation enforced for namespace
GetSchemaValidationEnforced(namespace utils.NameSpaceName) (bool, error)
// GetSchemaValidationEnforcedWithContext returns schema validation enforced for namespace
GetSchemaValidationEnforcedWithContext(ctx context.Context, namespace utils.NameSpaceName) (bool, error)
// SetSchemaAutoUpdateCompatibilityStrategy sets the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
SetSchemaAutoUpdateCompatibilityStrategy(namespace utils.NameSpaceName,
strategy utils.SchemaAutoUpdateCompatibilityStrategy) error
// SetSchemaAutoUpdateCompatibilityStrategyWithContext sets the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
SetSchemaAutoUpdateCompatibilityStrategyWithContext(ctx context.Context, namespace utils.NameSpaceName,
strategy utils.SchemaAutoUpdateCompatibilityStrategy) error
// GetSchemaAutoUpdateCompatibilityStrategy returns the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
GetSchemaAutoUpdateCompatibilityStrategy(namespace utils.NameSpaceName) (
utils.SchemaAutoUpdateCompatibilityStrategy, error)
// GetSchemaAutoUpdateCompatibilityStrategyWithContext returns the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
GetSchemaAutoUpdateCompatibilityStrategyWithContext(ctx context.Context, namespace utils.NameSpaceName) (
utils.SchemaAutoUpdateCompatibilityStrategy, error)
// SetSchemaCompatibilityStrategy sets the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
SetSchemaCompatibilityStrategy(namespace utils.NameSpaceName,
strategy utils.SchemaCompatibilityStrategy) error
// SetSchemaCompatibilityStrategyWithContext sets the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
SetSchemaCompatibilityStrategyWithContext(ctx context.Context, namespace utils.NameSpaceName,
strategy utils.SchemaCompatibilityStrategy) error
// GetSchemaCompatibilityStrategy returns the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
GetSchemaCompatibilityStrategy(namespace utils.NameSpaceName) (utils.SchemaCompatibilityStrategy, error)
// GetSchemaCompatibilityStrategyWithContext returns the strategy used to check the new schema provided
// by a producer is compatible with the current schema before it is installed
GetSchemaCompatibilityStrategyWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
) (utils.SchemaCompatibilityStrategy, error)
// ClearOffloadDeleteLag clears the offload deletion lag for a namespace.
ClearOffloadDeleteLag(namespace utils.NameSpaceName) error
// ClearOffloadDeleteLagWithContext clears the offload deletion lag for a namespace.
ClearOffloadDeleteLagWithContext(ctx context.Context, namespace utils.NameSpaceName) error
// SetOffloadDeleteLag sets the offload deletion lag for a namespace
SetOffloadDeleteLag(namespace utils.NameSpaceName, timeMs int64) error
// SetOffloadDeleteLagWithContext sets the offload deletion lag for a namespace
SetOffloadDeleteLagWithContext(ctx context.Context, namespace utils.NameSpaceName, timeMs int64) error
// GetOffloadDeleteLag returns the offload deletion lag for a namespace, in milliseconds
GetOffloadDeleteLag(namespace utils.NameSpaceName) (int64, error)
// GetOffloadDeleteLagWithContext returns the offload deletion lag for a namespace, in milliseconds
GetOffloadDeleteLagWithContext(ctx context.Context, namespace utils.NameSpaceName) (int64, error)
// SetOffloadThreshold sets the offloadThreshold for a namespace
SetOffloadThreshold(namespace utils.NameSpaceName, threshold int64) error
// SetOffloadThresholdWithContext sets the offloadThreshold for a namespace
SetOffloadThresholdWithContext(ctx context.Context, namespace utils.NameSpaceName, threshold int64) error
// GetOffloadThreshold returns the offloadThreshold for a namespace
GetOffloadThreshold(namespace utils.NameSpaceName) (int64, error)
// GetOffloadThresholdWithContext returns the offloadThreshold for a namespace
GetOffloadThresholdWithContext(ctx context.Context, namespace utils.NameSpaceName) (int64, error)
// SetOffloadThresholdInSeconds sets the offloadThresholdInSeconds for a namespace
SetOffloadThresholdInSeconds(namespace utils.NameSpaceName, threshold int64) error
// SetOffloadThresholdInSecondsWithContext sets the offloadThresholdInSeconds for a namespace
SetOffloadThresholdInSecondsWithContext(ctx context.Context, namespace utils.NameSpaceName, threshold int64) error
// GetOffloadThresholdInSeconds returns the offloadThresholdInSeconds for a namespace
GetOffloadThresholdInSeconds(namespace utils.NameSpaceName) (int64, error)
// GetOffloadThresholdInSecondsWithContext returns the offloadThresholdInSeconds for a namespace
GetOffloadThresholdInSecondsWithContext(ctx context.Context, namespace utils.NameSpaceName) (int64, error)
// SetCompactionThreshold sets the compactionThreshold for a namespace
SetCompactionThreshold(namespace utils.NameSpaceName, threshold int64) error
// SetCompactionThresholdWithContext sets the compactionThreshold for a namespace
SetCompactionThresholdWithContext(ctx context.Context, namespace utils.NameSpaceName, threshold int64) error
// GetCompactionThreshold returns the compactionThreshold for a namespace
GetCompactionThreshold(namespace utils.NameSpaceName) (int64, error)
// GetCompactionThresholdWithContext returns the compactionThreshold for a namespace
GetCompactionThresholdWithContext(ctx context.Context, namespace utils.NameSpaceName) (int64, error)
// SetMaxConsumersPerSubscription sets maxConsumersPerSubscription for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxConsumersPerSubscription(namespace utils.NameSpaceName, max int) error
// SetMaxConsumersPerSubscriptionWithContext sets maxConsumersPerSubscription for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxConsumersPerSubscriptionWithContext(ctx context.Context, namespace utils.NameSpaceName, max int) error
// GetMaxConsumersPerSubscription returns the maxConsumersPerSubscription for a namespace.
GetMaxConsumersPerSubscription(namespace utils.NameSpaceName) (int, error)
// GetMaxConsumersPerSubscriptionWithContext returns the maxConsumersPerSubscription for a namespace.
GetMaxConsumersPerSubscriptionWithContext(ctx context.Context, namespace utils.NameSpaceName) (int, error)
// SetMaxConsumersPerTopic sets maxConsumersPerTopic for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxConsumersPerTopic(namespace utils.NameSpaceName, max int) error
// SetMaxConsumersPerTopicWithContext sets maxConsumersPerTopic for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxConsumersPerTopicWithContext(ctx context.Context, namespace utils.NameSpaceName, max int) error
// GetMaxConsumersPerTopic returns the maxProducersPerTopic for a namespace.
GetMaxConsumersPerTopic(namespace utils.NameSpaceName) (int, error)
// GetMaxConsumersPerTopicWithContext returns the maxProducersPerTopic for a namespace.
GetMaxConsumersPerTopicWithContext(ctx context.Context, namespace utils.NameSpaceName) (int, error)
// SetMaxProducersPerTopic sets maxProducersPerTopic for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxProducersPerTopic(namespace utils.NameSpaceName, max int) error
// SetMaxProducersPerTopicWithContext sets maxProducersPerTopic for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxProducersPerTopicWithContext(ctx context.Context, namespace utils.NameSpaceName, max int) error
// GetMaxProducersPerTopic returns the maxProducersPerTopic for a namespace.
GetMaxProducersPerTopic(namespace utils.NameSpaceName) (int, error)
// GetMaxProducersPerTopicWithContext returns the maxProducersPerTopic for a namespace.
GetMaxProducersPerTopicWithContext(ctx context.Context, namespace utils.NameSpaceName) (int, error)
// SetMaxTopicsPerNamespace sets maxTopicsPerNamespace for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxTopicsPerNamespace(namespace utils.NameSpaceName, max int) error
// SetMaxTopicsPerNamespaceWithContext sets maxTopicsPerNamespace for a namespace.
//nolint: revive // It's ok here to use a built-in function name (max)
SetMaxTopicsPerNamespaceWithContext(ctx context.Context, namespace utils.NameSpaceName, max int) error
// GetMaxTopicsPerNamespace returns the maxTopicsPerNamespace for a namespace.
GetMaxTopicsPerNamespace(namespace utils.NameSpaceName) (int, error)
// GetMaxTopicsPerNamespaceWithContext returns the maxTopicsPerNamespace for a namespace.
GetMaxTopicsPerNamespaceWithContext(ctx context.Context, namespace utils.NameSpaceName) (int, error)
// RemoveMaxTopicsPerNamespace removes maxTopicsPerNamespace configuration for a namespace,
// defaulting to broker settings
RemoveMaxTopicsPerNamespace(namespace utils.NameSpaceName) error
// RemoveMaxTopicsPerNamespaceWithContext removes maxTopicsPerNamespace configuration for a namespace,
// defaulting to broker settings
RemoveMaxTopicsPerNamespaceWithContext(ctx context.Context, namespace utils.NameSpaceName) error
// GetNamespaceReplicationClusters returns the replication clusters for a namespace
GetNamespaceReplicationClusters(namespace string) ([]string, error)
// GetNamespaceReplicationClustersWithContext returns the replication clusters for a namespace
GetNamespaceReplicationClustersWithContext(ctx context.Context, namespace string) ([]string, error)
// SetNamespaceReplicationClusters returns the replication clusters for a namespace
SetNamespaceReplicationClusters(namespace string, clusterIDs []string) error
// SetNamespaceReplicationClustersWithContext returns the replication clusters for a namespace
SetNamespaceReplicationClustersWithContext(ctx context.Context, namespace string, clusterIDs []string) error
// SetNamespaceAntiAffinityGroup sets anti-affinity group name for a namespace
SetNamespaceAntiAffinityGroup(namespace string, namespaceAntiAffinityGroup string) error
// SetNamespaceAntiAffinityGroupWithContext sets anti-affinity group name for a namespace
SetNamespaceAntiAffinityGroupWithContext(
ctx context.Context,
namespace string,
namespaceAntiAffinityGroup string,
) error
// GetAntiAffinityNamespaces returns all namespaces that grouped with given anti-affinity group
GetAntiAffinityNamespaces(tenant, cluster, namespaceAntiAffinityGroup string) ([]string, error)
// GetAntiAffinityNamespacesWithContext returns all namespaces that grouped with given anti-affinity group
GetAntiAffinityNamespacesWithContext(
ctx context.Context,
tenant, cluster,
namespaceAntiAffinityGroup string,
) ([]string, error)
// GetNamespaceAntiAffinityGroup returns anti-affinity group name for a namespace
GetNamespaceAntiAffinityGroup(namespace string) (string, error)
// GetNamespaceAntiAffinityGroupWithContext returns anti-affinity group name for a namespace
GetNamespaceAntiAffinityGroupWithContext(ctx context.Context, namespace string) (string, error)
// DeleteNamespaceAntiAffinityGroup deletes anti-affinity group name for a namespace
DeleteNamespaceAntiAffinityGroup(namespace string) error
// DeleteNamespaceAntiAffinityGroupWithContext deletes anti-affinity group name for a namespace
DeleteNamespaceAntiAffinityGroupWithContext(ctx context.Context, namespace string) error
// SetDeduplicationStatus sets the deduplication status for all topics within a namespace
// When deduplication is enabled, the broker will prevent to store the same Message multiple times
SetDeduplicationStatus(namespace string, enableDeduplication bool) error
// SetDeduplicationStatusWithContext sets the deduplication status for all topics within a namespace
// When deduplication is enabled, the broker will prevent to store the same Message multiple times
SetDeduplicationStatusWithContext(ctx context.Context, namespace string, enableDeduplication bool) error
// SetPersistence sets the persistence configuration for all the topics on a namespace
SetPersistence(namespace string, persistence utils.PersistencePolicies) error
// SetPersistenceWithContext sets the persistence configuration for all the topics on a namespace
SetPersistenceWithContext(ctx context.Context, namespace string, persistence utils.PersistencePolicies) error
// GetPersistence returns the persistence configuration for a namespace
GetPersistence(namespace string) (*utils.PersistencePolicies, error)
// GetPersistenceWithContext returns the persistence configuration for a namespace
GetPersistenceWithContext(ctx context.Context, namespace string) (*utils.PersistencePolicies, error)
// SetBookieAffinityGroup sets bookie affinity group for a namespace to isolate namespace write to bookies that are
// part of given affinity group
SetBookieAffinityGroup(namespace string, bookieAffinityGroup utils.BookieAffinityGroupData) error
// SetBookieAffinityGroupWithContext sets bookie affinity group for a namespace
// to isolate namespace write to bookies that are part of given affinity group
SetBookieAffinityGroupWithContext(
ctx context.Context,
namespace string,
bookieAffinityGroup utils.BookieAffinityGroupData,
) error
// DeleteBookieAffinityGroup deletes bookie affinity group configured for a namespace
DeleteBookieAffinityGroup(namespace string) error
// DeleteBookieAffinityGroupWithContext deletes bookie affinity group configured for a namespace
DeleteBookieAffinityGroupWithContext(ctx context.Context, namespace string) error
// GetBookieAffinityGroup returns bookie affinity group configured for a namespace
GetBookieAffinityGroup(namespace string) (*utils.BookieAffinityGroupData, error)
// GetBookieAffinityGroupWithContext returns bookie affinity group configured for a namespace
GetBookieAffinityGroupWithContext(ctx context.Context, namespace string) (*utils.BookieAffinityGroupData, error)
// Unload a namespace from the current serving broker
Unload(namespace string) error
// UnloadWithContext a namespace from the current serving broker
UnloadWithContext(ctx context.Context, namespace string) error
// UnloadNamespaceBundle unloads namespace bundle
UnloadNamespaceBundle(namespace, bundle string) error
// UnloadNamespaceBundleWithContext unloads namespace bundle
UnloadNamespaceBundleWithContext(ctx context.Context, namespace, bundle string) error
// SplitNamespaceBundle splits namespace bundle
SplitNamespaceBundle(namespace, bundle string, unloadSplitBundles bool) error
// SplitNamespaceBundleWithContext splits namespace bundle
SplitNamespaceBundleWithContext(ctx context.Context, namespace, bundle string, unloadSplitBundles bool) error
// GetNamespacePermissions returns permissions on a namespace
GetNamespacePermissions(namespace utils.NameSpaceName) (map[string][]utils.AuthAction, error)
// GetNamespacePermissionsWithContext returns permissions on a namespace
GetNamespacePermissionsWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
) (map[string][]utils.AuthAction, error)
// GrantNamespacePermission grants permission on a namespace.
GrantNamespacePermission(namespace utils.NameSpaceName, role string, action []utils.AuthAction) error
// GrantNamespacePermissionWithContext grants permission on a namespace.
GrantNamespacePermissionWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
role string,
action []utils.AuthAction,
) error
// RevokeNamespacePermission revokes permissions on a namespace.
RevokeNamespacePermission(namespace utils.NameSpaceName, role string) error
// RevokeNamespacePermissionWithContext revokes permissions on a namespace.
RevokeNamespacePermissionWithContext(ctx context.Context, namespace utils.NameSpaceName, role string) error
// GrantSubPermission grants permission to role to access subscription's admin-api
GrantSubPermission(namespace utils.NameSpaceName, sName string, roles []string) error
// GrantSubPermissionWithContext grants permission to role to access subscription's admin-api
GrantSubPermissionWithContext(ctx context.Context, namespace utils.NameSpaceName, sName string, roles []string) error
// RevokeSubPermission revoke permissions on a subscription's admin-api access
RevokeSubPermission(namespace utils.NameSpaceName, sName, role string) error
// RevokeSubPermissionWithContext revoke permissions on a subscription's admin-api access
RevokeSubPermissionWithContext(ctx context.Context, namespace utils.NameSpaceName, sName, role string) error
// GetSubPermissions returns subscription permissions on a namespace
GetSubPermissions(namespace utils.NameSpaceName) (map[string][]string, error)
// GetSubPermissionsWithContext returns subscription permissions on a namespace
GetSubPermissionsWithContext(ctx context.Context, namespace utils.NameSpaceName) (map[string][]string, error)
// SetSubscriptionAuthMode sets the given subscription auth mode on all topics on a namespace
SetSubscriptionAuthMode(namespace utils.NameSpaceName, mode utils.SubscriptionAuthMode) error
// SetSubscriptionAuthModeWithContext sets the given subscription auth mode on all topics on a namespace
SetSubscriptionAuthModeWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
mode utils.SubscriptionAuthMode,
) error
// SetEncryptionRequiredStatus sets the encryption required status for all topics within a namespace
SetEncryptionRequiredStatus(namespace utils.NameSpaceName, encrypt bool) error
// SetEncryptionRequiredStatusWithContext sets the encryption required status for all topics within a namespace
SetEncryptionRequiredStatusWithContext(ctx context.Context, namespace utils.NameSpaceName, encrypt bool) error
// UnsubscribeNamespace unsubscribe the given subscription on all topics on a namespace
UnsubscribeNamespace(namespace utils.NameSpaceName, sName string) error
// UnsubscribeNamespaceWithContext unsubscribe the given subscription on all topics on a namespace
UnsubscribeNamespaceWithContext(ctx context.Context, namespace utils.NameSpaceName, sName string) error
// UnsubscribeNamespaceBundle unsubscribe the given subscription on all topics on a namespace bundle
UnsubscribeNamespaceBundle(namespace utils.NameSpaceName, bundle, sName string) error
// UnsubscribeNamespaceBundleWithContext unsubscribe the given subscription on all topics on a namespace bundle
UnsubscribeNamespaceBundleWithContext(ctx context.Context, namespace utils.NameSpaceName, bundle, sName string) error
// ClearNamespaceBundleBacklogForSubscription clears backlog for a given subscription on all
// topics on a namespace bundle
ClearNamespaceBundleBacklogForSubscription(namespace utils.NameSpaceName, bundle, sName string) error
// ClearNamespaceBundleBacklogForSubscriptionWithContext clears backlog for a given subscription on all
// topics on a namespace bundle
ClearNamespaceBundleBacklogForSubscriptionWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
bundle,
sName string,
) error
// ClearNamespaceBundleBacklog clears backlog for all topics on a namespace bundle
ClearNamespaceBundleBacklog(namespace utils.NameSpaceName, bundle string) error
// ClearNamespaceBundleBacklogWithContext clears backlog for all topics on a namespace bundle
ClearNamespaceBundleBacklogWithContext(ctx context.Context, namespace utils.NameSpaceName, bundle string) error
// ClearNamespaceBacklogForSubscription clears backlog for a given subscription on all topics on a namespace
ClearNamespaceBacklogForSubscription(namespace utils.NameSpaceName, sName string) error
// ClearNamespaceBacklogForSubscriptionWithContext clears backlog for a given subscription on all topics on a namespace
ClearNamespaceBacklogForSubscriptionWithContext(ctx context.Context, namespace utils.NameSpaceName, sName string) error
// ClearNamespaceBacklog clears backlog for all topics on a namespace
ClearNamespaceBacklog(namespace utils.NameSpaceName) error
// ClearNamespaceBacklogWithContext clears backlog for all topics on a namespace
ClearNamespaceBacklogWithContext(ctx context.Context, namespace utils.NameSpaceName) error
// SetReplicatorDispatchRate sets replicator-Message-dispatch-rate (Replicators under this namespace
// can dispatch this many messages per second)
SetReplicatorDispatchRate(namespace utils.NameSpaceName, rate utils.DispatchRate) error
// SetReplicatorDispatchRateWithContext sets replicator-Message-dispatch-rate (Replicators under this namespace
// can dispatch this many messages per second)
SetReplicatorDispatchRateWithContext(ctx context.Context, namespace utils.NameSpaceName, rate utils.DispatchRate) error
// GetReplicatorDispatchRate returns replicator-Message-dispatch-rate (Replicators under this namespace
// can dispatch this many messages per second)
GetReplicatorDispatchRate(namespace utils.NameSpaceName) (utils.DispatchRate, error)
// GetReplicatorDispatchRateWithContext returns replicator-Message-dispatch-rate (Replicators under this namespace
// can dispatch this many messages per second)
GetReplicatorDispatchRateWithContext(ctx context.Context, namespace utils.NameSpaceName) (utils.DispatchRate, error)
// SetSubscriptionDispatchRate sets subscription-Message-dispatch-rate (subscriptions under this namespace
// can dispatch this many messages per second)
SetSubscriptionDispatchRate(namespace utils.NameSpaceName, rate utils.DispatchRate) error
// SetSubscriptionDispatchRateWithContext sets subscription-Message-dispatch-rate (subscriptions under this namespace
// can dispatch this many messages per second)
SetSubscriptionDispatchRateWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
rate utils.DispatchRate,
) error
// GetSubscriptionDispatchRate returns subscription-Message-dispatch-rate (subscriptions under this namespace
// can dispatch this many messages per second)
GetSubscriptionDispatchRate(namespace utils.NameSpaceName) (utils.DispatchRate, error)
// GetSubscriptionDispatchRateWithContext returns subscription-Message-dispatch-rate
// (subscriptions under this namespace can dispatch this many messages per second)
GetSubscriptionDispatchRateWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
) (utils.DispatchRate, error)
// SetSubscribeRate sets namespace-subscribe-rate (topics under this namespace will limit by subscribeRate)
SetSubscribeRate(namespace utils.NameSpaceName, rate utils.SubscribeRate) error
// SetSubscribeRateWithContext sets namespace-subscribe-rate (topics under this namespace will limit by subscribeRate)
SetSubscribeRateWithContext(ctx context.Context, namespace utils.NameSpaceName, rate utils.SubscribeRate) error
// GetSubscribeRate returns namespace-subscribe-rate (topics under this namespace allow subscribe
// times per consumer in a period)
GetSubscribeRate(namespace utils.NameSpaceName) (utils.SubscribeRate, error)
// GetSubscribeRateWithContext returns namespace-subscribe-rate (topics under this namespace allow subscribe
// times per consumer in a period)
GetSubscribeRateWithContext(ctx context.Context, namespace utils.NameSpaceName) (utils.SubscribeRate, error)
// SetDispatchRate sets Message-dispatch-rate (topics under this namespace can dispatch
// this many messages per second)
SetDispatchRate(namespace utils.NameSpaceName, rate utils.DispatchRate) error
// SetDispatchRateWithContext sets Message-dispatch-rate (topics under this namespace can dispatch
// this many messages per second)
SetDispatchRateWithContext(ctx context.Context, namespace utils.NameSpaceName, rate utils.DispatchRate) error
// GetDispatchRate returns Message-dispatch-rate (topics under this namespace can dispatch
// this many messages per second)
GetDispatchRate(namespace utils.NameSpaceName) (utils.DispatchRate, error)
// GetDispatchRateWithContext returns Message-dispatch-rate (topics under this namespace can dispatch
// this many messages per second)
GetDispatchRateWithContext(ctx context.Context, namespace utils.NameSpaceName) (utils.DispatchRate, error)
// SetPublishRate sets the maximum rate or number of messages that producers can publish to topics in this namespace
SetPublishRate(namespace utils.NameSpaceName, pubRate utils.PublishRate) error
// SetPublishRateWithContext sets the maximum rate
// or number of messages that producers can publish to topics in this namespace
SetPublishRateWithContext(ctx context.Context, namespace utils.NameSpaceName, pubRate utils.PublishRate) error
// GetPublishRate gets the maximum rate or number of messages that producer can publish to topics in the namespace
GetPublishRate(namespace utils.NameSpaceName) (utils.PublishRate, error)
// GetPublishRateWithContext gets the maximum rate
// or number of messages that producer can publish to topics in the namespace
GetPublishRateWithContext(ctx context.Context, namespace utils.NameSpaceName) (utils.PublishRate, error)
// SetIsAllowAutoUpdateSchema sets whether to allow auto update schema on a namespace
SetIsAllowAutoUpdateSchema(namespace utils.NameSpaceName, isAllowAutoUpdateSchema bool) error
// SetIsAllowAutoUpdateSchemaWithContext sets whether to allow auto update schema on a namespace
SetIsAllowAutoUpdateSchemaWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
isAllowAutoUpdateSchema bool,
) error
// GetIsAllowAutoUpdateSchema gets whether to allow auto update schema on a namespace
GetIsAllowAutoUpdateSchema(namespace utils.NameSpaceName) (bool, error)
// GetIsAllowAutoUpdateSchemaWithContext gets whether to allow auto update schema on a namespace
GetIsAllowAutoUpdateSchemaWithContext(ctx context.Context, namespace utils.NameSpaceName) (bool, error)
// GetInactiveTopicPolicies gets the inactive topic policies on a namespace
GetInactiveTopicPolicies(namespace utils.NameSpaceName) (utils.InactiveTopicPolicies, error)
// GetInactiveTopicPoliciesWithContext gets the inactive topic policies on a namespace
GetInactiveTopicPoliciesWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
) (utils.InactiveTopicPolicies, error)
// RemoveInactiveTopicPolicies removes inactive topic policies from a namespace
RemoveInactiveTopicPolicies(namespace utils.NameSpaceName) error
// RemoveInactiveTopicPoliciesWithContext removes inactive topic policies from a namespace
RemoveInactiveTopicPoliciesWithContext(ctx context.Context, namespace utils.NameSpaceName) error
// SetInactiveTopicPolicies sets the inactive topic policies on a namespace
SetInactiveTopicPolicies(namespace utils.NameSpaceName, data utils.InactiveTopicPolicies) error
// SetInactiveTopicPoliciesWithContext sets the inactive topic policies on a namespace
SetInactiveTopicPoliciesWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
data utils.InactiveTopicPolicies,
) error
// GetSubscriptionExpirationTime gets the subscription expiration time on a namespace. Returns -1 if not set
GetSubscriptionExpirationTime(namespace utils.NameSpaceName) (int, error)
// GetSubscriptionExpirationTimeWithContext gets the subscription expiration time on a namespace. Returns -1 if not set
GetSubscriptionExpirationTimeWithContext(ctx context.Context, namespace utils.NameSpaceName) (int, error)
// SetSubscriptionExpirationTime sets the subscription expiration time on a namespace
SetSubscriptionExpirationTime(namespace utils.NameSpaceName, expirationTimeInMinutes int) error
// SetSubscriptionExpirationTimeWithContext sets the subscription expiration time on a namespace
SetSubscriptionExpirationTimeWithContext(
ctx context.Context,
namespace utils.NameSpaceName,
expirationTimeInMinutes int,
) error
// RemoveSubscriptionExpirationTime removes subscription expiration time from a namespace,
// defaulting to broker settings
RemoveSubscriptionExpirationTime(namespace utils.NameSpaceName) error
// RemoveSubscriptionExpirationTimeWithContext removes subscription expiration time from a namespace,
// defaulting to broker settings
RemoveSubscriptionExpirationTimeWithContext(ctx context.Context, namespace utils.NameSpaceName) error
// UpdateProperties updates the properties of a namespace
UpdateProperties(namespace utils.NameSpaceName, properties map[string]string) error
// UpdatePropertiesWithContext updates the properties of a namespace
UpdatePropertiesWithContext(ctx context.Context, namespace utils.NameSpaceName, properties map[string]string) error
// GetProperties returns the properties of a namespace
GetProperties(namespace utils.NameSpaceName) (map[string]string, error)
// GetPropertiesWithContext returns the properties of a namespace
GetPropertiesWithContext(ctx context.Context, namespace utils.NameSpaceName) (map[string]string, error)
// RemoveProperties clears the properties of a namespace
RemoveProperties(namespace utils.NameSpaceName) error
// RemovePropertiesWithContext clears the properties of a namespace
RemovePropertiesWithContext(ctx context.Context, namespace utils.NameSpaceName) error
}
Namespaces is admin interface for namespaces management
type NsIsolationPolicy ¶
type NsIsolationPolicy interface {
// CreateNamespaceIsolationPolicy creates a namespace isolation policy for a cluster
CreateNamespaceIsolationPolicy(cluster, policyName string, namespaceIsolationData utils.NamespaceIsolationData) error
// CreateNamespaceIsolationPolicyWithContext creates a namespace isolation policy for a cluster
CreateNamespaceIsolationPolicyWithContext(
ctx context.Context,
cluster,
policyName string,
namespaceIsolationData utils.NamespaceIsolationData,
) error
// DeleteNamespaceIsolationPolicy deletes a namespace isolation policy for a cluster
DeleteNamespaceIsolationPolicy(cluster, policyName string) error
// DeleteNamespaceIsolationPolicyWithContext deletes a namespace isolation policy for a cluster
DeleteNamespaceIsolationPolicyWithContext(ctx context.Context, cluster, policyName string) error
// GetNamespaceIsolationPolicy returns a single namespace isolation policy for a cluster
GetNamespaceIsolationPolicy(cluster, policyName string) (*utils.NamespaceIsolationData, error)
// GetNamespaceIsolationPolicyWithContext returns a single namespace isolation policy for a cluster
GetNamespaceIsolationPolicyWithContext(
ctx context.Context,
cluster,
policyName string,
) (*utils.NamespaceIsolationData, error)
// GetNamespaceIsolationPolicies returns the namespace isolation policies of a cluster
GetNamespaceIsolationPolicies(cluster string) (map[string]utils.NamespaceIsolationData, error)
// GetNamespaceIsolationPoliciesWithContext returns the namespace isolation policies of a cluster
GetNamespaceIsolationPoliciesWithContext(
ctx context.Context,
cluster string,
) (map[string]utils.NamespaceIsolationData, error)
// GetBrokersWithNamespaceIsolationPolicy returns list of active brokers
// with namespace-isolation policies attached to it.
GetBrokersWithNamespaceIsolationPolicy(cluster string) ([]utils.BrokerNamespaceIsolationData, error)
// GetBrokersWithNamespaceIsolationPolicyWithContext returns list of active brokers
// with namespace-isolation policies attached to it.
GetBrokersWithNamespaceIsolationPolicyWithContext(
ctx context.Context,
cluster string,
) ([]utils.BrokerNamespaceIsolationData, error)
// GetBrokerWithNamespaceIsolationPolicy returns active broker with namespace-isolation policies attached to it.
GetBrokerWithNamespaceIsolationPolicy(cluster, broker string) (*utils.BrokerNamespaceIsolationData, error)
// GetBrokerWithNamespaceIsolationPolicyWithContext returns active broker
// with namespace-isolation policies attached to it.
GetBrokerWithNamespaceIsolationPolicyWithContext(
ctx context.Context,
cluster,
broker string,
) (*utils.BrokerNamespaceIsolationData, error)
}
type Packages ¶
type Packages interface {
// Download downloads Function/Connector Package
// @param destinationFile
// file where data should be downloaded to
// @param packageURL
// the package URL
Download(packageURL, destinationFile string) error
// DownloadWithContext downloads Function/Connector Package
// @param ctx
// context used for the request
// @param destinationFile
// file where data should be downloaded to
// @param packageURL
// the package URL
DownloadWithContext(ctx context.Context, packageURL, destinationFile string) error
// Upload uploads Function/Connector Package
// @param filePath
// file where data should be uploaded to
// @param packageURL
// type://tenant/namespace/packageName@version
// @param description
// descriptions of a package
// @param contact
// contact information of a package
// @param properties
// external informations of a package
Upload(packageURL, filePath, description, contact string, properties map[string]string) error
// UploadWithContext uploads Function/Connector Package
// @param ctx
// context used for the request
// @param filePath
// file where data should be uploaded to
// @param packageURL
// type://tenant/namespace/packageName@version
// @param description
// descriptions of a package
// @param contact
// contact information of a package
// @param properties
// external informations of a package
UploadWithContext(
ctx context.Context,
packageURL,
filePath,
description,
contact string,
properties map[string]string,
) error
// List lists all the packages with the given type in a namespace
List(typeName, namespace string) ([]string, error)
// ListWithContext lists all the packages with the given type in a namespace
ListWithContext(ctx context.Context, typeName, namespace string) ([]string, error)
// ListVersions lists all the versions of a package
ListVersions(packageURL string) ([]string, error)
// ListVersionsWithContext lists all the versions of a package
ListVersionsWithContext(ctx context.Context, packageURL string) ([]string, error)
// Delete deletes the specified package
Delete(packageURL string) error
// DeleteWithContext deletes the specified package
DeleteWithContext(ctx context.Context, packageURL string) error
// GetMetadata returns a package metadata information
GetMetadata(packageURL string) (utils.PackageMetadata, error)
// GetMetadataWithContext returns a package metadata information
GetMetadataWithContext(ctx context.Context, packageURL string) (utils.PackageMetadata, error)
// UpdateMetadata updates a package metadata information
UpdateMetadata(packageURL, description, contact string, properties map[string]string) error
// UpdateMetadataWithContext updates a package metadata information
UpdateMetadataWithContext(
ctx context.Context,
packageURL,
description,
contact string,
properties map[string]string,
) error
}
Packages is admin interface for functions management
type ResourceQuotas ¶
type ResourceQuotas interface {
// GetDefaultResourceQuota returns default resource quota for new resource bundles.
GetDefaultResourceQuota() (*utils.ResourceQuota, error)
// GetDefaultResourceQuotaWithContext returns default resource quota for new resource bundles.
GetDefaultResourceQuotaWithContext(ctx context.Context) (*utils.ResourceQuota, error)
// SetDefaultResourceQuota sets default resource quota for new namespace bundles.
SetDefaultResourceQuota(quota utils.ResourceQuota) error
// SetDefaultResourceQuotaWithContext sets default resource quota for new namespace bundles.
SetDefaultResourceQuotaWithContext(ctx context.Context, quota utils.ResourceQuota) error
// GetNamespaceBundleResourceQuota returns resource quota of a namespace bundle.
GetNamespaceBundleResourceQuota(namespace, bundle string) (*utils.ResourceQuota, error)
// GetNamespaceBundleResourceQuotaWithContext returns resource quota of a namespace bundle.
GetNamespaceBundleResourceQuotaWithContext(ctx context.Context, namespace, bundle string) (*utils.ResourceQuota, error)
// SetNamespaceBundleResourceQuota sets resource quota for a namespace bundle.
SetNamespaceBundleResourceQuota(namespace, bundle string, quota utils.ResourceQuota) error
// SetNamespaceBundleResourceQuotaWithContext sets resource quota for a namespace bundle.
SetNamespaceBundleResourceQuotaWithContext(
ctx context.Context,
namespace,
bundle string,
quota utils.ResourceQuota,
) error
// ResetNamespaceBundleResourceQuota resets resource quota for a namespace bundle to default value.
ResetNamespaceBundleResourceQuota(namespace, bundle string) error
// ResetNamespaceBundleResourceQuotaWithContext resets resource quota for a namespace bundle to default value.
ResetNamespaceBundleResourceQuotaWithContext(ctx context.Context, namespace, bundle string) error
}
type Schema ¶
type Schema interface {
// GetSchemaInfo retrieves the latest schema of a topic
GetSchemaInfo(topic string) (*utils.SchemaInfo, error)
// GetSchemaInfoWithVersion retrieves the latest schema with version of a topic
GetSchemaInfoWithVersion(topic string) (*utils.SchemaInfoWithVersion, error)
// GetSchemaInfoByVersion retrieves the schema of a topic at a given <tt>version</tt>
GetSchemaInfoByVersion(topic string, version int64) (*utils.SchemaInfo, error)
// GetAllSchemas retrieves all schemas of a topic
GetAllSchemas(topic string) ([]*utils.SchemaInfoWithVersion, error)
// DeleteSchema deletes the schema associated with a given <tt>topic</tt>
DeleteSchema(topic string) error
// ForceDeleteSchema force deletes the schema associated with a given <tt>topic</tt>
ForceDeleteSchema(topic string) error
// CreateSchemaByPayload creates a schema for a given <tt>topic</tt>
CreateSchemaByPayload(topic string, schemaPayload utils.PostSchemaPayload) error
// CreateSchemaBySchemaInfo creates a schema for a given <tt>topic</tt>
CreateSchemaBySchemaInfo(topic string, schemaInfo utils.SchemaInfo) error
// GetVersionBySchemaInfo gets the version of a schema
GetVersionBySchemaInfo(topic string, schemaInfo utils.SchemaInfo) (int64, error)
// GetVersionByPayload gets the version of a schema
GetVersionByPayload(topic string, schemaPayload utils.PostSchemaPayload) (int64, error)
// TestCompatibilityWithSchemaInfo tests compatibility with a schema
TestCompatibilityWithSchemaInfo(topic string, schemaInfo utils.SchemaInfo) (*utils.IsCompatibility, error)
// TestCompatibilityWithPostSchemaPayload tests compatibility with a schema
TestCompatibilityWithPostSchemaPayload(topic string,
schemaPayload utils.PostSchemaPayload) (*utils.IsCompatibility, error)
}
Schema is admin interface for schema management
type Sinks ¶
type Sinks interface {
// ListSinks returns the list of all the Pulsar Sinks.
ListSinks(tenant, namespace string) ([]string, error)
// ListSinksWithContext returns the list of all the Pulsar Sinks.
ListSinksWithContext(ctx context.Context, tenant, namespace string) ([]string, error)
// GetSink returns the configuration for the specified sink
GetSink(tenant, namespace, Sink string) (utils.SinkConfig, error)
// GetSinkWithContext returns the configuration for the specified sink
GetSinkWithContext(ctx context.Context, tenant, namespace, Sink string) (utils.SinkConfig, error)
// CreateSink creates a new sink
CreateSink(config *utils.SinkConfig, fileName string) error
// CreateSinkWithContext creates a new sink
CreateSinkWithContext(ctx context.Context, config *utils.SinkConfig, fileName string) error
// CreateSinkWithURL creates a new sink by providing url from which fun-pkg can be downloaded. supported url: http/file
CreateSinkWithURL(config *utils.SinkConfig, pkgURL string) error
// CreateSinkWithURLWithContext creates a new sink by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
CreateSinkWithURLWithContext(ctx context.Context, config *utils.SinkConfig, pkgURL string) error
// UpdateSink updates the configuration for a sink.
UpdateSink(config *utils.SinkConfig, fileName string, options *utils.UpdateOptions) error
// UpdateSinkWithContext updates the configuration for a sink.
UpdateSinkWithContext(
ctx context.Context,
config *utils.SinkConfig,
fileName string,
options *utils.UpdateOptions,
) error
// UpdateSinkWithURL updates a sink by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
UpdateSinkWithURL(config *utils.SinkConfig, pkgURL string, options *utils.UpdateOptions) error
// UpdateSinkWithURLWithContext updates a sink by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
UpdateSinkWithURLWithContext(
ctx context.Context,
config *utils.SinkConfig,
pkgURL string,
options *utils.UpdateOptions,
) error
// DeleteSink deletes an existing sink
DeleteSink(tenant, namespace, Sink string) error
// DeleteSinkWithContext deletes an existing sink
DeleteSinkWithContext(ctx context.Context, tenant, namespace, Sink string) error
// GetSinkStatus returns the current status of a sink.
GetSinkStatus(tenant, namespace, Sink string) (utils.SinkStatus, error)
// GetSinkStatusWithContext returns the current status of a sink.
GetSinkStatusWithContext(ctx context.Context, tenant, namespace, Sink string) (utils.SinkStatus, error)
// GetSinkStatusWithID returns the current status of a sink instance.
GetSinkStatusWithID(tenant, namespace, Sink string, id int) (utils.SinkInstanceStatusData, error)
// GetSinkStatusWithIDWithContext returns the current status of a sink instance.
GetSinkStatusWithIDWithContext(
ctx context.Context,
tenant,
namespace,
Sink string,
id int,
) (utils.SinkInstanceStatusData, error)
// RestartSink restarts all sink instances
RestartSink(tenant, namespace, Sink string) error
// RestartSinkWithContext restarts all sink instances
RestartSinkWithContext(ctx context.Context, tenant, namespace, Sink string) error
// RestartSinkWithID restarts sink instance
RestartSinkWithID(tenant, namespace, Sink string, id int) error
// RestartSinkWithIDWithContext restarts sink instance
RestartSinkWithIDWithContext(ctx context.Context, tenant, namespace, Sink string, id int) error
// StopSink stops all sink instances
StopSink(tenant, namespace, Sink string) error
// StopSinkWithContext stops all sink instances
StopSinkWithContext(ctx context.Context, tenant, namespace, Sink string) error
// StopSinkWithID stops sink instance
StopSinkWithID(tenant, namespace, Sink string, id int) error
// StopSinkWithIDWithContext stops sink instance
StopSinkWithIDWithContext(ctx context.Context, tenant, namespace, Sink string, id int) error
// StartSink starts all sink instances
StartSink(tenant, namespace, Sink string) error
// StartSinkWithContext starts all sink instances
StartSinkWithContext(ctx context.Context, tenant, namespace, Sink string) error
// StartSinkWithID starts sink instance
StartSinkWithID(tenant, namespace, Sink string, id int) error
// StartSinkWithIDWithContext starts sink instance
StartSinkWithIDWithContext(ctx context.Context, tenant, namespace, Sink string, id int) error
// GetBuiltInSinks fetches a list of supported Pulsar IO sinks currently running in cluster mode
GetBuiltInSinks() ([]*utils.ConnectorDefinition, error)
// GetBuiltInSinksWithContext fetches a list of supported Pulsar IO sinks currently running in cluster mode
GetBuiltInSinksWithContext(ctx context.Context) ([]*utils.ConnectorDefinition, error)
// ReloadBuiltInSinks reloads the available built-in connectors, include Source and Sink
ReloadBuiltInSinks() error
// ReloadBuiltInSinksWithContext reloads the available built-in connectors, include Source and Sink
ReloadBuiltInSinksWithContext(ctx context.Context) error
}
Sinks is admin interface for sinks management
type Sources ¶
type Sources interface {
// ListSources returns the list of all the Pulsar Sources.
ListSources(tenant, namespace string) ([]string, error)
// ListSources returns the list of all the Pulsar Sources.
ListSourcesWithContext(ctx context.Context, tenant, namespace string) ([]string, error)
// GetSource return the configuration for the specified source
GetSource(tenant, namespace, source string) (utils.SourceConfig, error)
// GetSource return the configuration for the specified source
GetSourceWithContext(ctx context.Context, tenant, namespace, source string) (utils.SourceConfig, error)
// CreateSource creates a new source
CreateSource(config *utils.SourceConfig, fileName string) error
// CreateSource creates a new source
CreateSourceWithContext(ctx context.Context, config *utils.SourceConfig, fileName string) error
// CreateSourceWithURL creates a new source by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
CreateSourceWithURL(config *utils.SourceConfig, pkgURL string) error
// CreateSourceWithURL creates a new source by providing url from which fun-pkg can be downloaded.
// Supported url: http/file
CreateSourceWithURLWithContext(ctx context.Context, config *utils.SourceConfig, pkgURL string) error
// UpdateSource updates the configuration for a source.
UpdateSource(config *utils.SourceConfig, fileName string, options *utils.UpdateOptions) error
// UpdateSource updates the configuration for a source.
UpdateSourceWithContext(
ctx context.Context,
config *utils.SourceConfig,
fileName string,
options *utils.UpdateOptions,
) error
// UpdateSourceWithURL updates a source by providing url from which fun-pkg can be downloaded. supported url: http/file
UpdateSourceWithURL(config *utils.SourceConfig, pkgURL string, options *utils.UpdateOptions) error
// UpdateSourceWithURL updates a source by providing url from which fun-pkg can be downloaded. supported url: http/file
UpdateSourceWithURLWithContext(
ctx context.Context,
config *utils.SourceConfig,
pkgURL string,
options *utils.UpdateOptions,
) error
// DeleteSource deletes an existing source
DeleteSource(tenant, namespace, source string) error
// DeleteSource deletes an existing source
DeleteSourceWithContext(ctx context.Context, tenant, namespace, source string) error
// GetSourceStatus returns the current status of a source.
GetSourceStatus(tenant, namespace, source string) (utils.SourceStatus, error)
// GetSourceStatus returns the current status of a source.
GetSourceStatusWithContext(ctx context.Context, tenant, namespace, source string) (utils.SourceStatus, error)
// GetSourceStatusWithID returns the current status of a source instance.
GetSourceStatusWithID(tenant, namespace, source string, id int) (utils.SourceInstanceStatusData, error)
// GetSourceStatusWithID returns the current status of a source instance.
GetSourceStatusWithIDWithContext(
ctx context.Context,
tenant,
namespace,
source string,
id int,
) (utils.SourceInstanceStatusData, error)
// RestartSource restarts all source instances
RestartSource(tenant, namespace, source string) error
// RestartSource restarts all source instances
RestartSourceWithContext(ctx context.Context, tenant, namespace, source string) error
// RestartSourceWithID restarts source instance
RestartSourceWithID(tenant, namespace, source string, id int) error
// RestartSourceWithID restarts source instance
RestartSourceWithIDWithContext(ctx context.Context, tenant, namespace, source string, id int) error
// StopSource stops all source instances
StopSource(tenant, namespace, source string) error
// StopSource stops all source instances
StopSourceWithContext(ctx context.Context, tenant, namespace, source string) error
// StopSourceWithID stops source instance
StopSourceWithID(tenant, namespace, source string, id int) error
// StopSourceWithID stops source instance
StopSourceWithIDWithContext(ctx context.Context, tenant, namespace, source string, id int) error
// StartSource starts all source instances
StartSource(tenant, namespace, source string) error
// StartSource starts all source instances
StartSourceWithContext(ctx context.Context, tenant, namespace, source string) error
// StartSourceWithID starts source instance
StartSourceWithID(tenant, namespace, source string, id int) error
// StartSourceWithID starts source instance
StartSourceWithIDWithContext(ctx context.Context, tenant, namespace, source string, id int) error
// GetBuiltInSources fetches a list of supported Pulsar IO sources currently running in cluster mode
GetBuiltInSources() ([]*utils.ConnectorDefinition, error)
// GetBuiltInSources fetches a list of supported Pulsar IO sources currently running in cluster mode
GetBuiltInSourcesWithContext(ctx context.Context) ([]*utils.ConnectorDefinition, error)
// ReloadBuiltInSources reloads the available built-in connectors, include Source and Sink
ReloadBuiltInSources() error
// ReloadBuiltInSources reloads the available built-in connectors, include Source and Sink
ReloadBuiltInSourcesWithContext(ctx context.Context) error
}
Sources is admin interface for sources management
type Subscriptions ¶
type Subscriptions interface {
// Create creates a new subscription on a topic
Create(utils.TopicName, string, utils.MessageID) error
// CreateWithContext creates a new subscription on a topic
CreateWithContext(context.Context, utils.TopicName, string, utils.MessageID) error
// Delete deletes a persistent subscription from a topic. There should not be any active consumers on the subscription
Delete(utils.TopicName, string) error
// DeleteWithContext deletes a persistent subscription from a topic.
// There should not be any active consumers on the subscription
DeleteWithContext(context.Context, utils.TopicName, string) error
// ForceDelete deletes a subscription forcefully
ForceDelete(utils.TopicName, string) error
// ForceDeleteWithContext deletes a subscription forcefully
ForceDeleteWithContext(context.Context, utils.TopicName, string) error
// List returns the list of subscriptions
List(utils.TopicName) ([]string, error)
// ListWithContext returns the list of subscriptions
ListWithContext(context.Context, utils.TopicName) ([]string, error)
// ResetCursorToMessageID resets cursor position on a topic subscription
// @param
// messageID reset subscription to messageId (or previous nearest messageId if given messageId is not valid)
ResetCursorToMessageID(utils.TopicName, string, utils.MessageID) error
// ResetCursorToMessageIDWithContext resets cursor position on a topic subscription
// @param
// messageID reset subscription to messageId (or previous nearest messageId if given messageId is not valid)
ResetCursorToMessageIDWithContext(context.Context, utils.TopicName, string, utils.MessageID) error
// ResetCursorToTimestamp resets cursor position on a topic subscription
// @param
// time reset subscription to position closest to time in ms since epoch
ResetCursorToTimestamp(utils.TopicName, string, int64) error
// ResetCursorToTimestampWithContext resets cursor position on a topic subscription
// @param
// time reset subscription to position closest to time in ms since epoch
ResetCursorToTimestampWithContext(context.Context, utils.TopicName, string, int64) error
// ClearBacklog skips all messages on a topic subscription
ClearBacklog(utils.TopicName, string) error
// ClearBacklogWithContext skips all messages on a topic subscription
ClearBacklogWithContext(context.Context, utils.TopicName, string) error
// SkipMessages skips messages on a topic subscription
SkipMessages(utils.TopicName, string, int64) error
// SkipMessagesWithContext skips messages on a topic subscription
SkipMessagesWithContext(context.Context, utils.TopicName, string, int64) error
// ExpireMessages expires all messages older than given N (expireTimeInSeconds) seconds for a given subscription
ExpireMessages(utils.TopicName, string, int64) error
// ExpireMessagesWithContext expires all messages older than given N (expireTimeInSeconds) seconds
// for a given subscription
ExpireMessagesWithContext(context.Context, utils.TopicName, string, int64) error
// ExpireAllMessages expires all messages older than given N (expireTimeInSeconds) seconds for all
// subscriptions of the persistent-topic
ExpireAllMessages(utils.TopicName, int64) error
// ExpireAllMessagesWithContext expires all messages older than given N (expireTimeInSeconds) seconds for all
// subscriptions of the persistent-topic
ExpireAllMessagesWithContext(context.Context, utils.TopicName, int64) error
// PeekMessages peeks messages from a topic subscription
PeekMessages(utils.TopicName, string, int) ([]*utils.Message, error)
// PeekMessagesWithContext peeks messages from a topic subscription
PeekMessagesWithContext(context.Context, utils.TopicName, string, int) ([]*utils.Message, error)
// Deprecated: Use GetMessagesByID() instead
GetMessageByID(topic utils.TopicName, ledgerID, entryID int64) (*utils.Message, error)
// Deprecated: Use GetMessagesByIDWithContext() instead
GetMessageByIDWithContext(ctx context.Context, topic utils.TopicName, ledgerID, entryID int64) (*utils.Message, error)
// GetMessagesByID gets messages by its ledgerID and entryID
GetMessagesByID(topic utils.TopicName, ledgerID, entryID int64) ([]*utils.Message, error)
// GetMessagesByIDWithContext gets messages by its ledgerID and entryID
GetMessagesByIDWithContext(
ctx context.Context,
topic utils.TopicName,
ledgerID,
entryID int64,
) ([]*utils.Message, error)
}
Subscriptions is admin interface for subscriptions management
type TLSOptions ¶
type Tenants ¶
type Tenants interface {
// Create creates a new tenant
Create(utils.TenantData) error
// CreateWithContext creates a new tenant
CreateWithContext(context.Context, utils.TenantData) error
// Delete deletes an existing tenant
Delete(string) error
// DeleteWithContext deletes an existing tenant
DeleteWithContext(context.Context, string) error
// Update updates the admins for a tenant
Update(utils.TenantData) error
// UpdateWithContext updates the admins for a tenant
UpdateWithContext(context.Context, utils.TenantData) error
// List returns the list of tenants
List() ([]string, error)
// ListWithContext returns the list of tenants
ListWithContext(context.Context) ([]string, error)
// Get returns the config of the tenant.
Get(string) (utils.TenantData, error)
// GetWithContext returns the config of the tenant.
GetWithContext(context.Context, string) (utils.TenantData, error)
}
Tenants is admin interface for tenants management
type Topics ¶
type Topics interface {
// Create creates a partitioned or non-partitioned topic
//
// @param topic
// topicName struct
// @param partitions
// number of topic partitions,
// when setting to 0, it will create a non-partitioned topic
Create(topic utils.TopicName, partitions int) error
// CreateWithContext creates a partitioned or non-partitioned topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param partitions
// number of topic partitions,
// when setting to 0, it will create a non-partitioned topic
CreateWithContext(ctx context.Context, topic utils.TopicName, partitions int) error
// CreateWithProperties creates a partitioned or non-partitioned topic with specific properties
//
// @param topic
// topicName struct
// @param partitions
// number of topic partitions,
// when setting to 0, it will create a non-partitioned topic
// @param meta
// topic properties
CreateWithProperties(topic utils.TopicName, partitions int, meta map[string]string) error
// CreateWithPropertiesWithContext creates a partitioned or non-partitioned topic with specific properties
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param partitions
// number of topic partitions,
// when setting to 0, it will create a non-partitioned topic
// @param meta
// topic properties
CreateWithPropertiesWithContext(
ctx context.Context,
topic utils.TopicName,
partitions int,
meta map[string]string,
) error
// GetProperties returns the properties of a topic
GetProperties(topic utils.TopicName) (map[string]string, error)
// GetPropertiesWithContext returns the properties of a topic
GetPropertiesWithContext(ctx context.Context, topic utils.TopicName) (map[string]string, error)
// UpdateProperties updates the properties of a topic
UpdateProperties(topic utils.TopicName, properties map[string]string) error
// UpdatePropertiesWithContext updates the properties of a topic
UpdatePropertiesWithContext(ctx context.Context, topic utils.TopicName, properties map[string]string) error
// RemoveProperty removes a property with the given key of a topic
RemoveProperty(topic utils.TopicName, key string) error
// RemovePropertyWithContext removes a property with the given key of a topic
RemovePropertyWithContext(ctx context.Context, topic utils.TopicName, key string) error
// Delete deletes a topic, this function can delete both partitioned or non-partitioned topic
//
// @param topic
// topicName struct
// @param force
// delete topic forcefully
// @param nonPartitioned
// when set to true, topic will be treated as a non-partitioned topic
// Otherwise it will be treated as a partitioned topic
Delete(topic utils.TopicName, force bool, nonPartitioned bool) error
// DeleteWithContext deletes a topic, this function can delete both partitioned or non-partitioned topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param force
// delete topic forcefully
// @param nonPartitioned
// when set to true, topic will be treated as a non-partitioned topic
// Otherwise it will be treated as a partitioned topic
DeleteWithContext(ctx context.Context, topic utils.TopicName, force bool, nonPartitioned bool) error
// Update updates number of partitions of a non-global partitioned topic
// It requires partitioned-topic to be already exist and number of new partitions must be greater than existing
// number of partitions. Decrementing number of partitions requires deletion of topic which is not supported.
//
// @param topic
// topicName struct
// @param partitions
// number of new partitions of already exist partitioned-topic
Update(topic utils.TopicName, partitions int) error
// UpdateWithContext updates number of partitions of a non-global partitioned topic
// It requires partitioned-topic to be already exist and number of new partitions must be greater than existing
// number of partitions. Decrementing number of partitions requires deletion of topic which is not supported.
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param partitions
// number of new partitions of already exist partitioned-topic
UpdateWithContext(ctx context.Context, topic utils.TopicName, partitions int) error
// GetMetadata returns metadata of a partitioned topic
GetMetadata(utils.TopicName) (utils.PartitionedTopicMetadata, error)
// GetMetadataWithContext returns metadata of a partitioned topic
GetMetadataWithContext(context.Context, utils.TopicName) (utils.PartitionedTopicMetadata, error)
// List returns the list of topics under a namespace
List(utils.NameSpaceName) ([]string, []string, error)
// ListWithContext returns the list of topics under a namespace
ListWithContext(context.Context, utils.NameSpaceName) ([]string, []string, error)
// GetInternalInfo returns the internal metadata info for the topic
GetInternalInfo(utils.TopicName) (utils.ManagedLedgerInfo, error)
// GetInternalInfoWithContext returns the internal metadata info for the topic
GetInternalInfoWithContext(context.Context, utils.TopicName) (utils.ManagedLedgerInfo, error)
// GetPermissions returns permissions on a topic
// Retrieve the effective permissions for a topic. These permissions are defined by the permissions set at the
// namespace level combined (union) with any eventual specific permission set on the topic.
GetPermissions(utils.TopicName) (map[string][]utils.AuthAction, error)
// GetPermissionsWithContext returns permissions on a topic
// Retrieve the effective permissions for a topic. These permissions are defined by the permissions set at the
// namespace level combined (union) with any eventual specific permission set on the topic.
GetPermissionsWithContext(context.Context, utils.TopicName) (map[string][]utils.AuthAction, error)
// GrantPermission grants a new permission to a client role on a single topic
//
// @param topic
// topicName struct
// @param role
// client role to which grant permission
// @param action
// auth actions (e.g. produce and consume)
GrantPermission(topic utils.TopicName, role string, action []utils.AuthAction) error
// GrantPermissionWithContext grants a new permission to a client role on a single topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param role
// client role to which grant permission
// @param action
// auth actions (e.g. produce and consume)
GrantPermissionWithContext(ctx context.Context, topic utils.TopicName, role string, action []utils.AuthAction) error
// RevokePermission revokes permissions to a client role on a single topic. If the permission
// was not set at the topic level, but rather at the namespace level, this operation will
// return an error (HTTP status code 412).
//
// @param topic
// topicName struct
// @param role
// client role to which remove permissions
RevokePermission(topic utils.TopicName, role string) error
// RevokePermissionWithContext revokes permissions to a client role on a single topic. If the permission
// was not set at the topic level, but rather at the namespace level, this operation will
// return an error (HTTP status code 412).
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param role
// client role to which remove permissions
RevokePermissionWithContext(ctx context.Context, topic utils.TopicName, role string) error
// Lookup returns the broker URL that serves the topic
Lookup(utils.TopicName) (utils.LookupData, error)
// LookupWithContext returns the broker URL that serves the topic
LookupWithContext(context.Context, utils.TopicName) (utils.LookupData, error)
// GetBundleRange returns a bundle range of a topic
GetBundleRange(utils.TopicName) (string, error)
// GetBundleRangeWithContext returns a bundle range of a topic
GetBundleRangeWithContext(context.Context, utils.TopicName) (string, error)
// GetLastMessageID returns the last commit message Id of a topic
GetLastMessageID(utils.TopicName) (utils.MessageID, error)
// GetLastMessageIDWithContext returns the last commit message Id of a topic
GetLastMessageIDWithContext(context.Context, utils.TopicName) (utils.MessageID, error)
// GetMessageID returns the message Id by timestamp(ms) of a topic
//
// @param topic
// topicName struct
// @param timestamp
// absolute timestamp (in ms)
GetMessageID(topic utils.TopicName, timestamp int64) (utils.MessageID, error)
// GetMessageIDWithContext returns the message Id by timestamp(ms) of a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param timestamp
// absolute timestamp (in ms)
GetMessageIDWithContext(ctx context.Context, topic utils.TopicName, timestamp int64) (utils.MessageID, error)
// GetStats returns the stats for the topic.
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
GetStats(utils.TopicName) (utils.TopicStats, error)
// GetStatsWithContext returns the stats for the topic.
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
GetStatsWithContext(context.Context, utils.TopicName) (utils.TopicStats, error)
// GetStatsWithOption returns the stats for the topic
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
//
// @param topic
// topicName struct
// @param option
// request option, e.g. get_precise_backlog or subscription_backlog_size
GetStatsWithOption(topic utils.TopicName, option utils.GetStatsOptions) (utils.TopicStats, error)
// GetStatsWithOptionWithContext returns the stats for the topic
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param option
// request option, e.g. get_precise_backlog or subscription_backlog_size
GetStatsWithOptionWithContext(
ctx context.Context,
topic utils.TopicName,
option utils.GetStatsOptions,
) (utils.TopicStats, error)
// GetInternalStats returns the internal stats for the topic.
GetInternalStats(utils.TopicName) (utils.PersistentTopicInternalStats, error)
// GetInternalStatsWithContext returns the internal stats for the topic.
GetInternalStatsWithContext(context.Context, utils.TopicName) (utils.PersistentTopicInternalStats, error)
// GetPartitionedStats returns the stats for the partitioned topic
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
//
// @param topic
// topicName struct
// @param perPartition
// flag to get stats per partition
GetPartitionedStats(topic utils.TopicName, perPartition bool) (utils.PartitionedTopicStats, error)
// GetPartitionedStatsWithContext returns the stats for the partitioned topic
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param perPartition
// flag to get stats per partition
GetPartitionedStatsWithContext(
ctx context.Context,
topic utils.TopicName,
perPartition bool,
) (utils.PartitionedTopicStats, error)
// GetPartitionedStatsWithOption returns the stats for the partitioned topic
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
//
// @param topic
// topicName struct
// @param perPartition
// flag to get stats per partition
// @param option
// request option, e.g. get_precise_backlog or subscription_backlog_size
GetPartitionedStatsWithOption(
topic utils.TopicName,
perPartition bool,
option utils.GetStatsOptions,
) (utils.PartitionedTopicStats, error)
// GetPartitionedStatsWithOptionWithContext returns the stats for the partitioned topic
//
// All the rates are computed over a 1-minute window and are relative the last completed 1-minute period
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param perPartition
// flag to get stats per partition
// @param option
// request option, e.g. get_precise_backlog or subscription_backlog_size
GetPartitionedStatsWithOptionWithContext(ctx context.Context,
topic utils.TopicName,
perPartition bool,
option utils.GetStatsOptions,
) (utils.PartitionedTopicStats, error)
// Terminate terminates the topic and prevent any more messages being published on it
Terminate(utils.TopicName) (utils.MessageID, error)
// TerminateWithContext terminates the topic and prevent any more messages being published on it
TerminateWithContext(context.Context, utils.TopicName) (utils.MessageID, error)
// Offload triggers offloading messages in topic to longterm storage
Offload(utils.TopicName, utils.MessageID) error
// OffloadWithContext triggers offloading messages in topic to longterm storage
OffloadWithContext(context.Context, utils.TopicName, utils.MessageID) error
// OffloadStatus checks the status of an ongoing offloading operation for a topic
OffloadStatus(utils.TopicName) (utils.OffloadProcessStatus, error)
// OffloadStatusWithContext checks the status of an ongoing offloading operation for a topic
OffloadStatusWithContext(context.Context, utils.TopicName) (utils.OffloadProcessStatus, error)
// Unload a topic
Unload(utils.TopicName) error
// UnloadWithContext a topic
UnloadWithContext(context.Context, utils.TopicName) error
// Compact triggers compaction to run for a topic. A single topic can only have one instance of compaction
// running at any time. Any attempt to trigger another will be met with a ConflictException.
Compact(utils.TopicName) error
// CompactWithContext triggers compaction to run for a topic. A single topic can only have one instance of compaction
// running at any time. Any attempt to trigger another will be met with a ConflictException.
CompactWithContext(context.Context, utils.TopicName) error
// CompactStatus checks the status of an ongoing compaction for a topic
CompactStatus(utils.TopicName) (utils.LongRunningProcessStatus, error)
// CompactStatusWithContext checks the status of an ongoing compaction for a topic
CompactStatusWithContext(context.Context, utils.TopicName) (utils.LongRunningProcessStatus, error)
// GetMessageTTL returns the message TTL for a topic
GetMessageTTL(utils.TopicName) (int, error)
// GetMessageTTLWithContext returns the message TTL for a topic
GetMessageTTLWithContext(context.Context, utils.TopicName) (int, error)
// SetMessageTTL sets the message TTL for a topic
//
// @param topic
// topicName struct
// @param messageTTL
// Message TTL in second
SetMessageTTL(topic utils.TopicName, messageTTL int) error
// SetMessageTTLWithContext sets the message TTL for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param messageTTL
// Message TTL in second
SetMessageTTLWithContext(ctx context.Context, topic utils.TopicName, messageTTL int) error
// RemoveMessageTTL removes the message TTL for a topic
RemoveMessageTTL(utils.TopicName) error
// RemoveMessageTTLWithContext removes the message TTL for a topic
RemoveMessageTTLWithContext(context.Context, utils.TopicName) error
// GetMaxProducers Get max number of producers for a topic
GetMaxProducers(utils.TopicName) (int, error)
// GetMaxProducersWithContext Get max number of producers for a topic
GetMaxProducersWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxProducers sets max number of producers for a topic
//
// @param topic
// topicName struct
// @param maxProducers
// max number of producer
SetMaxProducers(topic utils.TopicName, maxProducers int) error
// SetMaxProducersWithContext sets max number of producers for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param maxProducers
// max number of producer
SetMaxProducersWithContext(ctx context.Context, topic utils.TopicName, maxProducers int) error
// RemoveMaxProducers removes max number of producers for a topic
RemoveMaxProducers(utils.TopicName) error
// RemoveMaxProducersWithContext removes max number of producers for a topic
RemoveMaxProducersWithContext(context.Context, utils.TopicName) error
// GetMaxConsumers returns max number of consumers for a topic
GetMaxConsumers(utils.TopicName) (int, error)
// GetMaxConsumersWithContext returns max number of consumers for a topic
GetMaxConsumersWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxConsumers sets max number of consumers for a topic
//
// @param topic
// topicName struct
// @param maxConsumers
// max number of consumer
SetMaxConsumers(topic utils.TopicName, maxConsumers int) error
// SetMaxConsumersWithContext sets max number of consumers for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param maxConsumers
// max number of consumer
SetMaxConsumersWithContext(ctx context.Context, topic utils.TopicName, maxConsumers int) error
// RemoveMaxConsumers removes max number of consumers for a topic
RemoveMaxConsumers(utils.TopicName) error
// RemoveMaxConsumersWithContext removes max number of consumers for a topic
RemoveMaxConsumersWithContext(context.Context, utils.TopicName) error
// GetMaxUnackMessagesPerConsumer returns max unacked messages policy on consumer for a topic
GetMaxUnackMessagesPerConsumer(utils.TopicName) (int, error)
// GetMaxUnackMessagesPerConsumerWithContext returns max unacked messages policy on consumer for a topic
GetMaxUnackMessagesPerConsumerWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxUnackMessagesPerConsumer sets max unacked messages policy on consumer for a topic
//
// @param topic
// topicName struct
// @param maxUnackedNum
// max unAcked messages on each consumer
SetMaxUnackMessagesPerConsumer(topic utils.TopicName, maxUnackedNum int) error
// SetMaxUnackMessagesPerConsumerWithContext sets max unacked messages policy on consumer for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param maxUnackedNum
// max unAcked messages on each consumer
SetMaxUnackMessagesPerConsumerWithContext(ctx context.Context, topic utils.TopicName, maxUnackedNum int) error
// RemoveMaxUnackMessagesPerConsumer removes max unacked messages policy on consumer for a topic
RemoveMaxUnackMessagesPerConsumer(utils.TopicName) error
// RemoveMaxUnackMessagesPerConsumerWithContext removes max unacked messages policy on consumer for a topic
RemoveMaxUnackMessagesPerConsumerWithContext(context.Context, utils.TopicName) error
// GetMaxUnackMessagesPerSubscription returns max unacked messages policy on subscription for a topic
GetMaxUnackMessagesPerSubscription(utils.TopicName) (int, error)
// GetMaxUnackMessagesPerSubscriptionWithContext returns max unacked messages policy on subscription for a topic
GetMaxUnackMessagesPerSubscriptionWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxUnackMessagesPerSubscription sets max unacked messages policy on subscription for a topic
//
// @param topic
// topicName struct
// @param maxUnackedNum
// max unAcked messages on subscription of a topic
SetMaxUnackMessagesPerSubscription(topic utils.TopicName, maxUnackedNum int) error
// SetMaxUnackMessagesPerSubscriptionWithContext sets max unacked messages policy on subscription for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param maxUnackedNum
// max unAcked messages on subscription of a topic
SetMaxUnackMessagesPerSubscriptionWithContext(ctx context.Context, topic utils.TopicName, maxUnackedNum int) error
// RemoveMaxUnackMessagesPerSubscription removes max unacked messages policy on subscription for a topic
RemoveMaxUnackMessagesPerSubscription(utils.TopicName) error
// RemoveMaxUnackMessagesPerSubscriptionWithContext removes max unacked messages policy on subscription for a topic
RemoveMaxUnackMessagesPerSubscriptionWithContext(context.Context, utils.TopicName) error
// GetPersistence returns the persistence policies for a topic
GetPersistence(utils.TopicName) (*utils.PersistenceData, error)
// GetPersistenceWithContext returns the persistence policies for a topic
GetPersistenceWithContext(context.Context, utils.TopicName) (*utils.PersistenceData, error)
// SetPersistence sets the persistence policies for a topic
SetPersistence(utils.TopicName, utils.PersistenceData) error
// SetPersistenceWithContext sets the persistence policies for a topic
SetPersistenceWithContext(context.Context, utils.TopicName, utils.PersistenceData) error
// RemovePersistence removes the persistence policies for a topic
RemovePersistence(utils.TopicName) error
// RemovePersistenceWithContext removes the persistence policies for a topic
RemovePersistenceWithContext(context.Context, utils.TopicName) error
// GetDelayedDelivery returns the delayed delivery policy for a topic
GetDelayedDelivery(utils.TopicName) (*utils.DelayedDeliveryData, error)
// GetDelayedDeliveryWithContext returns the delayed delivery policy for a topic
GetDelayedDeliveryWithContext(context.Context, utils.TopicName) (*utils.DelayedDeliveryData, error)
// SetDelayedDelivery sets the delayed delivery policy on a topic
SetDelayedDelivery(utils.TopicName, utils.DelayedDeliveryData) error
// SetDelayedDeliveryWithContext sets the delayed delivery policy on a topic
SetDelayedDeliveryWithContext(context.Context, utils.TopicName, utils.DelayedDeliveryData) error
// RemoveDelayedDelivery removes the delayed delivery policy on a topic
RemoveDelayedDelivery(utils.TopicName) error
// RemoveDelayedDeliveryWithContext removes the delayed delivery policy on a topic
RemoveDelayedDeliveryWithContext(context.Context, utils.TopicName) error
// GetDispatchRate returns message dispatch rate for a topic
GetDispatchRate(utils.TopicName) (*utils.DispatchRateData, error)
// GetDispatchRateWithContext returns message dispatch rate for a topic
GetDispatchRateWithContext(context.Context, utils.TopicName) (*utils.DispatchRateData, error)
// SetDispatchRate sets message dispatch rate for a topic
SetDispatchRate(utils.TopicName, utils.DispatchRateData) error
// SetDispatchRateWithContext sets message dispatch rate for a topic
SetDispatchRateWithContext(context.Context, utils.TopicName, utils.DispatchRateData) error
// RemoveDispatchRate removes message dispatch rate for a topic
RemoveDispatchRate(utils.TopicName) error
// RemoveDispatchRateWithContext removes message dispatch rate for a topic
RemoveDispatchRateWithContext(context.Context, utils.TopicName) error
// GetPublishRate returns message publish rate for a topic
GetPublishRate(utils.TopicName) (*utils.PublishRateData, error)
// GetPublishRateWithContext returns message publish rate for a topic
GetPublishRateWithContext(context.Context, utils.TopicName) (*utils.PublishRateData, error)
// SetPublishRate sets message publish rate for a topic
SetPublishRate(utils.TopicName, utils.PublishRateData) error
// SetPublishRateWithContext sets message publish rate for a topic
SetPublishRateWithContext(context.Context, utils.TopicName, utils.PublishRateData) error
// RemovePublishRate removes message publish rate for a topic
RemovePublishRate(utils.TopicName) error
// RemovePublishRateWithContext removes message publish rate for a topic
RemovePublishRateWithContext(context.Context, utils.TopicName) error
// GetDeduplicationStatus returns the deduplication policy for a topic
GetDeduplicationStatus(utils.TopicName) (bool, error)
// GetDeduplicationStatusWithContext returns the deduplication policy for a topic
GetDeduplicationStatusWithContext(context.Context, utils.TopicName) (bool, error)
// SetDeduplicationStatus sets the deduplication policy for a topic
//
// @param topic
// topicName struct
// @param enabled
// set enable or disable deduplication of the topic
SetDeduplicationStatus(topic utils.TopicName, enabled bool) error
// SetDeduplicationStatusWithContext sets the deduplication policy for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param enabled
// set enable or disable deduplication of the topic
SetDeduplicationStatusWithContext(ctx context.Context, topic utils.TopicName, enabled bool) error
// RemoveDeduplicationStatus removes the deduplication policy for a topic
RemoveDeduplicationStatus(utils.TopicName) error
// RemoveDeduplicationStatusWithContext removes the deduplication policy for a topic
RemoveDeduplicationStatusWithContext(context.Context, utils.TopicName) error
// GetRetention returns the retention configuration for a topic
//
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetRetention(topic utils.TopicName, applied bool) (*utils.RetentionPolicies, error)
// GetRetentionWithContext returns the retention configuration for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetRetentionWithContext(ctx context.Context, topic utils.TopicName, applied bool) (*utils.RetentionPolicies, error)
// RemoveRetention removes the retention configuration on a topic
RemoveRetention(utils.TopicName) error
// RemoveRetentionWithContext removes the retention configuration on a topic
RemoveRetentionWithContext(context.Context, utils.TopicName) error
// SetRetention sets the retention policy for a topic
SetRetention(utils.TopicName, utils.RetentionPolicies) error
// SetRetentionWithContext sets the retention policy for a topic
SetRetentionWithContext(context.Context, utils.TopicName, utils.RetentionPolicies) error
// GetCompactionThreshold returns the compaction threshold for a topic.
//
// i.e. The maximum number of bytes can have before compaction is triggered.
//
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetCompactionThreshold(topic utils.TopicName, applied bool) (int64, error)
// GetCompactionThresholdWithContext returns the compaction threshold for a topic.
//
// i.e. The maximum number of bytes can have before compaction is triggered.
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetCompactionThresholdWithContext(ctx context.Context, topic utils.TopicName, applied bool) (int64, error)
// SetCompactionThreshold sets the compaction threshold for a topic
//
// @param topic
// topicName struct
// @param threshold
// maximum number of backlog bytes before compaction is triggered
SetCompactionThreshold(topic utils.TopicName, threshold int64) error
// SetCompactionThresholdWithContext sets the compaction threshold for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param threshold
// maximum number of backlog bytes before compaction is triggered
SetCompactionThresholdWithContext(ctx context.Context, topic utils.TopicName, threshold int64) error
// RemoveCompactionThreshold removes compaction threshold for a topic
RemoveCompactionThreshold(utils.TopicName) error
// RemoveCompactionThresholdWithContext removes compaction threshold for a topic
RemoveCompactionThresholdWithContext(context.Context, utils.TopicName) error
// GetBacklogQuotaMap returns backlog quota map for a topic
//
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetBacklogQuotaMap(topic utils.TopicName, applied bool) (map[utils.BacklogQuotaType]utils.BacklogQuota, error)
// GetBacklogQuotaMapWithContext returns backlog quota map for a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetBacklogQuotaMapWithContext(
ctx context.Context,
topic utils.TopicName,
applied bool,
) (map[utils.BacklogQuotaType]utils.BacklogQuota, error)
// SetBacklogQuota sets a backlog quota for a topic
SetBacklogQuota(utils.TopicName, utils.BacklogQuota, utils.BacklogQuotaType) error
// SetBacklogQuotaWithContext sets a backlog quota for a topic
SetBacklogQuotaWithContext(context.Context, utils.TopicName, utils.BacklogQuota, utils.BacklogQuotaType) error
// RemoveBacklogQuota removes a backlog quota policy from a topic
RemoveBacklogQuota(utils.TopicName, utils.BacklogQuotaType) error
// RemoveBacklogQuotaWithContext removes a backlog quota policy from a topic
RemoveBacklogQuotaWithContext(context.Context, utils.TopicName, utils.BacklogQuotaType) error
// GetInactiveTopicPolicies returns the inactive topic policies on a topic
//
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetInactiveTopicPolicies(topic utils.TopicName, applied bool) (utils.InactiveTopicPolicies, error)
// GetInactiveTopicPoliciesWithContext returns the inactive topic policies on a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param applied
// when set to true, function will try to find policy applied to this topic
// in namespace or broker level, if no policy set in topic level
GetInactiveTopicPoliciesWithContext(
ctx context.Context,
topic utils.TopicName,
applied bool,
) (utils.InactiveTopicPolicies, error)
// RemoveInactiveTopicPolicies removes inactive topic policies from a topic
RemoveInactiveTopicPolicies(utils.TopicName) error
// RemoveInactiveTopicPoliciesWithContext removes inactive topic policies from a topic
RemoveInactiveTopicPoliciesWithContext(context.Context, utils.TopicName) error
// SetInactiveTopicPolicies sets the inactive topic policies on a topic
SetInactiveTopicPolicies(topic utils.TopicName, data utils.InactiveTopicPolicies) error
// SetInactiveTopicPoliciesWithContext sets the inactive topic policies on a topic
SetInactiveTopicPoliciesWithContext(ctx context.Context, topic utils.TopicName, data utils.InactiveTopicPolicies) error
// GetReplicationClusters returns the replication clusters of a topic
GetReplicationClusters(topic utils.TopicName) ([]string, error)
// GetReplicationClustersWithContext returns the replication clusters of a topic
GetReplicationClustersWithContext(ctx context.Context, topic utils.TopicName) ([]string, error)
// SetReplicationClusters sets the replication clusters on a topic
//
// @param topic
// topicName struct
// @param data
// list of replication cluster id
SetReplicationClusters(topic utils.TopicName, data []string) error
// SetReplicationClustersWithContext sets the replication clusters on a topic
//
// @param ctx
// context used for the request
// @param topic
// topicName struct
// @param data
// list of replication cluster id
SetReplicationClustersWithContext(ctx context.Context, topic utils.TopicName, data []string) error
// GetSubscribeRate returns subscribe rate configuration for a topic
GetSubscribeRate(utils.TopicName) (*utils.SubscribeRate, error)
// GetSubscribeRateWithContext returns subscribe rate configuration for a topic
GetSubscribeRateWithContext(context.Context, utils.TopicName) (*utils.SubscribeRate, error)
// SetSubscribeRate sets subscribe rate configuration for a topic
SetSubscribeRate(utils.TopicName, utils.SubscribeRate) error
// SetSubscribeRateWithContext sets subscribe rate configuration for a topic
SetSubscribeRateWithContext(context.Context, utils.TopicName, utils.SubscribeRate) error
// RemoveSubscribeRate removes subscribe rate configuration for a topic
RemoveSubscribeRate(utils.TopicName) error
// RemoveSubscribeRateWithContext removes subscribe rate configuration for a topic
RemoveSubscribeRateWithContext(context.Context, utils.TopicName) error
// GetSubscriptionDispatchRate returns subscription dispatch rate for a topic
GetSubscriptionDispatchRate(utils.TopicName) (*utils.DispatchRateData, error)
// GetSubscriptionDispatchRateWithContext returns subscription dispatch rate for a topic
GetSubscriptionDispatchRateWithContext(context.Context, utils.TopicName) (*utils.DispatchRateData, error)
// SetSubscriptionDispatchRate sets subscription dispatch rate for a topic
SetSubscriptionDispatchRate(utils.TopicName, utils.DispatchRateData) error
// SetSubscriptionDispatchRateWithContext sets subscription dispatch rate for a topic
SetSubscriptionDispatchRateWithContext(context.Context, utils.TopicName, utils.DispatchRateData) error
// RemoveSubscriptionDispatchRate removes subscription dispatch rate for a topic
RemoveSubscriptionDispatchRate(utils.TopicName) error
// RemoveSubscriptionDispatchRateWithContext removes subscription dispatch rate for a topic
RemoveSubscriptionDispatchRateWithContext(context.Context, utils.TopicName) error
// GetMaxConsumersPerSubscription returns max consumers per subscription for a topic
GetMaxConsumersPerSubscription(utils.TopicName) (int, error)
// GetMaxConsumersPerSubscriptionWithContext returns max consumers per subscription for a topic
GetMaxConsumersPerSubscriptionWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxConsumersPerSubscription sets max consumers per subscription for a topic
SetMaxConsumersPerSubscription(utils.TopicName, int) error
// SetMaxConsumersPerSubscriptionWithContext sets max consumers per subscription for a topic
SetMaxConsumersPerSubscriptionWithContext(context.Context, utils.TopicName, int) error
// RemoveMaxConsumersPerSubscription removes max consumers per subscription for a topic
RemoveMaxConsumersPerSubscription(utils.TopicName) error
// RemoveMaxConsumersPerSubscriptionWithContext removes max consumers per subscription for a topic
RemoveMaxConsumersPerSubscriptionWithContext(context.Context, utils.TopicName) error
// GetMaxMessageSize returns max message size for a topic
GetMaxMessageSize(utils.TopicName) (int, error)
// GetMaxMessageSizeWithContext returns max message size for a topic
GetMaxMessageSizeWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxMessageSize sets max message size for a topic
SetMaxMessageSize(utils.TopicName, int) error
// SetMaxMessageSizeWithContext sets max message size for a topic
SetMaxMessageSizeWithContext(context.Context, utils.TopicName, int) error
// RemoveMaxMessageSize removes max message size for a topic
RemoveMaxMessageSize(utils.TopicName) error
// RemoveMaxMessageSizeWithContext removes max message size for a topic
RemoveMaxMessageSizeWithContext(context.Context, utils.TopicName) error
// GetMaxSubscriptionsPerTopic returns max subscriptions per topic
GetMaxSubscriptionsPerTopic(utils.TopicName) (int, error)
// GetMaxSubscriptionsPerTopicWithContext returns max subscriptions per topic
GetMaxSubscriptionsPerTopicWithContext(context.Context, utils.TopicName) (int, error)
// SetMaxSubscriptionsPerTopic sets max subscriptions per topic
SetMaxSubscriptionsPerTopic(utils.TopicName, int) error
// SetMaxSubscriptionsPerTopicWithContext sets max subscriptions per topic
SetMaxSubscriptionsPerTopicWithContext(context.Context, utils.TopicName, int) error
// RemoveMaxSubscriptionsPerTopic removes max subscriptions per topic
RemoveMaxSubscriptionsPerTopic(utils.TopicName) error
// RemoveMaxSubscriptionsPerTopicWithContext removes max subscriptions per topic
RemoveMaxSubscriptionsPerTopicWithContext(context.Context, utils.TopicName) error
// GetSchemaValidationEnforced returns schema validation enforced flag for a topic
GetSchemaValidationEnforced(utils.TopicName) (bool, error)
// GetSchemaValidationEnforcedWithContext returns schema validation enforced flag for a topic
GetSchemaValidationEnforcedWithContext(context.Context, utils.TopicName) (bool, error)
// SetSchemaValidationEnforced sets schema validation enforced flag for a topic
SetSchemaValidationEnforced(utils.TopicName, bool) error
// SetSchemaValidationEnforcedWithContext sets schema validation enforced flag for a topic
SetSchemaValidationEnforcedWithContext(context.Context, utils.TopicName, bool) error
// RemoveSchemaValidationEnforced removes schema validation enforced flag for a topic
RemoveSchemaValidationEnforced(utils.TopicName) error
// RemoveSchemaValidationEnforcedWithContext removes schema validation enforced flag for a topic
RemoveSchemaValidationEnforcedWithContext(context.Context, utils.TopicName) error
// GetDeduplicationSnapshotInterval returns deduplication snapshot interval for a topic
GetDeduplicationSnapshotInterval(utils.TopicName) (int, error)
// GetDeduplicationSnapshotIntervalWithContext returns deduplication snapshot interval for a topic
GetDeduplicationSnapshotIntervalWithContext(context.Context, utils.TopicName) (int, error)
// SetDeduplicationSnapshotInterval sets deduplication snapshot interval for a topic
SetDeduplicationSnapshotInterval(utils.TopicName, int) error
// SetDeduplicationSnapshotIntervalWithContext sets deduplication snapshot interval for a topic
SetDeduplicationSnapshotIntervalWithContext(context.Context, utils.TopicName, int) error
// RemoveDeduplicationSnapshotInterval removes deduplication snapshot interval for a topic
RemoveDeduplicationSnapshotInterval(utils.TopicName) error
// RemoveDeduplicationSnapshotIntervalWithContext removes deduplication snapshot interval for a topic
RemoveDeduplicationSnapshotIntervalWithContext(context.Context, utils.TopicName) error
// GetReplicatorDispatchRate returns replicator dispatch rate for a topic
GetReplicatorDispatchRate(utils.TopicName) (*utils.DispatchRateData, error)
// GetReplicatorDispatchRateWithContext returns replicator dispatch rate for a topic
GetReplicatorDispatchRateWithContext(context.Context, utils.TopicName) (*utils.DispatchRateData, error)
// SetReplicatorDispatchRate sets replicator dispatch rate for a topic
SetReplicatorDispatchRate(utils.TopicName, utils.DispatchRateData) error
// SetReplicatorDispatchRateWithContext sets replicator dispatch rate for a topic
SetReplicatorDispatchRateWithContext(context.Context, utils.TopicName, utils.DispatchRateData) error
// RemoveReplicatorDispatchRate removes replicator dispatch rate for a topic
RemoveReplicatorDispatchRate(utils.TopicName) error
// RemoveReplicatorDispatchRateWithContext removes replicator dispatch rate for a topic
RemoveReplicatorDispatchRateWithContext(context.Context, utils.TopicName) error
// GetOffloadPolicies returns offload policies for a topic
GetOffloadPolicies(utils.TopicName) (*utils.OffloadPolicies, error)
// GetOffloadPoliciesWithContext returns offload policies for a topic
GetOffloadPoliciesWithContext(context.Context, utils.TopicName) (*utils.OffloadPolicies, error)
// SetOffloadPolicies sets offload policies for a topic
SetOffloadPolicies(utils.TopicName, utils.OffloadPolicies) error
// SetOffloadPoliciesWithContext sets offload policies for a topic
SetOffloadPoliciesWithContext(context.Context, utils.TopicName, utils.OffloadPolicies) error
// RemoveOffloadPolicies removes offload policies for a topic
RemoveOffloadPolicies(utils.TopicName) error
// RemoveOffloadPoliciesWithContext removes offload policies for a topic
RemoveOffloadPoliciesWithContext(context.Context, utils.TopicName) error
// GetAutoSubscriptionCreation returns auto subscription creation override for a topic
GetAutoSubscriptionCreation(utils.TopicName) (*utils.AutoSubscriptionCreationOverride, error)
// GetAutoSubscriptionCreationWithContext returns auto subscription creation override for a topic
GetAutoSubscriptionCreationWithContext(
context.Context,
utils.TopicName,
) (*utils.AutoSubscriptionCreationOverride, error)
// SetAutoSubscriptionCreation sets auto subscription creation override for a topic
SetAutoSubscriptionCreation(utils.TopicName,
utils.AutoSubscriptionCreationOverride) error
// SetAutoSubscriptionCreationWithContext sets auto subscription creation override for a topic
SetAutoSubscriptionCreationWithContext(context.Context, utils.TopicName,
utils.AutoSubscriptionCreationOverride) error
// RemoveAutoSubscriptionCreation Remove auto subscription creation override for a topic
RemoveAutoSubscriptionCreation(utils.TopicName) error
// RemoveAutoSubscriptionCreationWithContext Remove auto subscription creation override for a topic
RemoveAutoSubscriptionCreationWithContext(context.Context, utils.TopicName) error
// GetSchemaCompatibilityStrategy returns schema compatibility strategy for a topic
GetSchemaCompatibilityStrategy(utils.TopicName) (utils.SchemaCompatibilityStrategy, error)
// GetSchemaCompatibilityStrategyWithContext returns schema compatibility strategy for a topic
GetSchemaCompatibilityStrategyWithContext(context.Context, utils.TopicName) (utils.SchemaCompatibilityStrategy, error)
// SetSchemaCompatibilityStrategy sets schema compatibility strategy for a topic
SetSchemaCompatibilityStrategy(utils.TopicName,
utils.SchemaCompatibilityStrategy) error
// SetSchemaCompatibilityStrategyWithContext sets schema compatibility strategy for a topic
SetSchemaCompatibilityStrategyWithContext(context.Context, utils.TopicName,
utils.SchemaCompatibilityStrategy) error
// RemoveSchemaCompatibilityStrategy removes schema compatibility strategy for a topic
RemoveSchemaCompatibilityStrategy(utils.TopicName) error
// RemoveSchemaCompatibilityStrategyWithContext removes schema compatibility strategy for a topic
RemoveSchemaCompatibilityStrategyWithContext(context.Context, utils.TopicName) error
}
Topics is admin interface for topics management