/** * 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 namespace Aws { namespace SSM { namespace Model { /** */ class SendAutomationSignalRequest : public SSMRequest { public: AWS_SSM_API SendAutomationSignalRequest(); // 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 "SendAutomationSignal"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline const Aws::String& GetAutomationExecutionId() const{ return m_automationExecutionId; } /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline bool AutomationExecutionIdHasBeenSet() const { return m_automationExecutionIdHasBeenSet; } /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline void SetAutomationExecutionId(const Aws::String& value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId = value; } /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline void SetAutomationExecutionId(Aws::String&& value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId = std::move(value); } /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline void SetAutomationExecutionId(const char* value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId.assign(value); } /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline SendAutomationSignalRequest& WithAutomationExecutionId(const Aws::String& value) { SetAutomationExecutionId(value); return *this;} /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline SendAutomationSignalRequest& WithAutomationExecutionId(Aws::String&& value) { SetAutomationExecutionId(std::move(value)); return *this;} /** *

The unique identifier for an existing Automation execution that you want to * send the signal to.

*/ inline SendAutomationSignalRequest& WithAutomationExecutionId(const char* value) { SetAutomationExecutionId(value); return *this;} /** *

The type of signal to send to an Automation execution.

*/ inline const SignalType& GetSignalType() const{ return m_signalType; } /** *

The type of signal to send to an Automation execution.

*/ inline bool SignalTypeHasBeenSet() const { return m_signalTypeHasBeenSet; } /** *

The type of signal to send to an Automation execution.

*/ inline void SetSignalType(const SignalType& value) { m_signalTypeHasBeenSet = true; m_signalType = value; } /** *

The type of signal to send to an Automation execution.

*/ inline void SetSignalType(SignalType&& value) { m_signalTypeHasBeenSet = true; m_signalType = std::move(value); } /** *

The type of signal to send to an Automation execution.

*/ inline SendAutomationSignalRequest& WithSignalType(const SignalType& value) { SetSignalType(value); return *this;} /** *

The type of signal to send to an Automation execution.

*/ inline SendAutomationSignalRequest& WithSignalType(SignalType&& value) { SetSignalType(std::move(value)); return *this;} /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline const Aws::Map>& GetPayload() const{ return m_payload; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline void SetPayload(const Aws::Map>& value) { m_payloadHasBeenSet = true; m_payload = value; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline void SetPayload(Aws::Map>&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& WithPayload(const Aws::Map>& value) { SetPayload(value); return *this;} /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& WithPayload(Aws::Map>&& value) { SetPayload(std::move(value)); return *this;} /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& AddPayload(const Aws::String& key, const Aws::Vector& value) { m_payloadHasBeenSet = true; m_payload.emplace(key, value); return *this; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& AddPayload(Aws::String&& key, const Aws::Vector& value) { m_payloadHasBeenSet = true; m_payload.emplace(std::move(key), value); return *this; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& AddPayload(const Aws::String& key, Aws::Vector&& value) { m_payloadHasBeenSet = true; m_payload.emplace(key, std::move(value)); return *this; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& AddPayload(Aws::String&& key, Aws::Vector&& value) { m_payloadHasBeenSet = true; m_payload.emplace(std::move(key), std::move(value)); return *this; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& AddPayload(const char* key, Aws::Vector&& value) { m_payloadHasBeenSet = true; m_payload.emplace(key, std::move(value)); return *this; } /** *

The data sent with the signal. The data schema depends on the type of signal * used in the request.

For Approve and Reject * signal types, the payload is an optional comment that you can send with the * signal type. For example:

Comment="Looks good"

For * StartStep and Resume signal types, you must send the * name of the Automation step to start or resume as the payload. For example:

*

StepName="step1"

For the StopStep signal * type, you must send the step execution ID as the payload. For example:

* StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"

*/ inline SendAutomationSignalRequest& AddPayload(const char* key, const Aws::Vector& value) { m_payloadHasBeenSet = true; m_payload.emplace(key, value); return *this; } private: Aws::String m_automationExecutionId; bool m_automationExecutionIdHasBeenSet = false; SignalType m_signalType; bool m_signalTypeHasBeenSet = false; Aws::Map> m_payload; bool m_payloadHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws