/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace IoT1ClickDevicesService { namespace Model { /** */ class InvokeDeviceMethodRequest : public IoT1ClickDevicesServiceRequest { public: AWS_IOT1CLICKDEVICESSERVICE_API InvokeDeviceMethodRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "InvokeDeviceMethod"; } AWS_IOT1CLICKDEVICESSERVICE_API Aws::String SerializePayload() const override; /** *

The unique identifier of the device.

*/ inline const Aws::String& GetDeviceId() const{ return m_deviceId; } /** *

The unique identifier of the device.

*/ inline bool DeviceIdHasBeenSet() const { return m_deviceIdHasBeenSet; } /** *

The unique identifier of the device.

*/ inline void SetDeviceId(const Aws::String& value) { m_deviceIdHasBeenSet = true; m_deviceId = value; } /** *

The unique identifier of the device.

*/ inline void SetDeviceId(Aws::String&& value) { m_deviceIdHasBeenSet = true; m_deviceId = std::move(value); } /** *

The unique identifier of the device.

*/ inline void SetDeviceId(const char* value) { m_deviceIdHasBeenSet = true; m_deviceId.assign(value); } /** *

The unique identifier of the device.

*/ inline InvokeDeviceMethodRequest& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;} /** *

The unique identifier of the device.

*/ inline InvokeDeviceMethodRequest& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;} /** *

The unique identifier of the device.

*/ inline InvokeDeviceMethodRequest& WithDeviceId(const char* value) { SetDeviceId(value); return *this;} /** *

The device method to invoke.

*/ inline const DeviceMethod& GetDeviceMethod() const{ return m_deviceMethod; } /** *

The device method to invoke.

*/ inline bool DeviceMethodHasBeenSet() const { return m_deviceMethodHasBeenSet; } /** *

The device method to invoke.

*/ inline void SetDeviceMethod(const DeviceMethod& value) { m_deviceMethodHasBeenSet = true; m_deviceMethod = value; } /** *

The device method to invoke.

*/ inline void SetDeviceMethod(DeviceMethod&& value) { m_deviceMethodHasBeenSet = true; m_deviceMethod = std::move(value); } /** *

The device method to invoke.

*/ inline InvokeDeviceMethodRequest& WithDeviceMethod(const DeviceMethod& value) { SetDeviceMethod(value); return *this;} /** *

The device method to invoke.

*/ inline InvokeDeviceMethodRequest& WithDeviceMethod(DeviceMethod&& value) { SetDeviceMethod(std::move(value)); return *this;} /** *

A JSON encoded string containing the device method request parameters.

*/ inline const Aws::String& GetDeviceMethodParameters() const{ return m_deviceMethodParameters; } /** *

A JSON encoded string containing the device method request parameters.

*/ inline bool DeviceMethodParametersHasBeenSet() const { return m_deviceMethodParametersHasBeenSet; } /** *

A JSON encoded string containing the device method request parameters.

*/ inline void SetDeviceMethodParameters(const Aws::String& value) { m_deviceMethodParametersHasBeenSet = true; m_deviceMethodParameters = value; } /** *

A JSON encoded string containing the device method request parameters.

*/ inline void SetDeviceMethodParameters(Aws::String&& value) { m_deviceMethodParametersHasBeenSet = true; m_deviceMethodParameters = std::move(value); } /** *

A JSON encoded string containing the device method request parameters.

*/ inline void SetDeviceMethodParameters(const char* value) { m_deviceMethodParametersHasBeenSet = true; m_deviceMethodParameters.assign(value); } /** *

A JSON encoded string containing the device method request parameters.

*/ inline InvokeDeviceMethodRequest& WithDeviceMethodParameters(const Aws::String& value) { SetDeviceMethodParameters(value); return *this;} /** *

A JSON encoded string containing the device method request parameters.

*/ inline InvokeDeviceMethodRequest& WithDeviceMethodParameters(Aws::String&& value) { SetDeviceMethodParameters(std::move(value)); return *this;} /** *

A JSON encoded string containing the device method request parameters.

*/ inline InvokeDeviceMethodRequest& WithDeviceMethodParameters(const char* value) { SetDeviceMethodParameters(value); return *this;} private: Aws::String m_deviceId; bool m_deviceIdHasBeenSet = false; DeviceMethod m_deviceMethod; bool m_deviceMethodHasBeenSet = false; Aws::String m_deviceMethodParameters; bool m_deviceMethodParametersHasBeenSet = false; }; } // namespace Model } // namespace IoT1ClickDevicesService } // namespace Aws