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

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

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

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

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

A token that ensures that a client calls the action 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 action 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 action 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 action only once with the * specified details.

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

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

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

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

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

A short description of the event.

*/ inline const Aws::String& GetEventData() const{ return m_eventData; } /** *

A short description of the event.

*/ inline bool EventDataHasBeenSet() const { return m_eventDataHasBeenSet; } /** *

A short description of the event.

*/ inline void SetEventData(const Aws::String& value) { m_eventDataHasBeenSet = true; m_eventData = value; } /** *

A short description of the event.

*/ inline void SetEventData(Aws::String&& value) { m_eventDataHasBeenSet = true; m_eventData = std::move(value); } /** *

A short description of the event.

*/ inline void SetEventData(const char* value) { m_eventDataHasBeenSet = true; m_eventData.assign(value); } /** *

A short description of the event.

*/ inline CreateTimelineEventRequest& WithEventData(const Aws::String& value) { SetEventData(value); return *this;} /** *

A short description of the event.

*/ inline CreateTimelineEventRequest& WithEventData(Aws::String&& value) { SetEventData(std::move(value)); return *this;} /** *

A short description of the event.

*/ inline CreateTimelineEventRequest& WithEventData(const char* value) { SetEventData(value); return *this;} /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline const Aws::Vector& GetEventReferences() const{ return m_eventReferences; } /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline bool EventReferencesHasBeenSet() const { return m_eventReferencesHasBeenSet; } /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline void SetEventReferences(const Aws::Vector& value) { m_eventReferencesHasBeenSet = true; m_eventReferences = value; } /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline void SetEventReferences(Aws::Vector&& value) { m_eventReferencesHasBeenSet = true; m_eventReferences = std::move(value); } /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline CreateTimelineEventRequest& WithEventReferences(const Aws::Vector& value) { SetEventReferences(value); return *this;} /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline CreateTimelineEventRequest& WithEventReferences(Aws::Vector&& value) { SetEventReferences(std::move(value)); return *this;} /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline CreateTimelineEventRequest& AddEventReferences(const EventReference& value) { m_eventReferencesHasBeenSet = true; m_eventReferences.push_back(value); return *this; } /** *

Adds one or more references to the TimelineEvent. A reference is * an Amazon Web Services resource involved or associated with the incident. To * specify a reference, enter its Amazon Resource Name (ARN). You can also specify * a related item associated with a resource. For example, to specify an Amazon * DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also * specify an Amazon CloudWatch metric associated with the DynamoDB table as a * related item.

*/ inline CreateTimelineEventRequest& AddEventReferences(EventReference&& value) { m_eventReferencesHasBeenSet = true; m_eventReferences.push_back(std::move(value)); return *this; } /** *

The time that the event occurred.

*/ inline const Aws::Utils::DateTime& GetEventTime() const{ return m_eventTime; } /** *

The time that the event occurred.

*/ inline bool EventTimeHasBeenSet() const { return m_eventTimeHasBeenSet; } /** *

The time that the event occurred.

*/ inline void SetEventTime(const Aws::Utils::DateTime& value) { m_eventTimeHasBeenSet = true; m_eventTime = value; } /** *

The time that the event occurred.

*/ inline void SetEventTime(Aws::Utils::DateTime&& value) { m_eventTimeHasBeenSet = true; m_eventTime = std::move(value); } /** *

The time that the event occurred.

*/ inline CreateTimelineEventRequest& WithEventTime(const Aws::Utils::DateTime& value) { SetEventTime(value); return *this;} /** *

The time that the event occurred.

*/ inline CreateTimelineEventRequest& WithEventTime(Aws::Utils::DateTime&& value) { SetEventTime(std::move(value)); return *this;} /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline const Aws::String& GetEventType() const{ return m_eventType; } /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline void SetEventType(const Aws::String& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline void SetEventType(Aws::String&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline void SetEventType(const char* value) { m_eventTypeHasBeenSet = true; m_eventType.assign(value); } /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline CreateTimelineEventRequest& WithEventType(const Aws::String& value) { SetEventType(value); return *this;} /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline CreateTimelineEventRequest& WithEventType(Aws::String&& value) { SetEventType(std::move(value)); return *this;} /** *

The type of event. You can create timeline events of type Custom * Event.

*/ inline CreateTimelineEventRequest& WithEventType(const char* value) { SetEventType(value); return *this;} /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline const Aws::String& GetIncidentRecordArn() const{ return m_incidentRecordArn; } /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline bool IncidentRecordArnHasBeenSet() const { return m_incidentRecordArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline void SetIncidentRecordArn(const Aws::String& value) { m_incidentRecordArnHasBeenSet = true; m_incidentRecordArn = value; } /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline void SetIncidentRecordArn(Aws::String&& value) { m_incidentRecordArnHasBeenSet = true; m_incidentRecordArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline void SetIncidentRecordArn(const char* value) { m_incidentRecordArnHasBeenSet = true; m_incidentRecordArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline CreateTimelineEventRequest& WithIncidentRecordArn(const Aws::String& value) { SetIncidentRecordArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline CreateTimelineEventRequest& WithIncidentRecordArn(Aws::String&& value) { SetIncidentRecordArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the incident record that the action adds * the incident to.

*/ inline CreateTimelineEventRequest& WithIncidentRecordArn(const char* value) { SetIncidentRecordArn(value); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_eventData; bool m_eventDataHasBeenSet = false; Aws::Vector m_eventReferences; bool m_eventReferencesHasBeenSet = false; Aws::Utils::DateTime m_eventTime; bool m_eventTimeHasBeenSet = false; Aws::String m_eventType; bool m_eventTypeHasBeenSet = false; Aws::String m_incidentRecordArn; bool m_incidentRecordArnHasBeenSet = false; }; } // namespace Model } // namespace SSMIncidents } // namespace Aws