All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.instaclustr.cassandra.sidecar.operations.refresh.RefreshOperationRequest Maven / Gradle / Ivy

There is a newer version: 2.0.0-alpha8
Show newest version
package com.instaclustr.cassandra.sidecar.operations.refresh;

import javax.validation.constraints.NotEmpty;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import com.instaclustr.operations.OperationRequest;

/**
 * 
 * {@code
 * NAME
 *         nodetool refresh - Load newly placed SSTables to the system without
 *         restart
 *
 * SYNOPSIS
 *         nodetool [(-h  | --host )] [(-p  | --port )]
 *                 [(-pp | --print-port)] [(-pw  | --password )]
 *                 [(-pwf  | --password-file )]
 *                 [(-u  | --username )] refresh [--] 
 *                 
 *
 * OPTIONS
 *         -h , --host 
 *             Node hostname or ip address
 *
 *         -p , --port 
 *             Remote jmx agent port number
 *
 *         -pp, --print-port
 *             Operate in 4.0 mode with hosts disambiguated by port number
 *
 *         -pw , --password 
 *             Remote jmx agent password
 *
 *         -pwf , --password-file 
 *             Path to the JMX password file
 *
 *         -u , --username 
 *             Remote jmx agent username
 *
 *         --
 *             This option can be used to separate command-line options from the
 *             list of argument, (useful when arguments might be mistaken for
 *             command-line options
 *
 *          
* The keyspace and table name * } */ public class RefreshOperationRequest extends OperationRequest { @NotEmpty public final String keyspace; @NotEmpty public final String table; public RefreshOperationRequest(@NotEmpty final String keyspace, @NotEmpty final String table) { this("refresh", keyspace, table); } @JsonCreator public RefreshOperationRequest(@JsonProperty("type") final String type, @JsonProperty("keyspace") final String keyspace, @JsonProperty("table") final String table) { this.keyspace = keyspace; this.table = table; this.type = "refresh"; } @Override public String toString() { return MoreObjects.toStringHelper(this) .add("keyspace", keyspace) .add("table", table) .toString(); } }