/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies MQTT Version 5.0 headers information. For more information, see MQTT
* from Amazon Web Services IoT Core Developer Guide.See Also:
AWS API
* Reference
An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline const Aws::String& GetPayloadFormatIndicator() const{ return m_payloadFormatIndicator; } /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline bool PayloadFormatIndicatorHasBeenSet() const { return m_payloadFormatIndicatorHasBeenSet; } /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline void SetPayloadFormatIndicator(const Aws::String& value) { m_payloadFormatIndicatorHasBeenSet = true; m_payloadFormatIndicator = value; } /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline void SetPayloadFormatIndicator(Aws::String&& value) { m_payloadFormatIndicatorHasBeenSet = true; m_payloadFormatIndicator = std::move(value); } /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline void SetPayloadFormatIndicator(const char* value) { m_payloadFormatIndicatorHasBeenSet = true; m_payloadFormatIndicator.assign(value); } /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline MqttHeaders& WithPayloadFormatIndicator(const Aws::String& value) { SetPayloadFormatIndicator(value); return *this;} /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline MqttHeaders& WithPayloadFormatIndicator(Aws::String&& value) { SetPayloadFormatIndicator(std::move(value)); return *this;} /** *An Enum
string value that indicates whether the payload is
* formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES
and
* UTF8_DATA
.
For more information, see * Payload Format Indicator from the MQTT Version 5.0 specification.
*Supports substitution * templates.
*/ inline MqttHeaders& WithPayloadFormatIndicator(const char* value) { SetPayloadFormatIndicator(value); return *this;} /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline const Aws::String& GetContentType() const{ return m_contentType; } /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline MqttHeaders& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline MqttHeaders& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} /** *A UTF-8 encoded string that describes the content of the publishing * message.
For more information, see * Content Type from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline MqttHeaders& WithContentType(const char* value) { SetContentType(value); return *this;} /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline const Aws::String& GetResponseTopic() const{ return m_responseTopic; } /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline bool ResponseTopicHasBeenSet() const { return m_responseTopicHasBeenSet; } /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline void SetResponseTopic(const Aws::String& value) { m_responseTopicHasBeenSet = true; m_responseTopic = value; } /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline void SetResponseTopic(Aws::String&& value) { m_responseTopicHasBeenSet = true; m_responseTopic = std::move(value); } /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline void SetResponseTopic(const char* value) { m_responseTopicHasBeenSet = true; m_responseTopic.assign(value); } /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline MqttHeaders& WithResponseTopic(const Aws::String& value) { SetResponseTopic(value); return *this;} /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline MqttHeaders& WithResponseTopic(Aws::String&& value) { SetResponseTopic(std::move(value)); return *this;} /** *A UTF-8 encoded string that's used as the topic name for a response message. * The response topic is used to describe the topic which the receiver should * publish to as part of the request-response flow. The topic must not contain * wildcard characters.
For more information, see * Response Topic from the MQTT Version 5.0 specification.
Supports substitution * templates.
*/ inline MqttHeaders& WithResponseTopic(const char* value) { SetResponseTopic(value); return *this;} /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline const Aws::String& GetCorrelationData() const{ return m_correlationData; } /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline bool CorrelationDataHasBeenSet() const { return m_correlationDataHasBeenSet; } /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline void SetCorrelationData(const Aws::String& value) { m_correlationDataHasBeenSet = true; m_correlationData = value; } /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline void SetCorrelationData(Aws::String&& value) { m_correlationDataHasBeenSet = true; m_correlationData = std::move(value); } /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline void SetCorrelationData(const char* value) { m_correlationDataHasBeenSet = true; m_correlationData.assign(value); } /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline MqttHeaders& WithCorrelationData(const Aws::String& value) { SetCorrelationData(value); return *this;} /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline MqttHeaders& WithCorrelationData(Aws::String&& value) { SetCorrelationData(std::move(value)); return *this;} /** *The base64-encoded binary data used by the sender of the request message to * identify which request the response message is for when it's received.
*For more information, see * Correlation Data from the MQTT Version 5.0 specification.
* This binary data must be based64-encoded.
Supports substitution * templates.
*/ inline MqttHeaders& WithCorrelationData(const char* value) { SetCorrelationData(value); return *this;} /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline const Aws::String& GetMessageExpiry() const{ return m_messageExpiry; } /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline bool MessageExpiryHasBeenSet() const { return m_messageExpiryHasBeenSet; } /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline void SetMessageExpiry(const Aws::String& value) { m_messageExpiryHasBeenSet = true; m_messageExpiry = value; } /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline void SetMessageExpiry(Aws::String&& value) { m_messageExpiryHasBeenSet = true; m_messageExpiry = std::move(value); } /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline void SetMessageExpiry(const char* value) { m_messageExpiryHasBeenSet = true; m_messageExpiry.assign(value); } /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline MqttHeaders& WithMessageExpiry(const Aws::String& value) { SetMessageExpiry(value); return *this;} /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline MqttHeaders& WithMessageExpiry(Aws::String&& value) { SetMessageExpiry(std::move(value)); return *this;} /** *A user-defined integer value that will persist a message at the message
* broker for a specified amount of time to ensure that the message will expire if
* it's no longer relevant to the subscriber. The value of
* messageExpiry
represents the number of seconds before it expires.
* For more information about the limits of messageExpiry
, see Amazon
* Web Services IoT Core message broker and protocol limits and quotas from
* the Amazon Web Services Reference Guide.
Supports substitution * templates.
*/ inline MqttHeaders& WithMessageExpiry(const char* value) { SetMessageExpiry(value); return *this;} /** *An array of key-value pairs that you define in the MQTT5 header.
*/ inline const Aws::VectorAn array of key-value pairs that you define in the MQTT5 header.
*/ inline bool UserPropertiesHasBeenSet() const { return m_userPropertiesHasBeenSet; } /** *An array of key-value pairs that you define in the MQTT5 header.
*/ inline void SetUserProperties(const Aws::VectorAn array of key-value pairs that you define in the MQTT5 header.
*/ inline void SetUserProperties(Aws::VectorAn array of key-value pairs that you define in the MQTT5 header.
*/ inline MqttHeaders& WithUserProperties(const Aws::VectorAn array of key-value pairs that you define in the MQTT5 header.
*/ inline MqttHeaders& WithUserProperties(Aws::VectorAn array of key-value pairs that you define in the MQTT5 header.
*/ inline MqttHeaders& AddUserProperties(const UserProperty& value) { m_userPropertiesHasBeenSet = true; m_userProperties.push_back(value); return *this; } /** *An array of key-value pairs that you define in the MQTT5 header.
*/ inline MqttHeaders& AddUserProperties(UserProperty&& value) { m_userPropertiesHasBeenSet = true; m_userProperties.push_back(std::move(value)); return *this; } private: Aws::String m_payloadFormatIndicator; bool m_payloadFormatIndicatorHasBeenSet = false; Aws::String m_contentType; bool m_contentTypeHasBeenSet = false; Aws::String m_responseTopic; bool m_responseTopicHasBeenSet = false; Aws::String m_correlationData; bool m_correlationDataHasBeenSet = false; Aws::String m_messageExpiry; bool m_messageExpiryHasBeenSet = false; Aws::Vector