/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CloudWatchEvents { namespace Model { /** *

Represents an event to be submitted.

See Also:

AWS * API Reference

*/ class AWS_CLOUDWATCHEVENTS_API PutEventsRequestEntry { public: PutEventsRequestEntry(); PutEventsRequestEntry(Aws::Utils::Json::JsonView jsonValue); PutEventsRequestEntry& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

*/ inline const Aws::Utils::DateTime& GetTime() const{ return m_time; } /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

*/ inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

*/ inline void SetTime(const Aws::Utils::DateTime& value) { m_timeHasBeenSet = true; m_time = value; } /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

*/ inline void SetTime(Aws::Utils::DateTime&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

*/ inline PutEventsRequestEntry& WithTime(const Aws::Utils::DateTime& value) { SetTime(value); return *this;} /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

*/ inline PutEventsRequestEntry& WithTime(Aws::Utils::DateTime&& value) { SetTime(std::move(value)); return *this;} /** *

The source of the event.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The source of the event.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The source of the event.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The source of the event.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The source of the event.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

The source of the event.

*/ inline PutEventsRequestEntry& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *

The source of the event.

*/ inline PutEventsRequestEntry& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *

The source of the event.

*/ inline PutEventsRequestEntry& WithSource(const char* value) { SetSource(value); return *this;} /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline const Aws::Vector& GetResources() const{ return m_resources; } /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline void SetResources(const Aws::Vector& value) { m_resourcesHasBeenSet = true; m_resources = value; } /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline void SetResources(Aws::Vector&& value) { m_resourcesHasBeenSet = true; m_resources = std::move(value); } /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline PutEventsRequestEntry& WithResources(const Aws::Vector& value) { SetResources(value); return *this;} /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline PutEventsRequestEntry& WithResources(Aws::Vector&& value) { SetResources(std::move(value)); return *this;} /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline PutEventsRequestEntry& AddResources(const Aws::String& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline PutEventsRequestEntry& AddResources(Aws::String&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } /** *

AWS resources, identified by Amazon Resource Name (ARN), which the event * primarily concerns. Any number, including zero, may be present.

*/ inline PutEventsRequestEntry& AddResources(const char* value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline const Aws::String& GetDetailType() const{ return m_detailType; } /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline bool DetailTypeHasBeenSet() const { return m_detailTypeHasBeenSet; } /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline void SetDetailType(const Aws::String& value) { m_detailTypeHasBeenSet = true; m_detailType = value; } /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline void SetDetailType(Aws::String&& value) { m_detailTypeHasBeenSet = true; m_detailType = std::move(value); } /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline void SetDetailType(const char* value) { m_detailTypeHasBeenSet = true; m_detailType.assign(value); } /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline PutEventsRequestEntry& WithDetailType(const Aws::String& value) { SetDetailType(value); return *this;} /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline PutEventsRequestEntry& WithDetailType(Aws::String&& value) { SetDetailType(std::move(value)); return *this;} /** *

Free-form string used to decide what fields to expect in the event * detail.

*/ inline PutEventsRequestEntry& WithDetailType(const char* value) { SetDetailType(value); return *this;} /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline const Aws::String& GetDetail() const{ return m_detail; } /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline bool DetailHasBeenSet() const { return m_detailHasBeenSet; } /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline void SetDetail(const Aws::String& value) { m_detailHasBeenSet = true; m_detail = value; } /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline void SetDetail(Aws::String&& value) { m_detailHasBeenSet = true; m_detail = std::move(value); } /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline void SetDetail(const char* value) { m_detailHasBeenSet = true; m_detail.assign(value); } /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline PutEventsRequestEntry& WithDetail(const Aws::String& value) { SetDetail(value); return *this;} /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline PutEventsRequestEntry& WithDetail(Aws::String&& value) { SetDetail(std::move(value)); return *this;} /** *

A valid JSON string. There is no other schema imposed. The JSON string may * contain fields and nested subobjects.

*/ inline PutEventsRequestEntry& WithDetail(const char* value) { SetDetail(value); return *this;} /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline const Aws::String& GetEventBusName() const{ return m_eventBusName; } /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline bool EventBusNameHasBeenSet() const { return m_eventBusNameHasBeenSet; } /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline void SetEventBusName(const Aws::String& value) { m_eventBusNameHasBeenSet = true; m_eventBusName = value; } /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline void SetEventBusName(Aws::String&& value) { m_eventBusNameHasBeenSet = true; m_eventBusName = std::move(value); } /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline void SetEventBusName(const char* value) { m_eventBusNameHasBeenSet = true; m_eventBusName.assign(value); } /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline PutEventsRequestEntry& WithEventBusName(const Aws::String& value) { SetEventBusName(value); return *this;} /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline PutEventsRequestEntry& WithEventBusName(Aws::String&& value) { SetEventBusName(std::move(value)); return *this;} /** *

The event bus that will receive the event. Only the rules that are associated * with this event bus will be able to match the event.

*/ inline PutEventsRequestEntry& WithEventBusName(const char* value) { SetEventBusName(value); return *this;} private: Aws::Utils::DateTime m_time; bool m_timeHasBeenSet; Aws::String m_source; bool m_sourceHasBeenSet; Aws::Vector m_resources; bool m_resourcesHasBeenSet; Aws::String m_detailType; bool m_detailTypeHasBeenSet; Aws::String m_detail; bool m_detailHasBeenSet; Aws::String m_eventBusName; bool m_eventBusNameHasBeenSet; }; } // namespace Model } // namespace CloudWatchEvents } // namespace Aws