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

The record of the incident that's created when an incident * occurs.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the incident record.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline IncidentRecord& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline IncidentRecord& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the incident record.

*/ inline IncidentRecord& WithArn(const char* value) { SetArn(value); return *this;} /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline const Aws::Vector& GetAutomationExecutions() const{ return m_automationExecutions; } /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline bool AutomationExecutionsHasBeenSet() const { return m_automationExecutionsHasBeenSet; } /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline void SetAutomationExecutions(const Aws::Vector& value) { m_automationExecutionsHasBeenSet = true; m_automationExecutions = value; } /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline void SetAutomationExecutions(Aws::Vector&& value) { m_automationExecutionsHasBeenSet = true; m_automationExecutions = std::move(value); } /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline IncidentRecord& WithAutomationExecutions(const Aws::Vector& value) { SetAutomationExecutions(value); return *this;} /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline IncidentRecord& WithAutomationExecutions(Aws::Vector&& value) { SetAutomationExecutions(std::move(value)); return *this;} /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline IncidentRecord& AddAutomationExecutions(const AutomationExecution& value) { m_automationExecutionsHasBeenSet = true; m_automationExecutions.push_back(value); return *this; } /** *

The runbook, or automation document, that's run at the beginning of the * incident.

*/ inline IncidentRecord& AddAutomationExecutions(AutomationExecution&& value) { m_automationExecutionsHasBeenSet = true; m_automationExecutions.push_back(std::move(value)); return *this; } /** *

The chat channel used for collaboration during an incident.

*/ inline const ChatChannel& GetChatChannel() const{ return m_chatChannel; } /** *

The chat channel used for collaboration during an incident.

*/ inline bool ChatChannelHasBeenSet() const { return m_chatChannelHasBeenSet; } /** *

The chat channel used for collaboration during an incident.

*/ inline void SetChatChannel(const ChatChannel& value) { m_chatChannelHasBeenSet = true; m_chatChannel = value; } /** *

The chat channel used for collaboration during an incident.

*/ inline void SetChatChannel(ChatChannel&& value) { m_chatChannelHasBeenSet = true; m_chatChannel = std::move(value); } /** *

The chat channel used for collaboration during an incident.

*/ inline IncidentRecord& WithChatChannel(const ChatChannel& value) { SetChatChannel(value); return *this;} /** *

The chat channel used for collaboration during an incident.

*/ inline IncidentRecord& WithChatChannel(ChatChannel&& value) { SetChatChannel(std::move(value)); return *this;} /** *

The time that Incident Manager created the incident record.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time that Incident Manager created the incident record.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time that Incident Manager created the incident record.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time that Incident Manager created the incident record.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time that Incident Manager created the incident record.

*/ inline IncidentRecord& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time that Incident Manager created the incident record.

*/ inline IncidentRecord& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline const Aws::String& GetDedupeString() const{ return m_dedupeString; } /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline bool DedupeStringHasBeenSet() const { return m_dedupeStringHasBeenSet; } /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline void SetDedupeString(const Aws::String& value) { m_dedupeStringHasBeenSet = true; m_dedupeString = value; } /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline void SetDedupeString(Aws::String&& value) { m_dedupeStringHasBeenSet = true; m_dedupeString = std::move(value); } /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline void SetDedupeString(const char* value) { m_dedupeStringHasBeenSet = true; m_dedupeString.assign(value); } /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline IncidentRecord& WithDedupeString(const Aws::String& value) { SetDedupeString(value); return *this;} /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline IncidentRecord& WithDedupeString(Aws::String&& value) { SetDedupeString(std::move(value)); return *this;} /** *

The string Incident Manager uses to prevent duplicate incidents from being * created by the same incident in the same account.

*/ inline IncidentRecord& WithDedupeString(const char* value) { SetDedupeString(value); return *this;} /** *

The impact of the incident on customers and applications.

*/ inline int GetImpact() const{ return m_impact; } /** *

The impact of the incident on customers and applications.

*/ inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; } /** *

The impact of the incident on customers and applications.

*/ inline void SetImpact(int value) { m_impactHasBeenSet = true; m_impact = value; } /** *

The impact of the incident on customers and applications.

*/ inline IncidentRecord& WithImpact(int value) { SetImpact(value); return *this;} /** *

Details about the action that started the incident.

*/ inline const IncidentRecordSource& GetIncidentRecordSource() const{ return m_incidentRecordSource; } /** *

Details about the action that started the incident.

*/ inline bool IncidentRecordSourceHasBeenSet() const { return m_incidentRecordSourceHasBeenSet; } /** *

Details about the action that started the incident.

*/ inline void SetIncidentRecordSource(const IncidentRecordSource& value) { m_incidentRecordSourceHasBeenSet = true; m_incidentRecordSource = value; } /** *

Details about the action that started the incident.

*/ inline void SetIncidentRecordSource(IncidentRecordSource&& value) { m_incidentRecordSourceHasBeenSet = true; m_incidentRecordSource = std::move(value); } /** *

Details about the action that started the incident.

*/ inline IncidentRecord& WithIncidentRecordSource(const IncidentRecordSource& value) { SetIncidentRecordSource(value); return *this;} /** *

Details about the action that started the incident.

*/ inline IncidentRecord& WithIncidentRecordSource(IncidentRecordSource&& value) { SetIncidentRecordSource(std::move(value)); return *this;} /** *

Who modified the incident most recently.

*/ inline const Aws::String& GetLastModifiedBy() const{ return m_lastModifiedBy; } /** *

Who modified the incident most recently.

*/ inline bool LastModifiedByHasBeenSet() const { return m_lastModifiedByHasBeenSet; } /** *

Who modified the incident most recently.

*/ inline void SetLastModifiedBy(const Aws::String& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = value; } /** *

Who modified the incident most recently.

*/ inline void SetLastModifiedBy(Aws::String&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::move(value); } /** *

Who modified the incident most recently.

*/ inline void SetLastModifiedBy(const char* value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy.assign(value); } /** *

Who modified the incident most recently.

*/ inline IncidentRecord& WithLastModifiedBy(const Aws::String& value) { SetLastModifiedBy(value); return *this;} /** *

Who modified the incident most recently.

*/ inline IncidentRecord& WithLastModifiedBy(Aws::String&& value) { SetLastModifiedBy(std::move(value)); return *this;} /** *

Who modified the incident most recently.

*/ inline IncidentRecord& WithLastModifiedBy(const char* value) { SetLastModifiedBy(value); return *this;} /** *

The time at which the incident was most recently modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The time at which the incident was most recently modified.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The time at which the incident was most recently modified.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The time at which the incident was most recently modified.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The time at which the incident was most recently modified.

*/ inline IncidentRecord& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The time at which the incident was most recently modified.

*/ inline IncidentRecord& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline const Aws::Vector& GetNotificationTargets() const{ return m_notificationTargets; } /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline bool NotificationTargetsHasBeenSet() const { return m_notificationTargetsHasBeenSet; } /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline void SetNotificationTargets(const Aws::Vector& value) { m_notificationTargetsHasBeenSet = true; m_notificationTargets = value; } /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline void SetNotificationTargets(Aws::Vector&& value) { m_notificationTargetsHasBeenSet = true; m_notificationTargets = std::move(value); } /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline IncidentRecord& WithNotificationTargets(const Aws::Vector& value) { SetNotificationTargets(value); return *this;} /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline IncidentRecord& WithNotificationTargets(Aws::Vector&& value) { SetNotificationTargets(std::move(value)); return *this;} /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline IncidentRecord& AddNotificationTargets(const NotificationTargetItem& value) { m_notificationTargetsHasBeenSet = true; m_notificationTargets.push_back(value); return *this; } /** *

The Amazon SNS targets that are notified when updates are made to an * incident.

*/ inline IncidentRecord& AddNotificationTargets(NotificationTargetItem&& value) { m_notificationTargetsHasBeenSet = true; m_notificationTargets.push_back(std::move(value)); return *this; } /** *

The time at which the incident was resolved. This appears as a timeline * event.

*/ inline const Aws::Utils::DateTime& GetResolvedTime() const{ return m_resolvedTime; } /** *

The time at which the incident was resolved. This appears as a timeline * event.

*/ inline bool ResolvedTimeHasBeenSet() const { return m_resolvedTimeHasBeenSet; } /** *

The time at which the incident was resolved. This appears as a timeline * event.

*/ inline void SetResolvedTime(const Aws::Utils::DateTime& value) { m_resolvedTimeHasBeenSet = true; m_resolvedTime = value; } /** *

The time at which the incident was resolved. This appears as a timeline * event.

*/ inline void SetResolvedTime(Aws::Utils::DateTime&& value) { m_resolvedTimeHasBeenSet = true; m_resolvedTime = std::move(value); } /** *

The time at which the incident was resolved. This appears as a timeline * event.

*/ inline IncidentRecord& WithResolvedTime(const Aws::Utils::DateTime& value) { SetResolvedTime(value); return *this;} /** *

The time at which the incident was resolved. This appears as a timeline * event.

*/ inline IncidentRecord& WithResolvedTime(Aws::Utils::DateTime&& value) { SetResolvedTime(std::move(value)); return *this;} /** *

The current status of the incident.

*/ inline const IncidentRecordStatus& GetStatus() const{ return m_status; } /** *

The current status of the incident.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the incident.

*/ inline void SetStatus(const IncidentRecordStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the incident.

*/ inline void SetStatus(IncidentRecordStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the incident.

*/ inline IncidentRecord& WithStatus(const IncidentRecordStatus& value) { SetStatus(value); return *this;} /** *

The current status of the incident.

*/ inline IncidentRecord& WithStatus(IncidentRecordStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline const Aws::String& GetSummary() const{ return m_summary; } /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline void SetSummary(const Aws::String& value) { m_summaryHasBeenSet = true; m_summary = value; } /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline void SetSummary(Aws::String&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline void SetSummary(const char* value) { m_summaryHasBeenSet = true; m_summary.assign(value); } /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline IncidentRecord& WithSummary(const Aws::String& value) { SetSummary(value); return *this;} /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline IncidentRecord& WithSummary(Aws::String&& value) { SetSummary(std::move(value)); return *this;} /** *

The summary of the incident. The summary is a brief synopsis of what * occurred, what's currently happening, and context of the incident.

*/ inline IncidentRecord& WithSummary(const char* value) { SetSummary(value); return *this;} /** *

The title of the incident.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

The title of the incident.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

The title of the incident.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

The title of the incident.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

The title of the incident.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

The title of the incident.

*/ inline IncidentRecord& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

The title of the incident.

*/ inline IncidentRecord& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

The title of the incident.

*/ inline IncidentRecord& WithTitle(const char* value) { SetTitle(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Vector m_automationExecutions; bool m_automationExecutionsHasBeenSet = false; ChatChannel m_chatChannel; bool m_chatChannelHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::String m_dedupeString; bool m_dedupeStringHasBeenSet = false; int m_impact; bool m_impactHasBeenSet = false; IncidentRecordSource m_incidentRecordSource; bool m_incidentRecordSourceHasBeenSet = false; Aws::String m_lastModifiedBy; bool m_lastModifiedByHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::Vector m_notificationTargets; bool m_notificationTargetsHasBeenSet = false; Aws::Utils::DateTime m_resolvedTime; bool m_resolvedTimeHasBeenSet = false; IncidentRecordStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_summary; bool m_summaryHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; }; } // namespace Model } // namespace SSMIncidents } // namespace Aws