1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/backup/Backup_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/backup/model/BackupRuleInput.h> 11 #include <aws/backup/model/AdvancedBackupSetting.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace Backup 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Contains an optional backup plan display name and an array of 31 * <code>BackupRule</code> objects, each of which specifies a backup rule. Each 32 * rule in a backup plan is a separate scheduled task. </p><p><h3>See Also:</h3> 33 * <a 34 * href="http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupPlanInput">AWS 35 * API Reference</a></p> 36 */ 37 class AWS_BACKUP_API BackupPlanInput 38 { 39 public: 40 BackupPlanInput(); 41 BackupPlanInput(Aws::Utils::Json::JsonView jsonValue); 42 BackupPlanInput& operator=(Aws::Utils::Json::JsonView jsonValue); 43 Aws::Utils::Json::JsonValue Jsonize() const; 44 45 46 /** 47 * <p>The optional display name of a backup plan.</p> 48 */ GetBackupPlanName()49 inline const Aws::String& GetBackupPlanName() const{ return m_backupPlanName; } 50 51 /** 52 * <p>The optional display name of a backup plan.</p> 53 */ BackupPlanNameHasBeenSet()54 inline bool BackupPlanNameHasBeenSet() const { return m_backupPlanNameHasBeenSet; } 55 56 /** 57 * <p>The optional display name of a backup plan.</p> 58 */ SetBackupPlanName(const Aws::String & value)59 inline void SetBackupPlanName(const Aws::String& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = value; } 60 61 /** 62 * <p>The optional display name of a backup plan.</p> 63 */ SetBackupPlanName(Aws::String && value)64 inline void SetBackupPlanName(Aws::String&& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = std::move(value); } 65 66 /** 67 * <p>The optional display name of a backup plan.</p> 68 */ SetBackupPlanName(const char * value)69 inline void SetBackupPlanName(const char* value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName.assign(value); } 70 71 /** 72 * <p>The optional display name of a backup plan.</p> 73 */ WithBackupPlanName(const Aws::String & value)74 inline BackupPlanInput& WithBackupPlanName(const Aws::String& value) { SetBackupPlanName(value); return *this;} 75 76 /** 77 * <p>The optional display name of a backup plan.</p> 78 */ WithBackupPlanName(Aws::String && value)79 inline BackupPlanInput& WithBackupPlanName(Aws::String&& value) { SetBackupPlanName(std::move(value)); return *this;} 80 81 /** 82 * <p>The optional display name of a backup plan.</p> 83 */ WithBackupPlanName(const char * value)84 inline BackupPlanInput& WithBackupPlanName(const char* value) { SetBackupPlanName(value); return *this;} 85 86 87 /** 88 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 89 * scheduled task that is used to back up a selection of resources.</p> 90 */ GetRules()91 inline const Aws::Vector<BackupRuleInput>& GetRules() const{ return m_rules; } 92 93 /** 94 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 95 * scheduled task that is used to back up a selection of resources.</p> 96 */ RulesHasBeenSet()97 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } 98 99 /** 100 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 101 * scheduled task that is used to back up a selection of resources.</p> 102 */ SetRules(const Aws::Vector<BackupRuleInput> & value)103 inline void SetRules(const Aws::Vector<BackupRuleInput>& value) { m_rulesHasBeenSet = true; m_rules = value; } 104 105 /** 106 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 107 * scheduled task that is used to back up a selection of resources.</p> 108 */ SetRules(Aws::Vector<BackupRuleInput> && value)109 inline void SetRules(Aws::Vector<BackupRuleInput>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } 110 111 /** 112 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 113 * scheduled task that is used to back up a selection of resources.</p> 114 */ WithRules(const Aws::Vector<BackupRuleInput> & value)115 inline BackupPlanInput& WithRules(const Aws::Vector<BackupRuleInput>& value) { SetRules(value); return *this;} 116 117 /** 118 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 119 * scheduled task that is used to back up a selection of resources.</p> 120 */ WithRules(Aws::Vector<BackupRuleInput> && value)121 inline BackupPlanInput& WithRules(Aws::Vector<BackupRuleInput>&& value) { SetRules(std::move(value)); return *this;} 122 123 /** 124 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 125 * scheduled task that is used to back up a selection of resources.</p> 126 */ AddRules(const BackupRuleInput & value)127 inline BackupPlanInput& AddRules(const BackupRuleInput& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } 128 129 /** 130 * <p>An array of <code>BackupRule</code> objects, each of which specifies a 131 * scheduled task that is used to back up a selection of resources.</p> 132 */ AddRules(BackupRuleInput && value)133 inline BackupPlanInput& AddRules(BackupRuleInput&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } 134 135 136 /** 137 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 138 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 139 * jobs.</p> 140 */ GetAdvancedBackupSettings()141 inline const Aws::Vector<AdvancedBackupSetting>& GetAdvancedBackupSettings() const{ return m_advancedBackupSettings; } 142 143 /** 144 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 145 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 146 * jobs.</p> 147 */ AdvancedBackupSettingsHasBeenSet()148 inline bool AdvancedBackupSettingsHasBeenSet() const { return m_advancedBackupSettingsHasBeenSet; } 149 150 /** 151 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 152 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 153 * jobs.</p> 154 */ SetAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting> & value)155 inline void SetAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting>& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = value; } 156 157 /** 158 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 159 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 160 * jobs.</p> 161 */ SetAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting> && value)162 inline void SetAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting>&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = std::move(value); } 163 164 /** 165 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 166 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 167 * jobs.</p> 168 */ WithAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting> & value)169 inline BackupPlanInput& WithAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting>& value) { SetAdvancedBackupSettings(value); return *this;} 170 171 /** 172 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 173 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 174 * jobs.</p> 175 */ WithAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting> && value)176 inline BackupPlanInput& WithAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting>&& value) { SetAdvancedBackupSettings(std::move(value)); return *this;} 177 178 /** 179 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 180 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 181 * jobs.</p> 182 */ AddAdvancedBackupSettings(const AdvancedBackupSetting & value)183 inline BackupPlanInput& AddAdvancedBackupSettings(const AdvancedBackupSetting& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(value); return *this; } 184 185 /** 186 * <p>Specifies a list of <code>BackupOptions</code> for each resource type. These 187 * settings are only available for Windows Volume Shadow Copy Service (VSS) backup 188 * jobs.</p> 189 */ AddAdvancedBackupSettings(AdvancedBackupSetting && value)190 inline BackupPlanInput& AddAdvancedBackupSettings(AdvancedBackupSetting&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(std::move(value)); return *this; } 191 192 private: 193 194 Aws::String m_backupPlanName; 195 bool m_backupPlanNameHasBeenSet; 196 197 Aws::Vector<BackupRuleInput> m_rules; 198 bool m_rulesHasBeenSet; 199 200 Aws::Vector<AdvancedBackupSetting> m_advancedBackupSettings; 201 bool m_advancedBackupSettingsHasBeenSet; 202 }; 203 204 } // namespace Model 205 } // namespace Backup 206 } // namespace Aws 207