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

Details about the Systems Manager automation document that will be used as a * runbook during an incident.

See Also:

AWS * API Reference

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

The automation document's name.

*/ inline const Aws::String& GetDocumentName() const{ return m_documentName; } /** *

The automation document's name.

*/ inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; } /** *

The automation document's name.

*/ inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; } /** *

The automation document's name.

*/ inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); } /** *

The automation document's name.

*/ inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); } /** *

The automation document's name.

*/ inline SsmAutomation& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;} /** *

The automation document's name.

*/ inline SsmAutomation& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;} /** *

The automation document's name.

*/ inline SsmAutomation& WithDocumentName(const char* value) { SetDocumentName(value); return *this;} /** *

The automation document's version to use when running.

*/ inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; } /** *

The automation document's version to use when running.

*/ inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; } /** *

The automation document's version to use when running.

*/ inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; } /** *

The automation document's version to use when running.

*/ inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); } /** *

The automation document's version to use when running.

*/ inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); } /** *

The automation document's version to use when running.

*/ inline SsmAutomation& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;} /** *

The automation document's version to use when running.

*/ inline SsmAutomation& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;} /** *

The automation document's version to use when running.

*/ inline SsmAutomation& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;} /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline const Aws::Map& GetDynamicParameters() const{ return m_dynamicParameters; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline bool DynamicParametersHasBeenSet() const { return m_dynamicParametersHasBeenSet; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline void SetDynamicParameters(const Aws::Map& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters = value; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline void SetDynamicParameters(Aws::Map&& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters = std::move(value); } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& WithDynamicParameters(const Aws::Map& value) { SetDynamicParameters(value); return *this;} /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& WithDynamicParameters(Aws::Map&& value) { SetDynamicParameters(std::move(value)); return *this;} /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& AddDynamicParameters(const Aws::String& key, const DynamicSsmParameterValue& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters.emplace(key, value); return *this; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& AddDynamicParameters(Aws::String&& key, const DynamicSsmParameterValue& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters.emplace(std::move(key), value); return *this; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& AddDynamicParameters(const Aws::String& key, DynamicSsmParameterValue&& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters.emplace(key, std::move(value)); return *this; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& AddDynamicParameters(Aws::String&& key, DynamicSsmParameterValue&& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& AddDynamicParameters(const char* key, DynamicSsmParameterValue&& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters.emplace(key, std::move(value)); return *this; } /** *

The key-value pair to resolve dynamic parameter values when processing a * Systems Manager Automation runbook.

*/ inline SsmAutomation& AddDynamicParameters(const char* key, const DynamicSsmParameterValue& value) { m_dynamicParametersHasBeenSet = true; m_dynamicParameters.emplace(key, value); return *this; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline const Aws::Map>& GetParameters() const{ return m_parameters; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline void SetParameters(const Aws::Map>& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline void SetParameters(Aws::Map>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& WithParameters(const Aws::Map>& value) { SetParameters(value); return *this;} /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& WithParameters(Aws::Map>&& value) { SetParameters(std::move(value)); return *this;} /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& AddParameters(const Aws::String& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& AddParameters(Aws::String&& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& AddParameters(const Aws::String& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& AddParameters(Aws::String&& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& AddParameters(const char* key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The key-value pair parameters to use when running the automation * document.

*/ inline SsmAutomation& AddParameters(const char* key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline SsmAutomation& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline SsmAutomation& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the role that the automation document will * assume when running commands.

*/ inline SsmAutomation& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The account that the automation document will be run in. This can be in * either the management account or an application account.

*/ inline const SsmTargetAccount& GetTargetAccount() const{ return m_targetAccount; } /** *

The account that the automation document will be run in. This can be in * either the management account or an application account.

*/ inline bool TargetAccountHasBeenSet() const { return m_targetAccountHasBeenSet; } /** *

The account that the automation document will be run in. This can be in * either the management account or an application account.

*/ inline void SetTargetAccount(const SsmTargetAccount& value) { m_targetAccountHasBeenSet = true; m_targetAccount = value; } /** *

The account that the automation document will be run in. This can be in * either the management account or an application account.

*/ inline void SetTargetAccount(SsmTargetAccount&& value) { m_targetAccountHasBeenSet = true; m_targetAccount = std::move(value); } /** *

The account that the automation document will be run in. This can be in * either the management account or an application account.

*/ inline SsmAutomation& WithTargetAccount(const SsmTargetAccount& value) { SetTargetAccount(value); return *this;} /** *

The account that the automation document will be run in. This can be in * either the management account or an application account.

*/ inline SsmAutomation& WithTargetAccount(SsmTargetAccount&& value) { SetTargetAccount(std::move(value)); return *this;} private: Aws::String m_documentName; bool m_documentNameHasBeenSet = false; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet = false; Aws::Map m_dynamicParameters; bool m_dynamicParametersHasBeenSet = false; Aws::Map> m_parameters; bool m_parametersHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; SsmTargetAccount m_targetAccount; bool m_targetAccountHasBeenSet = false; }; } // namespace Model } // namespace SSMIncidents } // namespace Aws