/** * 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 SSMIncidents { namespace Model { /** */ class UpdateIncidentRecordRequest : public SSMIncidentsRequest { public: AWS_SSMINCIDENTS_API UpdateIncidentRecordRequest(); // 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 "UpdateIncidentRecord"; } AWS_SSMINCIDENTS_API Aws::String SerializePayload() const override; /** *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Chatbot chat channel where responders can collaborate.

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

The Chatbot chat channel where responders can collaborate.

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

The Chatbot chat channel where responders can collaborate.

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

The Chatbot chat channel where responders can collaborate.

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

The Chatbot chat channel where responders can collaborate.

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

The Chatbot chat channel where responders can collaborate.

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

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline UpdateIncidentRecordRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline UpdateIncidentRecordRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A token that ensures that a client calls the operation only once with the * specified details.

*/ inline UpdateIncidentRecordRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Defines the impact of the incident to customers and applications. If you * provide an impact for an incident, it overwrites the impact provided by the * response plan.

Possible impacts:

  • * 1 - Critical impact, full application failure that impacts many to * all customers.

  • 2 - High impact, partial * application failure with impact to many customers.

  • * 3 - Medium impact, the application is providing reduced service to * customers.

  • 4 - Low impact, customer aren't * impacted by the problem yet.

  • 5 - No impact, * customers aren't currently impacted but urgent action is needed to avoid * impact.

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

Defines the impact of the incident to customers and applications. If you * provide an impact for an incident, it overwrites the impact provided by the * response plan.

Possible impacts:

  • * 1 - Critical impact, full application failure that impacts many to * all customers.

  • 2 - High impact, partial * application failure with impact to many customers.

  • * 3 - Medium impact, the application is providing reduced service to * customers.

  • 4 - Low impact, customer aren't * impacted by the problem yet.

  • 5 - No impact, * customers aren't currently impacted but urgent action is needed to avoid * impact.

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

Defines the impact of the incident to customers and applications. If you * provide an impact for an incident, it overwrites the impact provided by the * response plan.

Possible impacts:

  • * 1 - Critical impact, full application failure that impacts many to * all customers.

  • 2 - High impact, partial * application failure with impact to many customers.

  • * 3 - Medium impact, the application is providing reduced service to * customers.

  • 4 - Low impact, customer aren't * impacted by the problem yet.

  • 5 - No impact, * customers aren't currently impacted but urgent action is needed to avoid * impact.

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

Defines the impact of the incident to customers and applications. If you * provide an impact for an incident, it overwrites the impact provided by the * response plan.

Possible impacts:

  • * 1 - Critical impact, full application failure that impacts many to * all customers.

  • 2 - High impact, partial * application failure with impact to many customers.

  • * 3 - Medium impact, the application is providing reduced service to * customers.

  • 4 - Low impact, customer aren't * impacted by the problem yet.

  • 5 - No impact, * customers aren't currently impacted but urgent action is needed to avoid * impact.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The Amazon SNS targets that Incident Manager notifies when a client updates * an incident.

Using multiple SNS topics creates redundancy in the event * that a Region is down during the incident.

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

The status of the incident. Possible statuses are Open or * Resolved.

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

The status of the incident. Possible statuses are Open or * Resolved.

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

The status of the incident. Possible statuses are Open or * Resolved.

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

The status of the incident. Possible statuses are Open or * Resolved.

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

The status of the incident. Possible statuses are Open or * Resolved.

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

The status of the incident. Possible statuses are Open or * Resolved.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A longer description of what occurred during the incident.

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

A brief description of the incident.

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

A brief description of the incident.

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

A brief description of the incident.

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

A brief description of the incident.

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

A brief description of the incident.

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

A brief description of the incident.

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

A brief description of the incident.

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

A brief description of the incident.

*/ inline UpdateIncidentRecordRequest& WithTitle(const char* value) { SetTitle(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; ChatChannel m_chatChannel; bool m_chatChannelHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; int m_impact; bool m_impactHasBeenSet = false; Aws::Vector m_notificationTargets; bool m_notificationTargetsHasBeenSet = 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