This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-iotanalytics/include/aws/iotanalytics/model/BatchPutMessageRequest.h

226 lines
12 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotanalytics/IoTAnalytics_EXPORTS.h>
#include <aws/iotanalytics/IoTAnalyticsRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/iotanalytics/model/Message.h>
#include <utility>
namespace Aws
{
namespace IoTAnalytics
{
namespace Model
{
/**
*/
class AWS_IOTANALYTICS_API BatchPutMessageRequest : public IoTAnalyticsRequest
{
public:
BatchPutMessageRequest();
// 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 "BatchPutMessage"; }
Aws::String SerializePayload() const override;
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline const Aws::String& GetChannelName() const{ return m_channelName; }
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline bool ChannelNameHasBeenSet() const { return m_channelNameHasBeenSet; }
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline void SetChannelName(const Aws::String& value) { m_channelNameHasBeenSet = true; m_channelName = value; }
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline void SetChannelName(Aws::String&& value) { m_channelNameHasBeenSet = true; m_channelName = std::move(value); }
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline void SetChannelName(const char* value) { m_channelNameHasBeenSet = true; m_channelName.assign(value); }
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline BatchPutMessageRequest& WithChannelName(const Aws::String& value) { SetChannelName(value); return *this;}
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline BatchPutMessageRequest& WithChannelName(Aws::String&& value) { SetChannelName(std::move(value)); return *this;}
/**
* <p>The name of the channel where the messages are sent.</p>
*/
inline BatchPutMessageRequest& WithChannelName(const char* value) { SetChannelName(value); return *this;}
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline const Aws::Vector<Message>& GetMessages() const{ return m_messages; }
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; }
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline void SetMessages(const Aws::Vector<Message>& value) { m_messagesHasBeenSet = true; m_messages = value; }
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline void SetMessages(Aws::Vector<Message>&& value) { m_messagesHasBeenSet = true; m_messages = std::move(value); }
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline BatchPutMessageRequest& WithMessages(const Aws::Vector<Message>& value) { SetMessages(value); return *this;}
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline BatchPutMessageRequest& WithMessages(Aws::Vector<Message>&& value) { SetMessages(std::move(value)); return *this;}
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline BatchPutMessageRequest& AddMessages(const Message& value) { m_messagesHasBeenSet = true; m_messages.push_back(value); return *this; }
/**
* <p>The list of messages to be sent. Each message has format: '{ "messageId":
* "string", "payload": "string"}'.</p> <p>Note that the field names of message
* payloads (data) that you send to AWS IoT Analytics:</p> <ul> <li> <p>Must
* contain only alphanumeric characters and undescores (_); no other special
* characters are allowed.</p> </li> <li> <p>Must begin with an alphabetic
* character or single underscore (_).</p> </li> <li> <p>Cannot contain hyphens
* (-).</p> </li> <li> <p>In regular expression terms:
* "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$". </p> </li> <li> <p>Cannot
* be greater than 255 characters.</p> </li> <li> <p>Are case-insensitive. (Fields
* named "foo" and "FOO" in the same payload are considered duplicates.)</p> </li>
* </ul> <p>For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but
* {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message
* payloads. </p>
*/
inline BatchPutMessageRequest& AddMessages(Message&& value) { m_messagesHasBeenSet = true; m_messages.push_back(std::move(value)); return *this; }
private:
Aws::String m_channelName;
bool m_channelNameHasBeenSet;
Aws::Vector<Message> m_messages;
bool m_messagesHasBeenSet;
};
} // namespace Model
} // namespace IoTAnalytics
} // namespace Aws