/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include 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; /** *

The name of the channel where the messages are sent.

*/ inline const Aws::String& GetChannelName() const{ return m_channelName; } /** *

The name of the channel where the messages are sent.

*/ inline bool ChannelNameHasBeenSet() const { return m_channelNameHasBeenSet; } /** *

The name of the channel where the messages are sent.

*/ inline void SetChannelName(const Aws::String& value) { m_channelNameHasBeenSet = true; m_channelName = value; } /** *

The name of the channel where the messages are sent.

*/ inline void SetChannelName(Aws::String&& value) { m_channelNameHasBeenSet = true; m_channelName = std::move(value); } /** *

The name of the channel where the messages are sent.

*/ inline void SetChannelName(const char* value) { m_channelNameHasBeenSet = true; m_channelName.assign(value); } /** *

The name of the channel where the messages are sent.

*/ inline BatchPutMessageRequest& WithChannelName(const Aws::String& value) { SetChannelName(value); return *this;} /** *

The name of the channel where the messages are sent.

*/ inline BatchPutMessageRequest& WithChannelName(Aws::String&& value) { SetChannelName(std::move(value)); return *this;} /** *

The name of the channel where the messages are sent.

*/ inline BatchPutMessageRequest& WithChannelName(const char* value) { SetChannelName(value); return *this;} /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline const Aws::Vector& GetMessages() const{ return m_messages; } /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; } /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline void SetMessages(const Aws::Vector& value) { m_messagesHasBeenSet = true; m_messages = value; } /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline void SetMessages(Aws::Vector&& value) { m_messagesHasBeenSet = true; m_messages = std::move(value); } /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline BatchPutMessageRequest& WithMessages(const Aws::Vector& value) { SetMessages(value); return *this;} /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline BatchPutMessageRequest& WithMessages(Aws::Vector&& value) { SetMessages(std::move(value)); return *this;} /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ inline BatchPutMessageRequest& AddMessages(const Message& value) { m_messagesHasBeenSet = true; m_messages.push_back(value); return *this; } /** *

The list of messages to be sent. Each message has format: '{ "messageId": * "string", "payload": "string"}'.

Note that the field names of message * payloads (data) that you send to AWS IoT Analytics:

  • Must * contain only alphanumeric characters and undescores (_); no other special * characters are allowed.

  • Must begin with an alphabetic * character or single underscore (_).

  • Cannot contain hyphens * (-).

  • In regular expression terms: * "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot * be greater than 255 characters.

  • Are case-insensitive. (Fields * named "foo" and "FOO" in the same payload are considered duplicates.)

  • *

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.

*/ 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 m_messages; bool m_messagesHasBeenSet; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws