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

mn.foreman.api.ForemanApi Maven / Gradle / Ivy

There is a newer version: 1.78.0
Show newest version
package mn.foreman.api;

import mn.foreman.api.endpoints.actions.Actions;
import mn.foreman.api.endpoints.autominer.Autominer;
import mn.foreman.api.endpoints.claymore.Claymore;
import mn.foreman.api.endpoints.csp.Csp;
import mn.foreman.api.endpoints.groups.Groups;
import mn.foreman.api.endpoints.miners.Miners;
import mn.foreman.api.endpoints.minertypes.MinerTypes;
import mn.foreman.api.endpoints.nicehash.Nicehash;
import mn.foreman.api.endpoints.notifications.Notifications;
import mn.foreman.api.endpoints.pickaxe.Pickaxe;
import mn.foreman.api.endpoints.ping.Ping;
import mn.foreman.api.endpoints.qse.Qse;
import mn.foreman.api.endpoints.sitemap.SiteMap;
import mn.foreman.api.endpoints.tags.Tags;

/**
 * A {@link ForemanApi} provides a mechanism for interacting with the Foreman
 * API.
 */
public interface ForemanApi {

    /**
     * Creates a new {@link Actions} that can be leveraged to operate on the
     * /api/actions Foreman API endpoint.
     *
     * @return The API handler.
     */
    Actions actions();

    /**
     * Creates an {@link Autominer} handler.
     *
     * @return The handler.
     */
    Autominer autominer();

    /**
     * Creates a {@link Claymore} handlers.
     *
     * @return The handler.
     */
    Claymore claymore();

    /**
     * Creates a {@link Csp} handler.
     *
     * @return The handler.
     */
    Csp csp();

    /**
     * Creates a new {@link Actions} that can be leveraged to operate on the
     * /api/groups Foreman API endpoint.
     *
     * @return The API handler.
     */
    Groups groups();

    /**
     * Creates a new {@link Miners} that can be leveraged to operate on the
     * /api/miners Foreman API endpoint.
     *
     * @return The API handler.
     */
    Miners miners();

    /**
     * Creates a new {@link MinerTypes}s that can be leveraged to operate on
     * the /api/v2/pickaxe/miner-types Foreman API endpoint.
     * @return The API handler
     */
    MinerTypes minerTypes();

    /**
     * Creates a {@link Nicehash} handler.
     *
     * @return The handler.
     */
    Nicehash nicehash();

    /**
     * Creates a new {@link Notifications} that can be leveraged to operate on
     * the /api/notifications Foreman API endpoint.
     *
     * @return The API handler.
     */
    Notifications notifications();

    /**
     * Creates a new {@link Pickaxe} that can be leveraged to operate on the
     * /api/pickaxe Foreman API endpoint.
     *
     * @return The API handler.
     */
    Pickaxe pickaxe();

    /**
     * Creates a new {@link Ping} that can be leveraged to test API
     * credentials.
     *
     * @return The new {@link Ping}.
     */
    Ping ping();

    /**
     * Creates a {@link Qse} handler.
     *
     * @return The handler.
     */
    Qse qse();

    /**
     * Creates a new {@link SiteMap} that can be leveraged to operate on the
     * /api/site-map Foreman API endpoint.
     *
     * @return The API handler.
     */
    SiteMap siteMap();

    /**
     * Creates a new {@link Tags} that can be leveraged to operate on the
     * /api/tags Foreman API endpoint.
     *
     * @return The API handlers.
     */
    Tags tags();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy