/**
* 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 SSM
{
namespace Model
{
/**
* The parameters for an AUTOMATION task type.
See
* Also:
AWS
* API Reference
*/
class MaintenanceWindowAutomationParameters
{
public:
AWS_SSM_API MaintenanceWindowAutomationParameters();
AWS_SSM_API MaintenanceWindowAutomationParameters(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API MaintenanceWindowAutomationParameters& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* The version of an Automation runbook to use during task execution.
*/
inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; }
inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; }
inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; }
inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); }
inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); }
inline MaintenanceWindowAutomationParameters& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline MaintenanceWindowAutomationParameters& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline MaintenanceWindowAutomationParameters& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* The parameters for the AUTOMATION task.
For information
* about specifying and updating task parameters, see
* RegisterTaskWithMaintenanceWindow and
* UpdateMaintenanceWindowTask.
LoggingInfo has
* been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket
* to contain logs, instead use the OutputS3BucketName and
* OutputS3KeyPrefix options in the
* TaskInvocationParameters structure. For information about how
* Amazon Web Services Systems Manager handles these options for the supported
* maintenance window task types, see
* MaintenanceWindowTaskInvocationParameters.
* TaskParameters has been deprecated. To specify parameters to pass
* to a task when it runs, instead use the Parameters option in the
* TaskInvocationParameters structure. For information about how
* Systems Manager handles these options for the supported maintenance window task
* types, see MaintenanceWindowTaskInvocationParameters.
For
* AUTOMATION task types, Amazon Web Services Systems Manager ignores
* any values specified for these parameters.
*/
inline const Aws::Map>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline MaintenanceWindowAutomationParameters& WithParameters(const Aws::Map>& value) { SetParameters(value); return *this;}
inline MaintenanceWindowAutomationParameters& WithParameters(Aws::Map>&& value) { SetParameters(std::move(value)); return *this;}
inline MaintenanceWindowAutomationParameters& AddParameters(const Aws::String& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline MaintenanceWindowAutomationParameters& AddParameters(Aws::String&& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline MaintenanceWindowAutomationParameters& AddParameters(const Aws::String& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline MaintenanceWindowAutomationParameters& AddParameters(Aws::String&& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline MaintenanceWindowAutomationParameters& AddParameters(const char* key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline MaintenanceWindowAutomationParameters& AddParameters(const char* key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
private:
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::Map> m_parameters;
bool m_parametersHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws