@Override
    public TagResourceResult tagResource(TagResourceRequest request) {
        request = beforeClientExecution(request);
        return executeTagResource(request);
    }
<p>
A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track
all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all
nodes in the cluster. For more information, see <a
href="https://docs.aws.amazon.com/MemoryDB/latest/devguide/iam.resourcelevelpermissions.html">Resource-level
permissions</a>.
</p>
<p>
For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation
report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply
tags that represent business categories (such as cost centers, application names, or owners) to organize your
costs across multiple services. For more information, see <a
href="https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging.html">Using Cost Allocation Tags</a>.
</p>

@param tagResourceRequest
@return Result of the TagResource operation returned by the service.
@throws ClusterNotFoundException
@throws ParameterGroupNotFoundException
@throws SubnetGroupNotFoundException
@throws InvalidClusterStateException
@throws SnapshotNotFoundException
@throws UserNotFoundException
@throws ACLNotFoundException
@throws TagQuotaPerResourceExceededException
@throws InvalidARNException
@throws ServiceLinkedRoleNotFoundException
@sample AmazonMemoryDB.TagResource
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/TagResource" target="_top">AWS API
     Documentation</a>
aws-java-sdk-memorydb/src/main/java/com/amazonaws/services/memorydb/AmazonMemoryDBClient.java