/* * Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.iotdata.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Publishes an MQTT message. *
** Requires permission to access the Publish action. *
** For more information about MQTT messages, see MQTT * Protocol in the IoT Developer Guide. *
** For more information about messaging costs, see IoT Core pricing - * Messaging. *
*/ public class PublishRequest extends AmazonWebServiceRequest implements Serializable { /** ** The name of the MQTT topic. *
*/ private String topic; /** ** The Quality of Service (QoS) level. *
*
* Constraints:
* Range: 0 - 1
*/
private Integer qos;
/**
*
* A Boolean value that determines whether to set the RETAIN flag when the * message is published. *
** Setting the RETAIN flag causes the message to be retained and sent to new * subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* The message body. MQTT accepts text, binary, and empty (null) message * payloads. *
*
* Publishing an empty (null) payload with retain = true
* deletes the retained message identified by topic from IoT Core.
*
* The name of the MQTT topic. *
* * @return* The name of the MQTT topic. *
*/ public String getTopic() { return topic; } /** ** The name of the MQTT topic. *
* * @param topic* The name of the MQTT topic. *
*/ public void setTopic(String topic) { this.topic = topic; } /** ** The name of the MQTT topic. *
** Returns a reference to this object so that method calls can be chained * together. * * @param topic
* The name of the MQTT topic. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PublishRequest withTopic(String topic) { this.topic = topic; return this; } /** ** The Quality of Service (QoS) level. *
*
* Constraints:
* Range: 0 - 1
*
* @return
* The Quality of Service (QoS) level. *
*/ public Integer getQos() { return qos; } /** ** The Quality of Service (QoS) level. *
*
* Constraints:
* Range: 0 - 1
*
* @param qos
* The Quality of Service (QoS) level. *
*/ public void setQos(Integer qos) { this.qos = qos; } /** ** The Quality of Service (QoS) level. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Range: 0 - 1
*
* @param qos
* The Quality of Service (QoS) level. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PublishRequest withQos(Integer qos) { this.qos = qos; return this; } /** ** A Boolean value that determines whether to set the RETAIN flag when the * message is published. *
** Setting the RETAIN flag causes the message to be retained and sent to new * subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* A Boolean value that determines whether to set the RETAIN flag * when the message is published. *
** Setting the RETAIN flag causes the message to be retained and * sent to new subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* A Boolean value that determines whether to set the RETAIN flag when the * message is published. *
** Setting the RETAIN flag causes the message to be retained and sent to new * subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* A Boolean value that determines whether to set the RETAIN flag * when the message is published. *
** Setting the RETAIN flag causes the message to be retained and * sent to new subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* A Boolean value that determines whether to set the RETAIN flag when the * message is published. *
** Setting the RETAIN flag causes the message to be retained and sent to new * subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* A Boolean value that determines whether to set the RETAIN flag * when the message is published. *
** Setting the RETAIN flag causes the message to be retained and * sent to new subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* A Boolean value that determines whether to set the RETAIN flag when the * message is published. *
** Setting the RETAIN flag causes the message to be retained and sent to new * subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* Returns a reference to this object so that method calls can be chained * together. * * @param retain
* A Boolean value that determines whether to set the RETAIN flag * when the message is published. *
** Setting the RETAIN flag causes the message to be retained and * sent to new subscribers to the topic. *
*
* Valid values: true
| false
*
* Default value: false
*
* The message body. MQTT accepts text, binary, and empty (null) message * payloads. *
*
* Publishing an empty (null) payload with retain = true
* deletes the retained message identified by topic from IoT Core.
*
* The message body. MQTT accepts text, binary, and empty (null) * message payloads. *
*
* Publishing an empty (null) payload with retain =
* true
deletes the retained message identified by
* topic from IoT Core.
*
* The message body. MQTT accepts text, binary, and empty (null) message * payloads. *
*
* Publishing an empty (null) payload with retain = true
* deletes the retained message identified by topic from IoT Core.
*
* The message body. MQTT accepts text, binary, and empty (null) * message payloads. *
*
* Publishing an empty (null) payload with retain =
* true
deletes the retained message identified by
* topic from IoT Core.
*
* The message body. MQTT accepts text, binary, and empty (null) message * payloads. *
*
* Publishing an empty (null) payload with retain = true
* deletes the retained message identified by topic from IoT Core.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param payload
* The message body. MQTT accepts text, binary, and empty (null) * message payloads. *
*
* Publishing an empty (null) payload with retain =
* true
deletes the retained message identified by
* topic from IoT Core.
*