/** * 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 Neptune { namespace Model { /** */ class DescribeEventsRequest : public NeptuneRequest { public: AWS_NEPTUNE_API DescribeEventsRequest(); // 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 "DescribeEvents"; } AWS_NEPTUNE_API Aws::String SerializePayload() const override; protected: AWS_NEPTUNE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline const Aws::String& GetSourceIdentifier() const{ return m_sourceIdentifier; } /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline bool SourceIdentifierHasBeenSet() const { return m_sourceIdentifierHasBeenSet; } /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline void SetSourceIdentifier(const Aws::String& value) { m_sourceIdentifierHasBeenSet = true; m_sourceIdentifier = value; } /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline void SetSourceIdentifier(Aws::String&& value) { m_sourceIdentifierHasBeenSet = true; m_sourceIdentifier = std::move(value); } /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline void SetSourceIdentifier(const char* value) { m_sourceIdentifierHasBeenSet = true; m_sourceIdentifier.assign(value); } /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline DescribeEventsRequest& WithSourceIdentifier(const Aws::String& value) { SetSourceIdentifier(value); return *this;} /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline DescribeEventsRequest& WithSourceIdentifier(Aws::String&& value) { SetSourceIdentifier(std::move(value)); return *this;} /** *

The identifier of the event source for which events are returned. If not * specified, then all sources are included in the response.

*

Constraints:

  • If SourceIdentifier is supplied, SourceType * must also be provided.

  • If the source type is * DBInstance, then a DBInstanceIdentifier must be * supplied.

  • If the source type is DBSecurityGroup, * a DBSecurityGroupName must be supplied.

  • If the * source type is DBParameterGroup, a * DBParameterGroupName must be supplied.

  • If the * source type is DBSnapshot, a DBSnapshotIdentifier must * be supplied.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline DescribeEventsRequest& WithSourceIdentifier(const char* value) { SetSourceIdentifier(value); return *this;} /** *

The event source to retrieve events for. If no value is specified, all events * are returned.

*/ inline const SourceType& GetSourceType() const{ return m_sourceType; } /** *

The event source to retrieve events for. If no value is specified, all events * are returned.

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

The event source to retrieve events for. If no value is specified, all events * are returned.

*/ inline void SetSourceType(const SourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

The event source to retrieve events for. If no value is specified, all events * are returned.

*/ inline void SetSourceType(SourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

The event source to retrieve events for. If no value is specified, all events * are returned.

*/ inline DescribeEventsRequest& WithSourceType(const SourceType& value) { SetSourceType(value); return *this;} /** *

The event source to retrieve events for. If no value is specified, all events * are returned.

*/ inline DescribeEventsRequest& WithSourceType(SourceType&& value) { SetSourceType(std::move(value)); return *this;} /** *

The beginning of the time interval to retrieve events for, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The beginning of the time interval to retrieve events for, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The beginning of the time interval to retrieve events for, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The beginning of the time interval to retrieve events for, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The beginning of the time interval to retrieve events for, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline DescribeEventsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The beginning of the time interval to retrieve events for, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline DescribeEventsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The end of the time interval for which to retrieve events, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The end of the time interval for which to retrieve events, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The end of the time interval for which to retrieve events, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The end of the time interval for which to retrieve events, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The end of the time interval for which to retrieve events, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline DescribeEventsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The end of the time interval for which to retrieve events, specified in ISO * 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

*

Example: 2009-07-08T18:00Z

*/ inline DescribeEventsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

The number of minutes to retrieve events for.

Default: 60

*/ inline int GetDuration() const{ return m_duration; } /** *

The number of minutes to retrieve events for.

Default: 60

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

The number of minutes to retrieve events for.

Default: 60

*/ inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } /** *

The number of minutes to retrieve events for.

Default: 60

*/ inline DescribeEventsRequest& WithDuration(int value) { SetDuration(value); return *this;} /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline const Aws::Vector& GetEventCategories() const{ return m_eventCategories; } /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline bool EventCategoriesHasBeenSet() const { return m_eventCategoriesHasBeenSet; } /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline void SetEventCategories(const Aws::Vector& value) { m_eventCategoriesHasBeenSet = true; m_eventCategories = value; } /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline void SetEventCategories(Aws::Vector&& value) { m_eventCategoriesHasBeenSet = true; m_eventCategories = std::move(value); } /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline DescribeEventsRequest& WithEventCategories(const Aws::Vector& value) { SetEventCategories(value); return *this;} /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline DescribeEventsRequest& WithEventCategories(Aws::Vector&& value) { SetEventCategories(std::move(value)); return *this;} /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline DescribeEventsRequest& AddEventCategories(const Aws::String& value) { m_eventCategoriesHasBeenSet = true; m_eventCategories.push_back(value); return *this; } /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline DescribeEventsRequest& AddEventCategories(Aws::String&& value) { m_eventCategoriesHasBeenSet = true; m_eventCategories.push_back(std::move(value)); return *this; } /** *

A list of event categories that trigger notifications for a event * notification subscription.

*/ inline DescribeEventsRequest& AddEventCategories(const char* value) { m_eventCategoriesHasBeenSet = true; m_eventCategories.push_back(value); return *this; } /** *

This parameter is not currently supported.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

This parameter is not currently supported.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

This parameter is not currently supported.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

This parameter is not currently supported.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

This parameter is not currently supported.

*/ inline DescribeEventsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

This parameter is not currently supported.

*/ inline DescribeEventsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

This parameter is not currently supported.

*/ inline DescribeEventsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

This parameter is not currently supported.

*/ inline DescribeEventsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * called a marker is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

*/ inline int GetMaxRecords() const{ return m_maxRecords; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * called a marker is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

*/ inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * called a marker is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

*/ inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * called a marker is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

*/ inline DescribeEventsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;} /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline const Aws::String& GetMarker() const{ return m_marker; } /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline DescribeEventsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline DescribeEventsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

An optional pagination token provided by a previous DescribeEvents request. * If this parameter is specified, the response includes only records beyond the * marker, up to the value specified by MaxRecords.

*/ inline DescribeEventsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} private: Aws::String m_sourceIdentifier; bool m_sourceIdentifierHasBeenSet = false; SourceType m_sourceType; bool m_sourceTypeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; int m_duration; bool m_durationHasBeenSet = false; Aws::Vector m_eventCategories; bool m_eventCategoriesHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws