microsoft-bonsai-api-main/Java/com.microsoft.bonsai.api/simulator/generated/src/main/java/com/microsoft/bonsai/simulatorapi/models/SimulatorInterface.java
<reponame>gyasibaaye/BonsaiTBA/**
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is
 * regenerated.
 */

package com.microsoft.bonsai.simulatorapi.models;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * It contains all the registration/creation time properties of a simulator
 * session.
 */
public class SimulatorInterface {
    /**
     * Name of the simulator session.
     */
    @JsonProperty(value = "name", required = true)
    private String name;

    /**
     * This is the max time in seconds, within which simulator need to send
     * advance request, else it will be timed out and unregistered from Bonsai
     * platform.
     * Set it to (SimulatorComputeTime + RTT network latency + few seconds)
     * Default is 60s.
     */
    @JsonProperty(value = "timeout")
    private Double timeout;

    /**
     * Additional Capabilities for the session.
     */
    @JsonProperty(value = "capabilities")
    private Object capabilities;

    /**
     * Opaque string to the sim authors. It's used to connect simulator
     * sessions to right brain.false
     * For hosted sims, we automatically take care of setting the right
     * environment variable for this.
     * For Local sims, set it to empty string, and use Bonsai CLI's, `bonsai
     * connect` command.
     */
    @JsonProperty(value = "simulatorContext")
    private String simulatorContext;

    /**
     * Schema descriptions of the simulator. Contains State, Action and Config
     * schemas.
     */
    @JsonProperty(value = "description")
    private Object description;

    /**
     * Get name of the simulator session.
     *
     * @return the name value
     */
    public String name() {
        return this.name;
    }

    /**
     * Set name of the simulator session.
     *
     * @param name the name value to set
     * @return the SimulatorInterface object itself.
     */
    public SimulatorInterface withName(String name) {
        this.name = name;
        return this;
    }

    /**
     * Get this is the max time in seconds, within which simulator need to send advance request, else it will be timed out and unregistered from Bonsai platform.
     Set it to (SimulatorComputeTime + RTT network latency + few seconds)
     Default is 60s.
     *
     * @return the timeout value
     */
    public Double timeout() {
        return this.timeout;
    }

    /**
     * Set this is the max time in seconds, within which simulator need to send advance request, else it will be timed out and unregistered from Bonsai platform.
     Set it to (SimulatorComputeTime + RTT network latency + few seconds)
     Default is 60s.
     *
     * @param timeout the timeout value to set
     * @return the SimulatorInterface object itself.
     */
    public SimulatorInterface withTimeout(Double timeout) {
        this.timeout = timeout;
        return this;
    }

    /**
     * Get additional Capabilities for the session.
     *
     * @return the capabilities value
     */
    public Object capabilities() {
        return this.capabilities;
    }

    /**
     * Set additional Capabilities for the session.
     *
     * @param capabilities the capabilities value to set
     * @return the SimulatorInterface object itself.
     */
    public SimulatorInterface withCapabilities(Object capabilities) {
        this.capabilities = capabilities;
        return this;
    }

    /**
     * Get opaque string to the sim authors. It's used to connect simulator sessions to right brain.false
     For hosted sims, we automatically take care of setting the right environment variable for this.
     For Local sims, set it to empty string, and use Bonsai CLI's, `bonsai connect` command.
     *
     * @return the simulatorContext value
     */
    public String simulatorContext() {
        return this.simulatorContext;
    }

    /**
     * Set opaque string to the sim authors. It's used to connect simulator sessions to right brain.false
     For hosted sims, we automatically take care of setting the right environment variable for this.
     For Local sims, set it to empty string, and use Bonsai CLI's, `bonsai connect` command.
     *
     * @param simulatorContext the simulatorContext value to set
     * @return the SimulatorInterface object itself.
     */
    public SimulatorInterface withSimulatorContext(String simulatorContext) {
        this.simulatorContext = simulatorContext;
        return this;
    }

    /**
     * Get schema descriptions of the simulator. Contains State, Action and Config schemas.
     *
     * @return the description value
     */
    public Object description() {
        return this.description;
    }

    /**
     * Set schema descriptions of the simulator. Contains State, Action and Config schemas.
     *
     * @param description the description value to set
     * @return the SimulatorInterface object itself.
     */
    public SimulatorInterface withDescription(Object description) {
        this.description = description;
        return this;
    }

}
