/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace CloudWatchRUM { namespace Model { /** */ class PutRumEventsRequest : public CloudWatchRUMRequest { public: AWS_CLOUDWATCHRUM_API PutRumEventsRequest(); // 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 "PutRumEvents"; } AWS_CLOUDWATCHRUM_API Aws::String SerializePayload() const override; /** *

A structure that contains information about the app monitor that collected * this telemetry information.

*/ inline const AppMonitorDetails& GetAppMonitorDetails() const{ return m_appMonitorDetails; } /** *

A structure that contains information about the app monitor that collected * this telemetry information.

*/ inline bool AppMonitorDetailsHasBeenSet() const { return m_appMonitorDetailsHasBeenSet; } /** *

A structure that contains information about the app monitor that collected * this telemetry information.

*/ inline void SetAppMonitorDetails(const AppMonitorDetails& value) { m_appMonitorDetailsHasBeenSet = true; m_appMonitorDetails = value; } /** *

A structure that contains information about the app monitor that collected * this telemetry information.

*/ inline void SetAppMonitorDetails(AppMonitorDetails&& value) { m_appMonitorDetailsHasBeenSet = true; m_appMonitorDetails = std::move(value); } /** *

A structure that contains information about the app monitor that collected * this telemetry information.

*/ inline PutRumEventsRequest& WithAppMonitorDetails(const AppMonitorDetails& value) { SetAppMonitorDetails(value); return *this;} /** *

A structure that contains information about the app monitor that collected * this telemetry information.

*/ inline PutRumEventsRequest& WithAppMonitorDetails(AppMonitorDetails&& value) { SetAppMonitorDetails(std::move(value)); return *this;} /** *

A unique identifier for this batch of RUM event data.

*/ inline const Aws::String& GetBatchId() const{ return m_batchId; } /** *

A unique identifier for this batch of RUM event data.

*/ inline bool BatchIdHasBeenSet() const { return m_batchIdHasBeenSet; } /** *

A unique identifier for this batch of RUM event data.

*/ inline void SetBatchId(const Aws::String& value) { m_batchIdHasBeenSet = true; m_batchId = value; } /** *

A unique identifier for this batch of RUM event data.

*/ inline void SetBatchId(Aws::String&& value) { m_batchIdHasBeenSet = true; m_batchId = std::move(value); } /** *

A unique identifier for this batch of RUM event data.

*/ inline void SetBatchId(const char* value) { m_batchIdHasBeenSet = true; m_batchId.assign(value); } /** *

A unique identifier for this batch of RUM event data.

*/ inline PutRumEventsRequest& WithBatchId(const Aws::String& value) { SetBatchId(value); return *this;} /** *

A unique identifier for this batch of RUM event data.

*/ inline PutRumEventsRequest& WithBatchId(Aws::String&& value) { SetBatchId(std::move(value)); return *this;} /** *

A unique identifier for this batch of RUM event data.

*/ inline PutRumEventsRequest& WithBatchId(const char* value) { SetBatchId(value); return *this;} /** *

The ID of the app monitor that is sending this data.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the app monitor that is sending this data.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the app monitor that is sending this data.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the app monitor that is sending this data.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the app monitor that is sending this data.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the app monitor that is sending this data.

*/ inline PutRumEventsRequest& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the app monitor that is sending this data.

*/ inline PutRumEventsRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the app monitor that is sending this data.

*/ inline PutRumEventsRequest& WithId(const char* value) { SetId(value); return *this;} /** *

An array of structures that contain the telemetry event data.

*/ inline const Aws::Vector& GetRumEvents() const{ return m_rumEvents; } /** *

An array of structures that contain the telemetry event data.

*/ inline bool RumEventsHasBeenSet() const { return m_rumEventsHasBeenSet; } /** *

An array of structures that contain the telemetry event data.

*/ inline void SetRumEvents(const Aws::Vector& value) { m_rumEventsHasBeenSet = true; m_rumEvents = value; } /** *

An array of structures that contain the telemetry event data.

*/ inline void SetRumEvents(Aws::Vector&& value) { m_rumEventsHasBeenSet = true; m_rumEvents = std::move(value); } /** *

An array of structures that contain the telemetry event data.

*/ inline PutRumEventsRequest& WithRumEvents(const Aws::Vector& value) { SetRumEvents(value); return *this;} /** *

An array of structures that contain the telemetry event data.

*/ inline PutRumEventsRequest& WithRumEvents(Aws::Vector&& value) { SetRumEvents(std::move(value)); return *this;} /** *

An array of structures that contain the telemetry event data.

*/ inline PutRumEventsRequest& AddRumEvents(const RumEvent& value) { m_rumEventsHasBeenSet = true; m_rumEvents.push_back(value); return *this; } /** *

An array of structures that contain the telemetry event data.

*/ inline PutRumEventsRequest& AddRumEvents(RumEvent&& value) { m_rumEventsHasBeenSet = true; m_rumEvents.push_back(std::move(value)); return *this; } /** *

A structure that contains information about the user session that this batch * of events was collected from.

*/ inline const UserDetails& GetUserDetails() const{ return m_userDetails; } /** *

A structure that contains information about the user session that this batch * of events was collected from.

*/ inline bool UserDetailsHasBeenSet() const { return m_userDetailsHasBeenSet; } /** *

A structure that contains information about the user session that this batch * of events was collected from.

*/ inline void SetUserDetails(const UserDetails& value) { m_userDetailsHasBeenSet = true; m_userDetails = value; } /** *

A structure that contains information about the user session that this batch * of events was collected from.

*/ inline void SetUserDetails(UserDetails&& value) { m_userDetailsHasBeenSet = true; m_userDetails = std::move(value); } /** *

A structure that contains information about the user session that this batch * of events was collected from.

*/ inline PutRumEventsRequest& WithUserDetails(const UserDetails& value) { SetUserDetails(value); return *this;} /** *

A structure that contains information about the user session that this batch * of events was collected from.

*/ inline PutRumEventsRequest& WithUserDetails(UserDetails&& value) { SetUserDetails(std::move(value)); return *this;} private: AppMonitorDetails m_appMonitorDetails; bool m_appMonitorDetailsHasBeenSet = false; Aws::String m_batchId; bool m_batchIdHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Vector m_rumEvents; bool m_rumEventsHasBeenSet = false; UserDetails m_userDetails; bool m_userDetailsHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchRUM } // namespace Aws