/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DevOpsGuru { namespace Model { /** *

An Amazon Web Services resource event. Amazon Web Services resource events * and metrics are analyzed by DevOps Guru to find anomalous behavior and provide * recommendations to improve your operational solutions.

See Also:

* AWS * API Reference

*/ class Event { public: AWS_DEVOPSGURU_API Event(); AWS_DEVOPSGURU_API Event(Aws::Utils::Json::JsonView jsonValue); AWS_DEVOPSGURU_API Event& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DEVOPSGURU_API Aws::Utils::Json::JsonValue Jsonize() const; inline const ResourceCollection& GetResourceCollection() const{ return m_resourceCollection; } inline bool ResourceCollectionHasBeenSet() const { return m_resourceCollectionHasBeenSet; } inline void SetResourceCollection(const ResourceCollection& value) { m_resourceCollectionHasBeenSet = true; m_resourceCollection = value; } inline void SetResourceCollection(ResourceCollection&& value) { m_resourceCollectionHasBeenSet = true; m_resourceCollection = std::move(value); } inline Event& WithResourceCollection(const ResourceCollection& value) { SetResourceCollection(value); return *this;} inline Event& WithResourceCollection(ResourceCollection&& value) { SetResourceCollection(std::move(value)); return *this;} /** *

The ID of the event.

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

The ID of the event.

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

The ID of the event.

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

The ID of the event.

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

The ID of the event.

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

The ID of the event.

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

The ID of the event.

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

The ID of the event.

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

A Timestamp that specifies the time the event occurred.

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

A Timestamp that specifies the time the event occurred.

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

A Timestamp that specifies the time the event occurred.

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

A Timestamp that specifies the time the event occurred.

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

A Timestamp that specifies the time the event occurred.

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

A Timestamp that specifies the time the event occurred.

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

The Amazon Web Services source that emitted the event.

*/ inline const Aws::String& GetEventSource() const{ return m_eventSource; } /** *

The Amazon Web Services source that emitted the event.

*/ inline bool EventSourceHasBeenSet() const { return m_eventSourceHasBeenSet; } /** *

The Amazon Web Services source that emitted the event.

*/ inline void SetEventSource(const Aws::String& value) { m_eventSourceHasBeenSet = true; m_eventSource = value; } /** *

The Amazon Web Services source that emitted the event.

*/ inline void SetEventSource(Aws::String&& value) { m_eventSourceHasBeenSet = true; m_eventSource = std::move(value); } /** *

The Amazon Web Services source that emitted the event.

*/ inline void SetEventSource(const char* value) { m_eventSourceHasBeenSet = true; m_eventSource.assign(value); } /** *

The Amazon Web Services source that emitted the event.

*/ inline Event& WithEventSource(const Aws::String& value) { SetEventSource(value); return *this;} /** *

The Amazon Web Services source that emitted the event.

*/ inline Event& WithEventSource(Aws::String&& value) { SetEventSource(std::move(value)); return *this;} /** *

The Amazon Web Services source that emitted the event.

*/ inline Event& WithEventSource(const char* value) { SetEventSource(value); return *this;} /** *

The name of the event.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the event.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the event.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the event.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the event.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the event.

*/ inline Event& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the event.

*/ inline Event& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the event.

*/ inline Event& WithName(const char* value) { SetName(value); return *this;} /** *

The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, * where DevOps Guru analysis found the event.

*/ inline const EventDataSource& GetDataSource() const{ return m_dataSource; } /** *

The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, * where DevOps Guru analysis found the event.

*/ inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; } /** *

The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, * where DevOps Guru analysis found the event.

*/ inline void SetDataSource(const EventDataSource& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; } /** *

The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, * where DevOps Guru analysis found the event.

*/ inline void SetDataSource(EventDataSource&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); } /** *

The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, * where DevOps Guru analysis found the event.

*/ inline Event& WithDataSource(const EventDataSource& value) { SetDataSource(value); return *this;} /** *

The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, * where DevOps Guru analysis found the event.

*/ inline Event& WithDataSource(EventDataSource&& value) { SetDataSource(std::move(value)); return *this;} /** *

The class of the event. The class specifies what the event is related to, * such as an infrastructure change, a deployment, or a schema change.

*/ inline const EventClass& GetEventClass() const{ return m_eventClass; } /** *

The class of the event. The class specifies what the event is related to, * such as an infrastructure change, a deployment, or a schema change.

*/ inline bool EventClassHasBeenSet() const { return m_eventClassHasBeenSet; } /** *

The class of the event. The class specifies what the event is related to, * such as an infrastructure change, a deployment, or a schema change.

*/ inline void SetEventClass(const EventClass& value) { m_eventClassHasBeenSet = true; m_eventClass = value; } /** *

The class of the event. The class specifies what the event is related to, * such as an infrastructure change, a deployment, or a schema change.

*/ inline void SetEventClass(EventClass&& value) { m_eventClassHasBeenSet = true; m_eventClass = std::move(value); } /** *

The class of the event. The class specifies what the event is related to, * such as an infrastructure change, a deployment, or a schema change.

*/ inline Event& WithEventClass(const EventClass& value) { SetEventClass(value); return *this;} /** *

The class of the event. The class specifies what the event is related to, * such as an infrastructure change, a deployment, or a schema change.

*/ inline Event& WithEventClass(EventClass&& value) { SetEventClass(std::move(value)); return *this;} /** *

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

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

An EventResource object that contains information about the * resource that emitted the event.

*/ inline Event& AddResources(EventResource&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } private: ResourceCollection m_resourceCollection; bool m_resourceCollectionHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Utils::DateTime m_time; bool m_timeHasBeenSet = false; Aws::String m_eventSource; bool m_eventSourceHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; EventDataSource m_dataSource; bool m_dataSourceHasBeenSet = false; EventClass m_eventClass; bool m_eventClassHasBeenSet = false; Aws::Vector m_resources; bool m_resourcesHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws