/** * 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 PutEventsRequestEntry { public: AWS_CLOUDWATCHEVENTS_API PutEventsRequestEntry(); AWS_CLOUDWATCHEVENTS_API PutEventsRequestEntry(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUDWATCHEVENTS_API PutEventsRequestEntry& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUDWATCHEVENTS_API 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;} /** *

Amazon Web Services 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; } /** *

Amazon Web Services 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; } /** *

Amazon Web Services 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; } /** *

Amazon Web Services 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); } /** *

Amazon Web Services 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;} /** *

Amazon Web Services 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;} /** *

Amazon Web Services 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; } /** *

Amazon Web Services 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; } /** *

Amazon Web Services 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 name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

The name or ARN of the event bus to receive the event. Only the rules that * are associated with this event bus are used to match the event. If you omit * this, the default event bus is used.

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

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

*/ inline const Aws::String& GetTraceHeader() const{ return m_traceHeader; } /** *

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

*/ inline bool TraceHeaderHasBeenSet() const { return m_traceHeaderHasBeenSet; } /** *

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

*/ inline void SetTraceHeader(const Aws::String& value) { m_traceHeaderHasBeenSet = true; m_traceHeader = value; } /** *

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

*/ inline void SetTraceHeader(Aws::String&& value) { m_traceHeaderHasBeenSet = true; m_traceHeader = std::move(value); } /** *

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

*/ inline void SetTraceHeader(const char* value) { m_traceHeaderHasBeenSet = true; m_traceHeader.assign(value); } /** *

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

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

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

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

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that * contains the trace-id associated with the event.

To learn more about * X-Ray trace headers, see Tracing * header in the X-Ray Developer Guide.

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