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

com.microsoft.azure.sdk.iot.service.digitaltwin.generated.DigitalTwins Maven / Gradle / Ivy

The newest version!
/*
  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.azure.sdk.iot.service.digitaltwin.generated;

import com.microsoft.azure.sdk.iot.service.digitaltwin.generated.models.DigitalTwinGetDigitalTwinHeaders;
import com.microsoft.azure.sdk.iot.service.digitaltwin.generated.models.DigitalTwinInvokeComponentCommandHeaders;
import com.microsoft.azure.sdk.iot.service.digitaltwin.generated.models.DigitalTwinInvokeRootLevelCommandHeaders;
import com.microsoft.azure.sdk.iot.service.digitaltwin.generated.models.DigitalTwinUpdateDigitalTwinHeaders;
import com.microsoft.rest.RestException;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
import com.microsoft.rest.ServiceResponseWithHeaders;

import java.util.List;
import rx.Observable;

/**
 * An instance of this class provides access to all the operations defined
 * in DigitalTwins.
 */
public interface DigitalTwins {
    /**
     * Gets a digital twin.
     *
     * @param id Digital Twin ID.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     * @return the Object object if successful.
     */
    Object getDigitalTwin(String id);

    /**
     * Gets a digital twin.
     *
     * @param id Digital Twin ID.
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture getDigitalTwinAsync(String id, final ServiceCallback serviceCallback);

    /**
     * Gets a digital twin.
     *
     * @param id Digital Twin ID.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable getDigitalTwinAsync(String id);

    /**
     * Gets a digital twin.
     *
     * @param id Digital Twin ID.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable> getDigitalTwinWithServiceResponseAsync(String id);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     */
    void updateDigitalTwin(String id, List digitalTwinPatch);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture updateDigitalTwinAsync(String id, List digitalTwinPatch, final ServiceCallback serviceCallback);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceResponseWithHeaders} object if successful.
     */
    Observable updateDigitalTwinAsync(String id, List digitalTwinPatch);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceResponseWithHeaders} object if successful.
     */
    Observable> updateDigitalTwinWithServiceResponseAsync(String id, List digitalTwinPatch);
    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @param ifMatch the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     */
    void updateDigitalTwin(String id, List digitalTwinPatch, String ifMatch);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @param ifMatch the String value
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture updateDigitalTwinAsync(String id, List digitalTwinPatch, String ifMatch, final ServiceCallback serviceCallback);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @param ifMatch the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceResponseWithHeaders} object if successful.
     */
    Observable updateDigitalTwinAsync(String id, List digitalTwinPatch, String ifMatch);

    /**
     * Updates a digital twin.
     *
     * @param id Digital Twin ID.
     * @param digitalTwinPatch json-patch contents to update.
     * @param ifMatch the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceResponseWithHeaders} object if successful.
     */
    Observable> updateDigitalTwinWithServiceResponseAsync(String id, List digitalTwinPatch, String ifMatch);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     * @return the Object object if successful.
     */
    Object invokeRootLevelCommand(String id, String commandName);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture invokeRootLevelCommandAsync(String id, String commandName, final ServiceCallback serviceCallback);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable invokeRootLevelCommandAsync(String id, String commandName);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable> invokeRootLevelCommandWithServiceResponseAsync(String id, String commandName);
    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     * @return the Object object if successful.
     */
    Object invokeRootLevelCommand(String id, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture invokeRootLevelCommandAsync(String id, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds, final ServiceCallback serviceCallback);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable invokeRootLevelCommandAsync(String id, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds);

    /**
     * Invoke a digital twin root level command.
     *
     * @param id the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable> invokeRootLevelCommandWithServiceResponseAsync(String id, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     * @return the Object object if successful.
     */
    Object invokeComponentCommand(String id, String componentPath, String commandName);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture invokeComponentCommandAsync(String id, String componentPath, String commandName, final ServiceCallback serviceCallback);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable invokeComponentCommandAsync(String id, String componentPath, String commandName);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable> invokeComponentCommandWithServiceResponseAsync(String id, String componentPath, String commandName);
    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @throws RestException thrown if the request is rejected by server
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
     * @return the Object object if successful.
     */
    Object invokeComponentCommand(String id, String componentPath, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the {@link ServiceFuture} object
     */
    ServiceFuture invokeComponentCommandAsync(String id, String componentPath, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds, final ServiceCallback serviceCallback);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable invokeComponentCommandAsync(String id, String componentPath, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds);

    /**
     * Invoke a digital twin command.
     *
     * @param id the String value
     * @param componentPath the String value
     * @param commandName the String value
     * @param payload the Object value
     * @param connectTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @param responseTimeoutInSeconds Maximum interval of time, in seconds, that the digital twin command will wait for the answer.
     * @throws IllegalArgumentException thrown if parameters fail the validation
     * @return the observable to the Object object
     */
    Observable> invokeComponentCommandWithServiceResponseAsync(String id, String componentPath, String commandName, Object payload, Integer connectTimeoutInSeconds, Integer responseTimeoutInSeconds);

}