public class ForwardingAdmin extends Object implements Admin
ForwardingAdmin is the default value of forwarding.admin.class in MirrorMaker.
Users who wish to customize the MirrorMaker behaviour for the creation of topics and access control lists can extend this
class without needing to provide a whole implementation of Admin.
The class must have a constructor with signature (Map<String, Object> config) for configuring
a decorated KafkaAdminClient and any other clients needed for external resource management.| Constructor and Description |
|---|
ForwardingAdmin(Map<String,Object> configs) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitabortTransaction, alterClientQuotas, alterConfigs, alterConsumerGroupOffsets, alterPartitionReassignments, alterReplicaLogDirs, alterUserScramCredentials, close, create, create, createAcls, createDelegationToken, createPartitions, createTopics, deleteAcls, deleteConsumerGroupOffsets, deleteConsumerGroups, deleteRecords, deleteTopics, deleteTopics, deleteTopics, describeAcls, describeClientQuotas, describeCluster, describeConfigs, describeConsumerGroups, describeDelegationToken, describeFeatures, describeLogDirs, describeMetadataQuorum, describeProducers, describeReplicaLogDirs, describeTopics, describeTopics, describeTopics, describeTransactions, describeUserScramCredentials, describeUserScramCredentials, electLeaders, expireDelegationToken, fenceProducers, incrementalAlterConfigs, listClientMetricsResources, listConsumerGroupOffsets, listConsumerGroupOffsets, listConsumerGroupOffsets, listConsumerGroups, listOffsets, listPartitionReassignments, listPartitionReassignments, listPartitionReassignments, listPartitionReassignments, listTopics, listTransactions, renewDelegationToken, unregisterBrokerpublic void close(Duration timeout)
Admin
The close operation has a grace period during which current operations will be allowed to
complete, specified by the given duration.
New operations will not be accepted during the grace period. Once the grace period is over,
all operations that have not yet been completed will be aborted with a TimeoutException.
public CreateTopicsResult createTopics(Collection<NewTopic> newTopics, CreateTopicsOptions options)
AdminThis operation is not transactional so it may succeed for some topics while fail for others.
It may take several seconds after CreateTopicsResult returns
success for all the brokers to become aware that the topics have been created.
During this time, Admin.listTopics() and Admin.describeTopics(Collection)
may not return information about the new topics.
This operation is supported by brokers with version 0.10.1.0 or higher. The validateOnly option is supported from version 0.10.2.0.
createTopics in interface AdminnewTopics - The new topics to create.options - The options to use when creating the new topics.public DeleteTopicsResult deleteTopics(TopicCollection topics, DeleteTopicsOptions options)
AdminThis operation is not transactional so it may succeed for some topics while fail for others.
It may take several seconds after the DeleteTopicsResult returns
success for all the brokers to become aware that the topics are gone.
During this time, Admin.listTopics() and Admin.describeTopics(Collection)
may continue to return information about the deleted topics.
If delete.topic.enable is false on the brokers, deleteTopics will mark the topics for deletion, but not actually delete them. The futures will return successfully in this case.
When using topic IDs, this operation is supported by brokers with inter-broker protocol 2.8 or higher. When using topic names, this operation is supported by brokers with version 0.10.1.0 or higher.
deleteTopics in interface Admintopics - The topics to delete.options - The options to use when deleting the topics.public ListTopicsResult listTopics(ListTopicsOptions options)
AdminlistTopics in interface Adminoptions - The options to use when listing the topics.public DescribeTopicsResult describeTopics(TopicCollection topics, DescribeTopicsOptions options)
AdmindescribeTopics in interface Admintopics - The topics to describe.options - The options to use when describing the topics.public DescribeClusterResult describeCluster(DescribeClusterOptions options)
AdmindescribeCluster in interface Adminoptions - The options to use when getting information about the cluster.public DescribeAclsResult describeAcls(AclBindingFilter filter, DescribeAclsOptions options)
Admin
Note: it may take some time for changes made by createAcls or deleteAcls to be reflected
in the output of describeAcls.
This operation is supported by brokers with version 0.11.0.0 or higher.
describeAcls in interface Adminfilter - The filter to use.options - The options to use when listing the ACLs.public CreateAclsResult createAcls(Collection<AclBinding> acls, CreateAclsOptions options)
AdminThis operation is not transactional so it may succeed for some ACLs while fail for others.
If you attempt to add an ACL that duplicates an existing ACL, no error will be raised, but no changes will be made.
This operation is supported by brokers with version 0.11.0.0 or higher.
createAcls in interface Adminacls - The ACLs to createoptions - The options to use when creating the ACLs.public DeleteAclsResult deleteAcls(Collection<AclBindingFilter> filters, DeleteAclsOptions options)
AdminThis operation is not transactional so it may succeed for some ACLs while fail for others.
This operation is supported by brokers with version 0.11.0.0 or higher.
deleteAcls in interface Adminfilters - The filters to use.options - The options to use when deleting the ACLs.public DescribeConfigsResult describeConfigs(Collection<ConfigResource> resources, DescribeConfigsOptions options)
AdminThe returned configuration includes default values and the isDefault() method can be used to distinguish them from user supplied values.
The value of config entries where isSensitive() is true is always null so that sensitive information
is not disclosed.
Config entries where isReadOnly() is true cannot be updated.
This operation is supported by brokers with version 0.11.0.0 or higher.
describeConfigs in interface Adminresources - The resources (topic and broker resource types are currently supported)options - The options to use when describing configs@Deprecated public AlterConfigsResult alterConfigs(Map<ConfigResource,Config> configs, AlterConfigsOptions options)
AdminUpdates are not transactional so they may succeed for some resources while fail for others. The configs for a particular resource are updated atomically.
This operation is supported by brokers with version 0.11.0.0 or higher.
alterConfigs in interface Adminconfigs - The resources with their configs (topic is the only resource type with configs that can
be updated currently)options - The options to use when describing configspublic AlterConfigsResult incrementalAlterConfigs(Map<ConfigResource,Collection<AlterConfigOp>> configs, AlterConfigsOptions options)
AdminUpdates are not transactional so they may succeed for some resources while fail for others. The configs for a particular resource are updated atomically.
The following exceptions can be anticipated when calling get() on the futures obtained from
the returned AlterConfigsResult:
ClusterAuthorizationException
if the authenticated user didn't have alter access to the cluster.TopicAuthorizationException
if the authenticated user didn't have alter access to the Topic.UnknownTopicOrPartitionException
if the Topic doesn't exist.InvalidRequestException
if the request details are invalid. e.g., a configuration key was specified more than once for a resourceThis operation is supported by brokers with version 2.3.0 or higher.
incrementalAlterConfigs in interface Adminconfigs - The resources with their configsoptions - The options to use when altering configspublic AlterReplicaLogDirsResult alterReplicaLogDirs(Map<TopicPartitionReplica,String> replicaAssignment, AlterReplicaLogDirsOptions options)
AdminAlterReplicaLogDirsResult instance.
This operation is not transactional so it may succeed for some replicas while fail for others.
This operation is supported by brokers with version 1.1.0 or higher.
alterReplicaLogDirs in interface AdminreplicaAssignment - The replicas with their log directory absolute pathoptions - The options to use when changing replica dirpublic DescribeLogDirsResult describeLogDirs(Collection<Integer> brokers, DescribeLogDirsOptions options)
AdminThis operation is supported by brokers with version 1.0.0 or higher.
describeLogDirs in interface Adminbrokers - A list of brokersoptions - The options to use when querying log dir infopublic DescribeReplicaLogDirsResult describeReplicaLogDirs(Collection<TopicPartitionReplica> replicas, DescribeReplicaLogDirsOptions options)
AdminThis operation is supported by brokers with version 1.0.0 or higher.
describeReplicaLogDirs in interface Adminreplicas - The replicas to queryoptions - The options to use when querying replica log dir infopublic CreatePartitionsResult createPartitions(Map<String,NewPartitions> newPartitions, CreatePartitionsOptions options)
AdminnewPartitions
according to the corresponding values. If partitions are increased for a topic that has a key,
the partition logic or ordering of the messages will be affected.
This operation is not transactional so it may succeed for some topics while fail for others.
It may take several seconds after this method returns
success for all the brokers to become aware that the partitions have been created.
During this time, Admin.describeTopics(Collection)
may not return information about the new partitions.
This operation is supported by brokers with version 1.0.0 or higher.
The following exceptions can be anticipated when calling get() on the futures obtained from the
values() method of the returned CreatePartitionsResult
AuthorizationException
if the authenticated user is not authorized to alter the topicTimeoutException
if the request was not completed in within the given AbstractOptions.timeoutMs().ReassignmentInProgressException
if a partition reassignment is currently in progressBrokerNotAvailableException
if the requested NewPartitions.assignments() contain a broker that is currently unavailable.InvalidReplicationFactorException
if no NewPartitions.assignments() are given and it is impossible for the broker to assign
replicas with the topics replication factor.KafkaException
if the request is invalid in some way.createPartitions in interface AdminnewPartitions - The topics which should have new partitions created, and corresponding parameters
for the created partitions.options - The options to use when creating the new partitions.public DeleteRecordsResult deleteRecords(Map<TopicPartition,RecordsToDelete> recordsToDelete, DeleteRecordsOptions options)
AdminThis operation is supported by brokers with version 0.11.0.0 or higher.
deleteRecords in interface AdminrecordsToDelete - The topic partitions and related offsets from which records deletion starts.options - The options to use when deleting records.public CreateDelegationTokenResult createDelegationToken(CreateDelegationTokenOptions options)
AdminThis operation is supported by brokers with version 1.1.0 or higher.
The following exceptions can be anticipated when calling get() on the futures obtained from the
delegationToken() method of the returned CreateDelegationTokenResult
UnsupportedByAuthenticationException
If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.InvalidPrincipalTypeException
if the renewers principal type is not supported.DelegationTokenDisabledException
if the delegation token feature is disabled.TimeoutException
if the request was not completed in within the given AbstractOptions.timeoutMs().createDelegationToken in interface Adminoptions - The options to use when creating delegation token.public RenewDelegationTokenResult renewDelegationToken(byte[] hmac, RenewDelegationTokenOptions options)
AdminThis operation is supported by brokers with version 1.1.0 or higher.
The following exceptions can be anticipated when calling get() on the futures obtained from the
expiryTimestamp() method of the returned RenewDelegationTokenResult
UnsupportedByAuthenticationException
If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.DelegationTokenDisabledException
if the delegation token feature is disabled.DelegationTokenNotFoundException
if the delegation token is not found on server.DelegationTokenOwnerMismatchException
if the authenticated user is not owner/renewer of the token.DelegationTokenExpiredException
if the delegation token is expired.TimeoutException
if the request was not completed in within the given AbstractOptions.timeoutMs().renewDelegationToken in interface Adminhmac - HMAC of the Delegation tokenoptions - The options to use when renewing delegation token.public ExpireDelegationTokenResult expireDelegationToken(byte[] hmac, ExpireDelegationTokenOptions options)
AdminThis operation is supported by brokers with version 1.1.0 or higher.
The following exceptions can be anticipated when calling get() on the futures obtained from the
expiryTimestamp() method of the returned ExpireDelegationTokenResult
UnsupportedByAuthenticationException
If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.DelegationTokenDisabledException
if the delegation token feature is disabled.DelegationTokenNotFoundException
if the delegation token is not found on server.DelegationTokenOwnerMismatchException
if the authenticated user is not owner/renewer of the requested token.DelegationTokenExpiredException
if the delegation token is expired.TimeoutException
if the request was not completed in within the given AbstractOptions.timeoutMs().expireDelegationToken in interface Adminhmac - HMAC of the Delegation tokenoptions - The options to use when expiring delegation token.public DescribeDelegationTokenResult describeDelegationToken(DescribeDelegationTokenOptions options)
AdminThis operation is supported by brokers with version 1.1.0 or higher.
The following exceptions can be anticipated when calling get() on the futures obtained from the
delegationTokens() method of the returned DescribeDelegationTokenResult
UnsupportedByAuthenticationException
If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.DelegationTokenDisabledException
if the delegation token feature is disabled.TimeoutException
if the request was not completed in within the given AbstractOptions.timeoutMs().describeDelegationToken in interface Adminoptions - The options to use when describing delegation tokens.public DescribeConsumerGroupsResult describeConsumerGroups(Collection<String> groupIds, DescribeConsumerGroupsOptions options)
AdmindescribeConsumerGroups in interface AdmingroupIds - The IDs of the groups to describe.options - The options to use when describing the groups.public ListConsumerGroupsResult listConsumerGroups(ListConsumerGroupsOptions options)
AdminlistConsumerGroups in interface Adminoptions - The options to use when listing the consumer groups.public ListConsumerGroupOffsetsResult listConsumerGroupOffsets(Map<String,ListConsumerGroupOffsetsSpec> groupSpecs, ListConsumerGroupOffsetsOptions options)
AdminlistConsumerGroupOffsets in interface AdmingroupSpecs - Map of consumer group ids to a spec that specifies the topic partitions of the group to list offsets for.options - The options to use when listing the consumer group offsets.public DeleteConsumerGroupsResult deleteConsumerGroups(Collection<String> groupIds, DeleteConsumerGroupsOptions options)
AdmindeleteConsumerGroups in interface Adminoptions - The options to use when deleting a consumer group.public DeleteConsumerGroupOffsetsResult deleteConsumerGroupOffsets(String groupId, Set<TopicPartition> partitions, DeleteConsumerGroupOffsetsOptions options)
AdmindeleteConsumerGroupOffsets in interface Adminoptions - The options to use when deleting offsets in a consumer group.public ElectLeadersResult electLeaders(ElectionType electionType, Set<TopicPartition> partitions, ElectLeadersOptions options)
Adminpartitions, or for all partitions if the argument
to partitions is null.
This operation is not transactional so it may succeed for some partitions while fail for others.
It may take several seconds after this method returns success for all the brokers in the cluster
to become aware that the partitions have new leaders. During this time,
Admin.describeTopics(Collection) may not return information about the partitions'
new leaders.
This operation is supported by brokers with version 2.2.0 or later if preferred election is use; otherwise the brokers most be 2.4.0 or higher.
The following exceptions can be anticipated when calling get() on the future obtained
from the returned ElectLeadersResult:
ClusterAuthorizationException
if the authenticated user didn't have alter access to the cluster.UnknownTopicOrPartitionException
if the topic or partition did not exist within the cluster.InvalidTopicException
if the topic was already queued for deletion.NotControllerException
if the request was sent to a broker that was not the controller for the cluster.TimeoutException
if the request timed out before the election was complete.LeaderNotAvailableException
if the preferred leader was not alive or not in the ISR.electLeaders in interface AdminelectionType - The type of election to conduct.partitions - The topics and partitions for which to conduct elections.options - The options to use when electing the leaders.public AlterPartitionReassignmentsResult alterPartitionReassignments(Map<TopicPartition,Optional<NewPartitionReassignment>> reassignments, AlterPartitionReassignmentsOptions options)
AdminOptional.empty()) will The following exceptions can be anticipated when calling get() on the futures obtained from
the returned AlterPartitionReassignmentsResult:
ClusterAuthorizationException
If the authenticated user didn't have alter access to the cluster.UnknownTopicOrPartitionException
If the topic or partition does not exist within the cluster.TimeoutException
if the request timed out before the controller could record the new assignments.InvalidReplicaAssignmentException
If the specified assignment was not valid.NoReassignmentInProgressException
If there was an attempt to cancel a reassignment for a partition which was not being reassigned.alterPartitionReassignments in interface Adminreassignments - The reassignments to add, modify, or remove. See NewPartitionReassignment.options - The options to use.public ListPartitionReassignmentsResult listPartitionReassignments(Optional<Set<TopicPartition>> partitions, ListPartitionReassignmentsOptions options)
listPartitionReassignments in interface Adminpartitions - the partitions we want to get reassignment for, or an empty optional if we want to get the reassignments for all partitions in the clusteroptions - The options to use.public RemoveMembersFromConsumerGroupResult removeMembersFromConsumerGroup(String groupId, RemoveMembersFromConsumerGroupOptions options)
Admin
For possible error codes, refer to LeaveGroupResponse.
removeMembersFromConsumerGroup in interface AdmingroupId - The ID of the group to remove member from.options - The options to carry removing members' information.public AlterConsumerGroupOffsetsResult alterConsumerGroupOffsets(String groupId, Map<TopicPartition,OffsetAndMetadata> offsets, AlterConsumerGroupOffsetsOptions options)
AdminAlters offsets for the specified group. In order to succeed, the group must be empty.
This operation is not transactional so it may succeed for some partitions while fail for others.
alterConsumerGroupOffsets in interface AdmingroupId - The group for which to alter offsets.offsets - A map of offsets by partition with associated metadata. Partitions not specified in the map are ignored.options - The options to use when altering the offsets.public ListOffsetsResult listOffsets(Map<TopicPartition,OffsetSpec> topicPartitionOffsets, ListOffsetsOptions options)
AdminList offset for the specified partitions. This operation enables to find the beginning offset, end offset as well as the offset matching a timestamp in partitions.
listOffsets in interface AdmintopicPartitionOffsets - The mapping from partition to the OffsetSpec to look up.options - The options to use when retrieving the offsetspublic DescribeClientQuotasResult describeClientQuotas(ClientQuotaFilter filter, DescribeClientQuotasOptions options)
Admin
The following exceptions can be anticipated when calling get() on the future from the
returned DescribeClientQuotasResult:
ClusterAuthorizationException
If the authenticated user didn't have describe access to the cluster.InvalidRequestException
If the request details are invalid. e.g., an invalid entity type was specified.TimeoutException
If the request timed out before the describe could finish.This operation is supported by brokers with version 2.6.0 or higher.
describeClientQuotas in interface Adminfilter - the filter to apply to match entitiesoptions - the options to usepublic AlterClientQuotasResult alterClientQuotas(Collection<ClientQuotaAlteration> entries, AlterClientQuotasOptions options)
AdminAlterations for a single entity are atomic, but across entities is not guaranteed. The resulting per-entity error code should be evaluated to resolve the success or failure of all updates.
The following exceptions can be anticipated when calling get() on the futures obtained from
the returned AlterClientQuotasResult:
ClusterAuthorizationException
If the authenticated user didn't have alter access to the cluster.InvalidRequestException
If the request details are invalid. e.g., a configuration key was specified more than once for an entity.TimeoutException
If the request timed out before the alterations could finish. It cannot be guaranteed whether the update
succeed or not.This operation is supported by brokers with version 2.6.0 or higher.
alterClientQuotas in interface Adminentries - the alterations to performpublic DescribeUserScramCredentialsResult describeUserScramCredentials(List<String> users, DescribeUserScramCredentialsOptions options)
Admin
The following exceptions can be anticipated when calling get() on the futures from the
returned DescribeUserScramCredentialsResult:
ClusterAuthorizationException
If the authenticated user didn't have describe access to the cluster.ResourceNotFoundException
If the user did not exist/had no SCRAM credentials.DuplicateResourceException
If the user was requested to be described more than once in the original request.TimeoutException
If the request timed out before the describe operation could finish.This operation is supported by brokers with version 2.7.0 or higher.
describeUserScramCredentials in interface Adminusers - the users for which credentials are to be described; all users' credentials are described if null
or empty.options - The options to use when describing the credentialspublic AlterUserScramCredentialsResult alterUserScramCredentials(List<UserScramCredentialAlteration> alterations, AlterUserScramCredentialsOptions options)
Admin
The following exceptions can be anticipated when calling get() any of the futures from the
returned AlterUserScramCredentialsResult:
NotControllerException
If the request is not sent to the Controller broker.ClusterAuthorizationException
If the authenticated user didn't have alter access to the cluster.UnsupportedByAuthenticationException
If the user authenticated with a delegation token.UnsupportedSaslMechanismException
If the requested SCRAM mechanism is unrecognized or otherwise unsupported.UnacceptableCredentialException
If the username is empty or the requested number of iterations is too small or too large.TimeoutException
If the request timed out before the describe could finish.This operation is supported by brokers with version 2.7.0 or higher.
alterUserScramCredentials in interface Adminalterations - the alterations to be appliedoptions - The options to use when altering the credentialspublic DescribeFeaturesResult describeFeatures(DescribeFeaturesOptions options)
Admin
The following exceptions can be anticipated when calling get() on the future from the
returned DescribeFeaturesResult:
TimeoutException
If the request timed out before the describe operation could finish.describeFeatures in interface Adminoptions - the options to useDescribeFeaturesResult containing the resultpublic UpdateFeaturesResult updateFeatures(Map<String,FeatureUpdate> featureUpdates, UpdateFeaturesOptions options)
Admin
The API takes in a map of finalized feature names to FeatureUpdate that needs to be
applied. Each entry in the map specifies the finalized feature to be added or updated or
deleted, along with the new max feature version level value. This request is issued only to
the controller since the API is only served by the controller. The return value contains an
error code for each supplied FeatureUpdate, and the code indicates if the update
succeeded or failed in the controller.
FeatureUpdate has the allowDowngrade flag set. Setting this
flag conveys user intent to attempt downgrade of a feature max version level. Note that
despite the allowDowngrade flag being set, certain downgrades may be rejected by the
controller if it is deemed impossible.FeatureUpdate, and, setting
the max version level to a value less than 1.
The following exceptions can be anticipated when calling get() on the futures
obtained from the returned UpdateFeaturesResult:
ClusterAuthorizationException
If the authenticated user didn't have alter access to the cluster.InvalidRequestException
If the request details are invalid. e.g., a non-existing finalized feature is attempted
to be deleted or downgraded.TimeoutException
If the request timed out before the updates could finish. It cannot be guaranteed whether
the updates succeeded or not.FeatureUpdateFailedException
This means there was an unexpected error encountered when the update was applied on
the controller. There is no guarantee on whether the update succeeded or failed. The best
way to find out is to issue a Admin.describeFeatures(DescribeFeaturesOptions)
request.This operation is supported by brokers with version 2.7.0 or higher.
updateFeatures in interface AdminfeatureUpdates - the map of finalized feature name to FeatureUpdateoptions - the options to useUpdateFeaturesResult containing the resultpublic DescribeMetadataQuorumResult describeMetadataQuorum(DescribeMetadataQuorumOptions options)
Admin
The following exceptions can be anticipated when calling get() on the futures obtained from
the returned DescribeMetadataQuorumResult:
ClusterAuthorizationException
If the authenticated user didn't have DESCRIBE access to the cluster.TimeoutException
If the request timed out before the controller could list the cluster links.describeMetadataQuorum in interface Adminoptions - The DescribeMetadataQuorumOptions to use when describing the quorum.DescribeMetadataQuorumResult containing the resultpublic UnregisterBrokerResult unregisterBroker(int brokerId, UnregisterBrokerOptions options)
Admin
This operation does not have any effect on partition assignments. It is supported
only on Kafka clusters which use Raft to store metadata, rather than ZooKeeper.
The following exceptions can be anticipated when calling get() on the future from the
returned UnregisterBrokerResult:
TimeoutException
If the request timed out before the describe operation could finish.UnsupportedVersionException
If the software is too old to support the unregistration API, or if the
cluster is not using Raft to store metadata.
unregisterBroker in interface AdminbrokerId - the broker id to unregister.options - the options to use.UnregisterBrokerResult containing the resultpublic DescribeProducersResult describeProducers(Collection<TopicPartition> partitions, DescribeProducersOptions options)
AdminDescribeProducersOptions.brokerId(int), this will
query the partition leader to find the producer state.describeProducers in interface Adminpartitions - The set of partitions to queryoptions - Options to control the method behaviorpublic DescribeTransactionsResult describeTransactions(Collection<String> transactionalIds, DescribeTransactionsOptions options)
AdmindescribeTransactions in interface AdmintransactionalIds - The set of transactional IDs to queryoptions - Options to control the method behaviorpublic AbortTransactionResult abortTransaction(AbortTransactionSpec spec, AbortTransactionOptions options)
AdminabortTransaction in interface Adminspec - The transaction specification including topic partition and producer detailsoptions - Options to control the method behavior (including filters)public ListTransactionsResult listTransactions(ListTransactionsOptions options)
AdminListTransactionsOptions.filterProducerIds(Collection) or
ListTransactionsOptions.filterStates(Collection)listTransactions in interface Adminoptions - Options to control the method behavior (including filters)public FenceProducersResult fenceProducers(Collection<String> transactionalIds, FenceProducersOptions options)
AdminfenceProducers in interface AdmintransactionalIds - The IDs of the producers to fence.options - The options to use when fencing the producers.public ListClientMetricsResourcesResult listClientMetricsResources(ListClientMetricsResourcesOptions options)
AdminlistClientMetricsResources in interface Adminoptions - The options to use when listing the client metrics resources.public Uuid clientInstanceId(Duration timeout)
Admin
If telemetry is enabled, this will first require a connection to the cluster to generate
the unique client instance ID. This method waits up to timeout for the admin
client to complete the request.
Client telemetry is controlled by the AdminClientConfig.ENABLE_METRICS_PUSH_CONFIG
configuration option.
clientInstanceId in interface Admintimeout - The maximum time to wait for admin client to determine its client instance ID.
The value must be non-negative. Specifying a timeout of zero means do not
wait for the initial request to complete if it hasn't already.