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

The actions that the response plan starts at the beginning of an * incident.

*/ inline const Aws::Vector& GetActions() const{ return m_actions; } /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline CreateResponsePlanRequest& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline CreateResponsePlanRequest& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline CreateResponsePlanRequest& AddActions(const Action& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } /** *

The actions that the response plan starts at the beginning of an * incident.

*/ inline CreateResponsePlanRequest& AddActions(Action&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } /** *

The Chatbot chat channel used for collaboration during an incident.

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

The Chatbot chat channel used for collaboration during an incident.

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

The Chatbot chat channel used for collaboration during an incident.

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

The Chatbot chat channel used for collaboration during an incident.

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

The Chatbot chat channel used for collaboration during an incident.

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

The Chatbot chat channel used for collaboration during an incident.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

A token ensuring that the operation is called only once with the specified * details.

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

The long format of the response plan name. This field can contain spaces.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The long format of the response plan name. This field can contain spaces.

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

The long format of the response plan name. This field can contain spaces.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

The long format of the response plan name. This field can contain spaces.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

The long format of the response plan name. This field can contain spaces.

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

The long format of the response plan name. This field can contain spaces.

*/ inline CreateResponsePlanRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The long format of the response plan name. This field can contain spaces.

*/ inline CreateResponsePlanRequest& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The long format of the response plan name. This field can contain spaces.

*/ inline CreateResponsePlanRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline const Aws::Vector& GetEngagements() const{ return m_engagements; } /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline bool EngagementsHasBeenSet() const { return m_engagementsHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline void SetEngagements(const Aws::Vector& value) { m_engagementsHasBeenSet = true; m_engagements = value; } /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline void SetEngagements(Aws::Vector&& value) { m_engagementsHasBeenSet = true; m_engagements = std::move(value); } /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline CreateResponsePlanRequest& WithEngagements(const Aws::Vector& value) { SetEngagements(value); return *this;} /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline CreateResponsePlanRequest& WithEngagements(Aws::Vector&& value) { SetEngagements(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline CreateResponsePlanRequest& AddEngagements(const Aws::String& value) { m_engagementsHasBeenSet = true; m_engagements.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline CreateResponsePlanRequest& AddEngagements(Aws::String&& value) { m_engagementsHasBeenSet = true; m_engagements.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) for the contacts and escalation plans that the * response plan engages during an incident.

*/ inline CreateResponsePlanRequest& AddEngagements(const char* value) { m_engagementsHasBeenSet = true; m_engagements.push_back(value); return *this; } /** *

Details used to create an incident when using this response plan.

*/ inline const IncidentTemplate& GetIncidentTemplate() const{ return m_incidentTemplate; } /** *

Details used to create an incident when using this response plan.

*/ inline bool IncidentTemplateHasBeenSet() const { return m_incidentTemplateHasBeenSet; } /** *

Details used to create an incident when using this response plan.

*/ inline void SetIncidentTemplate(const IncidentTemplate& value) { m_incidentTemplateHasBeenSet = true; m_incidentTemplate = value; } /** *

Details used to create an incident when using this response plan.

*/ inline void SetIncidentTemplate(IncidentTemplate&& value) { m_incidentTemplateHasBeenSet = true; m_incidentTemplate = std::move(value); } /** *

Details used to create an incident when using this response plan.

*/ inline CreateResponsePlanRequest& WithIncidentTemplate(const IncidentTemplate& value) { SetIncidentTemplate(value); return *this;} /** *

Details used to create an incident when using this response plan.

*/ inline CreateResponsePlanRequest& WithIncidentTemplate(IncidentTemplate&& value) { SetIncidentTemplate(std::move(value)); return *this;} /** *

Information about third-party services integrated into the response plan.

*/ inline const Aws::Vector& GetIntegrations() const{ return m_integrations; } /** *

Information about third-party services integrated into the response plan.

*/ inline bool IntegrationsHasBeenSet() const { return m_integrationsHasBeenSet; } /** *

Information about third-party services integrated into the response plan.

*/ inline void SetIntegrations(const Aws::Vector& value) { m_integrationsHasBeenSet = true; m_integrations = value; } /** *

Information about third-party services integrated into the response plan.

*/ inline void SetIntegrations(Aws::Vector&& value) { m_integrationsHasBeenSet = true; m_integrations = std::move(value); } /** *

Information about third-party services integrated into the response plan.

*/ inline CreateResponsePlanRequest& WithIntegrations(const Aws::Vector& value) { SetIntegrations(value); return *this;} /** *

Information about third-party services integrated into the response plan.

*/ inline CreateResponsePlanRequest& WithIntegrations(Aws::Vector&& value) { SetIntegrations(std::move(value)); return *this;} /** *

Information about third-party services integrated into the response plan.

*/ inline CreateResponsePlanRequest& AddIntegrations(const Integration& value) { m_integrationsHasBeenSet = true; m_integrations.push_back(value); return *this; } /** *

Information about third-party services integrated into the response plan.

*/ inline CreateResponsePlanRequest& AddIntegrations(Integration&& value) { m_integrationsHasBeenSet = true; m_integrations.push_back(std::move(value)); return *this; } /** *

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

The short format name of the response plan. Can't include spaces.

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

A list of tags that you are adding to the response plan.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A list of tags that you are adding to the response plan.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tags that you are adding to the response plan.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tags that you are adding to the response plan.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of tags that you are adding to the response plan.

*/ inline CreateResponsePlanRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::Vector m_actions; bool m_actionsHasBeenSet = false; ChatChannel m_chatChannel; bool m_chatChannelHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; Aws::Vector m_engagements; bool m_engagementsHasBeenSet = false; IncidentTemplate m_incidentTemplate; bool m_incidentTemplateHasBeenSet = false; Aws::Vector m_integrations; bool m_integrationsHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SSMIncidents } // namespace Aws