docs: @Override
    public void createRetentionPolicy(final String rpName, final String database, final String duration,
                                      final String shardDuration, final int replicationFactor, final boolean isDefault) {
      Preconditions.checkNonEmptyString(rpName, "retentionPolicyName");
      Preconditions.checkNonEmptyString(database, "database");
      Preconditions.checkNonEmptyString(duration, "retentionDuration");
      Preconditions.checkDuration(duration, "retentionDuration");
      if (shardDuration != null && !shardDuration.isEmpty()) {
        Preconditions.checkDuration(shardDuration, "shardDuration");
      }
      Preconditions.checkPositiveNumber(replicationFactor, "replicationFactor");
  
      StringBuilder queryBuilder = new StringBuilder("CREATE RETENTION POLICY \"");
      queryBuilder.append(rpName)
          .append("\" ON \"")
          .append(database)
          .append("\" DURATION ")
          .append(duration)
          .append(" REPLICATION ")
          .append(replicationFactor);
      if (shardDuration != null && !shardDuration.isEmpty()) {
        queryBuilder.append(" SHARD DURATION ");
        queryBuilder.append(shardDuration);
      }
      if (isDefault) {
        queryBuilder.append(" DEFAULT");
      }
      executeQuery(this.influxDBService.postQuery(Query.encode(queryBuilder.toString())));
    }