/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SMS { namespace Model { /** *

Contains validation parameters.

See Also:

AWS * API Reference

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

The location of the validation script.

*/ inline const Source& GetSource() const{ return m_source; } /** *

The location of the validation script.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The location of the validation script.

*/ inline void SetSource(const Source& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The location of the validation script.

*/ inline void SetSource(Source&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The location of the validation script.

*/ inline SSMValidationParameters& WithSource(const Source& value) { SetSource(value); return *this;} /** *

The location of the validation script.

*/ inline SSMValidationParameters& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline SSMValidationParameters& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline SSMValidationParameters& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The ID of the instance. The instance must have the following tag: * UserForSMSApplicationValidation=true.

*/ inline SSMValidationParameters& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

The type of validation script.

*/ inline const ScriptType& GetScriptType() const{ return m_scriptType; } /** *

The type of validation script.

*/ inline bool ScriptTypeHasBeenSet() const { return m_scriptTypeHasBeenSet; } /** *

The type of validation script.

*/ inline void SetScriptType(const ScriptType& value) { m_scriptTypeHasBeenSet = true; m_scriptType = value; } /** *

The type of validation script.

*/ inline void SetScriptType(ScriptType&& value) { m_scriptTypeHasBeenSet = true; m_scriptType = std::move(value); } /** *

The type of validation script.

*/ inline SSMValidationParameters& WithScriptType(const ScriptType& value) { SetScriptType(value); return *this;} /** *

The type of validation script.

*/ inline SSMValidationParameters& WithScriptType(ScriptType&& value) { SetScriptType(std::move(value)); return *this;} /** *

The command to run the validation script.

*/ inline const Aws::String& GetCommand() const{ return m_command; } /** *

The command to run the validation script.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

The command to run the validation script.

*/ inline void SetCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command = value; } /** *

The command to run the validation script.

*/ inline void SetCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

The command to run the validation script.

*/ inline void SetCommand(const char* value) { m_commandHasBeenSet = true; m_command.assign(value); } /** *

The command to run the validation script.

*/ inline SSMValidationParameters& WithCommand(const Aws::String& value) { SetCommand(value); return *this;} /** *

The command to run the validation script.

*/ inline SSMValidationParameters& WithCommand(Aws::String&& value) { SetCommand(std::move(value)); return *this;} /** *

The command to run the validation script.

*/ inline SSMValidationParameters& WithCommand(const char* value) { SetCommand(value); return *this;} /** *

The timeout interval, in seconds.

*/ inline int GetExecutionTimeoutSeconds() const{ return m_executionTimeoutSeconds; } /** *

The timeout interval, in seconds.

*/ inline bool ExecutionTimeoutSecondsHasBeenSet() const { return m_executionTimeoutSecondsHasBeenSet; } /** *

The timeout interval, in seconds.

*/ inline void SetExecutionTimeoutSeconds(int value) { m_executionTimeoutSecondsHasBeenSet = true; m_executionTimeoutSeconds = value; } /** *

The timeout interval, in seconds.

*/ inline SSMValidationParameters& WithExecutionTimeoutSeconds(int value) { SetExecutionTimeoutSeconds(value); return *this;} /** *

The name of the S3 bucket for output.

*/ inline const Aws::String& GetOutputS3BucketName() const{ return m_outputS3BucketName; } /** *

The name of the S3 bucket for output.

*/ inline bool OutputS3BucketNameHasBeenSet() const { return m_outputS3BucketNameHasBeenSet; } /** *

The name of the S3 bucket for output.

*/ inline void SetOutputS3BucketName(const Aws::String& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = value; } /** *

The name of the S3 bucket for output.

*/ inline void SetOutputS3BucketName(Aws::String&& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = std::move(value); } /** *

The name of the S3 bucket for output.

*/ inline void SetOutputS3BucketName(const char* value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName.assign(value); } /** *

The name of the S3 bucket for output.

*/ inline SSMValidationParameters& WithOutputS3BucketName(const Aws::String& value) { SetOutputS3BucketName(value); return *this;} /** *

The name of the S3 bucket for output.

*/ inline SSMValidationParameters& WithOutputS3BucketName(Aws::String&& value) { SetOutputS3BucketName(std::move(value)); return *this;} /** *

The name of the S3 bucket for output.

*/ inline SSMValidationParameters& WithOutputS3BucketName(const char* value) { SetOutputS3BucketName(value); return *this;} private: Source m_source; bool m_sourceHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; ScriptType m_scriptType; bool m_scriptTypeHasBeenSet = false; Aws::String m_command; bool m_commandHasBeenSet = false; int m_executionTimeoutSeconds; bool m_executionTimeoutSecondsHasBeenSet = false; Aws::String m_outputS3BucketName; bool m_outputS3BucketNameHasBeenSet = false; }; } // namespace Model } // namespace SMS } // namespace Aws