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

Contains an optional backup plan display name and an array of * BackupRule objects, each of which specifies a backup rule. Each * rule in a backup plan is a separate scheduled task.

See Also:

* AWS * API Reference

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

The optional display name of a backup plan.

*/ inline const Aws::String& GetBackupPlanName() const{ return m_backupPlanName; } /** *

The optional display name of a backup plan.

*/ inline bool BackupPlanNameHasBeenSet() const { return m_backupPlanNameHasBeenSet; } /** *

The optional display name of a backup plan.

*/ inline void SetBackupPlanName(const Aws::String& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = value; } /** *

The optional display name of a backup plan.

*/ inline void SetBackupPlanName(Aws::String&& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = std::move(value); } /** *

The optional display name of a backup plan.

*/ inline void SetBackupPlanName(const char* value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName.assign(value); } /** *

The optional display name of a backup plan.

*/ inline BackupPlanInput& WithBackupPlanName(const Aws::String& value) { SetBackupPlanName(value); return *this;} /** *

The optional display name of a backup plan.

*/ inline BackupPlanInput& WithBackupPlanName(Aws::String&& value) { SetBackupPlanName(std::move(value)); return *this;} /** *

The optional display name of a backup plan.

*/ inline BackupPlanInput& WithBackupPlanName(const char* value) { SetBackupPlanName(value); return *this;} /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline const Aws::Vector& GetRules() const{ return m_rules; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline void SetRules(const Aws::Vector& value) { m_rulesHasBeenSet = true; m_rules = value; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline void SetRules(Aws::Vector&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline BackupPlanInput& WithRules(const Aws::Vector& value) { SetRules(value); return *this;} /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline BackupPlanInput& WithRules(Aws::Vector&& value) { SetRules(std::move(value)); return *this;} /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline BackupPlanInput& AddRules(const BackupRuleInput& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline BackupPlanInput& AddRules(BackupRuleInput&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline const Aws::Vector& GetAdvancedBackupSettings() const{ return m_advancedBackupSettings; } /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline bool AdvancedBackupSettingsHasBeenSet() const { return m_advancedBackupSettingsHasBeenSet; } /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline void SetAdvancedBackupSettings(const Aws::Vector& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = value; } /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline void SetAdvancedBackupSettings(Aws::Vector&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = std::move(value); } /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline BackupPlanInput& WithAdvancedBackupSettings(const Aws::Vector& value) { SetAdvancedBackupSettings(value); return *this;} /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline BackupPlanInput& WithAdvancedBackupSettings(Aws::Vector&& value) { SetAdvancedBackupSettings(std::move(value)); return *this;} /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline BackupPlanInput& AddAdvancedBackupSettings(const AdvancedBackupSetting& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(value); return *this; } /** *

Specifies a list of BackupOptions for each resource type. These * settings are only available for Windows Volume Shadow Copy Service (VSS) backup * jobs.

*/ inline BackupPlanInput& AddAdvancedBackupSettings(AdvancedBackupSetting&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(std::move(value)); return *this; } private: Aws::String m_backupPlanName; bool m_backupPlanNameHasBeenSet; Aws::Vector m_rules; bool m_rulesHasBeenSet; Aws::Vector m_advancedBackupSettings; bool m_advancedBackupSettingsHasBeenSet; }; } // namespace Model } // namespace Backup } // namespace Aws