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/ssm/SSM_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace SSM 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The combination of Amazon Web Services Regions and Amazon Web Services 29 * accounts targeted by the current Automation execution.</p><p><h3>See Also:</h3> 30 * <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TargetLocation">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_SSM_API TargetLocation 35 { 36 public: 37 TargetLocation(); 38 TargetLocation(Aws::Utils::Json::JsonView jsonValue); 39 TargetLocation& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The Amazon Web Services accounts targeted by the current Automation 45 * execution.</p> 46 */ GetAccounts()47 inline const Aws::Vector<Aws::String>& GetAccounts() const{ return m_accounts; } 48 49 /** 50 * <p>The Amazon Web Services accounts targeted by the current Automation 51 * execution.</p> 52 */ AccountsHasBeenSet()53 inline bool AccountsHasBeenSet() const { return m_accountsHasBeenSet; } 54 55 /** 56 * <p>The Amazon Web Services accounts targeted by the current Automation 57 * execution.</p> 58 */ SetAccounts(const Aws::Vector<Aws::String> & value)59 inline void SetAccounts(const Aws::Vector<Aws::String>& value) { m_accountsHasBeenSet = true; m_accounts = value; } 60 61 /** 62 * <p>The Amazon Web Services accounts targeted by the current Automation 63 * execution.</p> 64 */ SetAccounts(Aws::Vector<Aws::String> && value)65 inline void SetAccounts(Aws::Vector<Aws::String>&& value) { m_accountsHasBeenSet = true; m_accounts = std::move(value); } 66 67 /** 68 * <p>The Amazon Web Services accounts targeted by the current Automation 69 * execution.</p> 70 */ WithAccounts(const Aws::Vector<Aws::String> & value)71 inline TargetLocation& WithAccounts(const Aws::Vector<Aws::String>& value) { SetAccounts(value); return *this;} 72 73 /** 74 * <p>The Amazon Web Services accounts targeted by the current Automation 75 * execution.</p> 76 */ WithAccounts(Aws::Vector<Aws::String> && value)77 inline TargetLocation& WithAccounts(Aws::Vector<Aws::String>&& value) { SetAccounts(std::move(value)); return *this;} 78 79 /** 80 * <p>The Amazon Web Services accounts targeted by the current Automation 81 * execution.</p> 82 */ AddAccounts(const Aws::String & value)83 inline TargetLocation& AddAccounts(const Aws::String& value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } 84 85 /** 86 * <p>The Amazon Web Services accounts targeted by the current Automation 87 * execution.</p> 88 */ AddAccounts(Aws::String && value)89 inline TargetLocation& AddAccounts(Aws::String&& value) { m_accountsHasBeenSet = true; m_accounts.push_back(std::move(value)); return *this; } 90 91 /** 92 * <p>The Amazon Web Services accounts targeted by the current Automation 93 * execution.</p> 94 */ AddAccounts(const char * value)95 inline TargetLocation& AddAccounts(const char* value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } 96 97 98 /** 99 * <p>The Amazon Web Services Regions targeted by the current Automation 100 * execution.</p> 101 */ GetRegions()102 inline const Aws::Vector<Aws::String>& GetRegions() const{ return m_regions; } 103 104 /** 105 * <p>The Amazon Web Services Regions targeted by the current Automation 106 * execution.</p> 107 */ RegionsHasBeenSet()108 inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } 109 110 /** 111 * <p>The Amazon Web Services Regions targeted by the current Automation 112 * execution.</p> 113 */ SetRegions(const Aws::Vector<Aws::String> & value)114 inline void SetRegions(const Aws::Vector<Aws::String>& value) { m_regionsHasBeenSet = true; m_regions = value; } 115 116 /** 117 * <p>The Amazon Web Services Regions targeted by the current Automation 118 * execution.</p> 119 */ SetRegions(Aws::Vector<Aws::String> && value)120 inline void SetRegions(Aws::Vector<Aws::String>&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } 121 122 /** 123 * <p>The Amazon Web Services Regions targeted by the current Automation 124 * execution.</p> 125 */ WithRegions(const Aws::Vector<Aws::String> & value)126 inline TargetLocation& WithRegions(const Aws::Vector<Aws::String>& value) { SetRegions(value); return *this;} 127 128 /** 129 * <p>The Amazon Web Services Regions targeted by the current Automation 130 * execution.</p> 131 */ WithRegions(Aws::Vector<Aws::String> && value)132 inline TargetLocation& WithRegions(Aws::Vector<Aws::String>&& value) { SetRegions(std::move(value)); return *this;} 133 134 /** 135 * <p>The Amazon Web Services Regions targeted by the current Automation 136 * execution.</p> 137 */ AddRegions(const Aws::String & value)138 inline TargetLocation& AddRegions(const Aws::String& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } 139 140 /** 141 * <p>The Amazon Web Services Regions targeted by the current Automation 142 * execution.</p> 143 */ AddRegions(Aws::String && value)144 inline TargetLocation& AddRegions(Aws::String&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } 145 146 /** 147 * <p>The Amazon Web Services Regions targeted by the current Automation 148 * execution.</p> 149 */ AddRegions(const char * value)150 inline TargetLocation& AddRegions(const char* value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } 151 152 153 /** 154 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 155 * accounts allowed to run the Automation concurrently.</p> 156 */ GetTargetLocationMaxConcurrency()157 inline const Aws::String& GetTargetLocationMaxConcurrency() const{ return m_targetLocationMaxConcurrency; } 158 159 /** 160 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 161 * accounts allowed to run the Automation concurrently.</p> 162 */ TargetLocationMaxConcurrencyHasBeenSet()163 inline bool TargetLocationMaxConcurrencyHasBeenSet() const { return m_targetLocationMaxConcurrencyHasBeenSet; } 164 165 /** 166 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 167 * accounts allowed to run the Automation concurrently.</p> 168 */ SetTargetLocationMaxConcurrency(const Aws::String & value)169 inline void SetTargetLocationMaxConcurrency(const Aws::String& value) { m_targetLocationMaxConcurrencyHasBeenSet = true; m_targetLocationMaxConcurrency = value; } 170 171 /** 172 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 173 * accounts allowed to run the Automation concurrently.</p> 174 */ SetTargetLocationMaxConcurrency(Aws::String && value)175 inline void SetTargetLocationMaxConcurrency(Aws::String&& value) { m_targetLocationMaxConcurrencyHasBeenSet = true; m_targetLocationMaxConcurrency = std::move(value); } 176 177 /** 178 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 179 * accounts allowed to run the Automation concurrently.</p> 180 */ SetTargetLocationMaxConcurrency(const char * value)181 inline void SetTargetLocationMaxConcurrency(const char* value) { m_targetLocationMaxConcurrencyHasBeenSet = true; m_targetLocationMaxConcurrency.assign(value); } 182 183 /** 184 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 185 * accounts allowed to run the Automation concurrently.</p> 186 */ WithTargetLocationMaxConcurrency(const Aws::String & value)187 inline TargetLocation& WithTargetLocationMaxConcurrency(const Aws::String& value) { SetTargetLocationMaxConcurrency(value); return *this;} 188 189 /** 190 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 191 * accounts allowed to run the Automation concurrently.</p> 192 */ WithTargetLocationMaxConcurrency(Aws::String && value)193 inline TargetLocation& WithTargetLocationMaxConcurrency(Aws::String&& value) { SetTargetLocationMaxConcurrency(std::move(value)); return *this;} 194 195 /** 196 * <p>The maximum number of Amazon Web Services Regions and Amazon Web Services 197 * accounts allowed to run the Automation concurrently.</p> 198 */ WithTargetLocationMaxConcurrency(const char * value)199 inline TargetLocation& WithTargetLocationMaxConcurrency(const char* value) { SetTargetLocationMaxConcurrency(value); return *this;} 200 201 202 /** 203 * <p>The maximum number of errors allowed before the system stops queueing 204 * additional Automation executions for the currently running Automation.</p> 205 */ GetTargetLocationMaxErrors()206 inline const Aws::String& GetTargetLocationMaxErrors() const{ return m_targetLocationMaxErrors; } 207 208 /** 209 * <p>The maximum number of errors allowed before the system stops queueing 210 * additional Automation executions for the currently running Automation.</p> 211 */ TargetLocationMaxErrorsHasBeenSet()212 inline bool TargetLocationMaxErrorsHasBeenSet() const { return m_targetLocationMaxErrorsHasBeenSet; } 213 214 /** 215 * <p>The maximum number of errors allowed before the system stops queueing 216 * additional Automation executions for the currently running Automation.</p> 217 */ SetTargetLocationMaxErrors(const Aws::String & value)218 inline void SetTargetLocationMaxErrors(const Aws::String& value) { m_targetLocationMaxErrorsHasBeenSet = true; m_targetLocationMaxErrors = value; } 219 220 /** 221 * <p>The maximum number of errors allowed before the system stops queueing 222 * additional Automation executions for the currently running Automation.</p> 223 */ SetTargetLocationMaxErrors(Aws::String && value)224 inline void SetTargetLocationMaxErrors(Aws::String&& value) { m_targetLocationMaxErrorsHasBeenSet = true; m_targetLocationMaxErrors = std::move(value); } 225 226 /** 227 * <p>The maximum number of errors allowed before the system stops queueing 228 * additional Automation executions for the currently running Automation.</p> 229 */ SetTargetLocationMaxErrors(const char * value)230 inline void SetTargetLocationMaxErrors(const char* value) { m_targetLocationMaxErrorsHasBeenSet = true; m_targetLocationMaxErrors.assign(value); } 231 232 /** 233 * <p>The maximum number of errors allowed before the system stops queueing 234 * additional Automation executions for the currently running Automation.</p> 235 */ WithTargetLocationMaxErrors(const Aws::String & value)236 inline TargetLocation& WithTargetLocationMaxErrors(const Aws::String& value) { SetTargetLocationMaxErrors(value); return *this;} 237 238 /** 239 * <p>The maximum number of errors allowed before the system stops queueing 240 * additional Automation executions for the currently running Automation.</p> 241 */ WithTargetLocationMaxErrors(Aws::String && value)242 inline TargetLocation& WithTargetLocationMaxErrors(Aws::String&& value) { SetTargetLocationMaxErrors(std::move(value)); return *this;} 243 244 /** 245 * <p>The maximum number of errors allowed before the system stops queueing 246 * additional Automation executions for the currently running Automation.</p> 247 */ WithTargetLocationMaxErrors(const char * value)248 inline TargetLocation& WithTargetLocationMaxErrors(const char* value) { SetTargetLocationMaxErrors(value); return *this;} 249 250 251 /** 252 * <p>The Automation execution role used by the currently running Automation. If 253 * not specified, the default value is 254 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 255 */ GetExecutionRoleName()256 inline const Aws::String& GetExecutionRoleName() const{ return m_executionRoleName; } 257 258 /** 259 * <p>The Automation execution role used by the currently running Automation. If 260 * not specified, the default value is 261 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 262 */ ExecutionRoleNameHasBeenSet()263 inline bool ExecutionRoleNameHasBeenSet() const { return m_executionRoleNameHasBeenSet; } 264 265 /** 266 * <p>The Automation execution role used by the currently running Automation. If 267 * not specified, the default value is 268 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 269 */ SetExecutionRoleName(const Aws::String & value)270 inline void SetExecutionRoleName(const Aws::String& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = value; } 271 272 /** 273 * <p>The Automation execution role used by the currently running Automation. If 274 * not specified, the default value is 275 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 276 */ SetExecutionRoleName(Aws::String && value)277 inline void SetExecutionRoleName(Aws::String&& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = std::move(value); } 278 279 /** 280 * <p>The Automation execution role used by the currently running Automation. If 281 * not specified, the default value is 282 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 283 */ SetExecutionRoleName(const char * value)284 inline void SetExecutionRoleName(const char* value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName.assign(value); } 285 286 /** 287 * <p>The Automation execution role used by the currently running Automation. If 288 * not specified, the default value is 289 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 290 */ WithExecutionRoleName(const Aws::String & value)291 inline TargetLocation& WithExecutionRoleName(const Aws::String& value) { SetExecutionRoleName(value); return *this;} 292 293 /** 294 * <p>The Automation execution role used by the currently running Automation. If 295 * not specified, the default value is 296 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 297 */ WithExecutionRoleName(Aws::String && value)298 inline TargetLocation& WithExecutionRoleName(Aws::String&& value) { SetExecutionRoleName(std::move(value)); return *this;} 299 300 /** 301 * <p>The Automation execution role used by the currently running Automation. If 302 * not specified, the default value is 303 * <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p> 304 */ WithExecutionRoleName(const char * value)305 inline TargetLocation& WithExecutionRoleName(const char* value) { SetExecutionRoleName(value); return *this;} 306 307 private: 308 309 Aws::Vector<Aws::String> m_accounts; 310 bool m_accountsHasBeenSet; 311 312 Aws::Vector<Aws::String> m_regions; 313 bool m_regionsHasBeenSet; 314 315 Aws::String m_targetLocationMaxConcurrency; 316 bool m_targetLocationMaxConcurrencyHasBeenSet; 317 318 Aws::String m_targetLocationMaxErrors; 319 bool m_targetLocationMaxErrorsHasBeenSet; 320 321 Aws::String m_executionRoleName; 322 bool m_executionRoleNameHasBeenSet; 323 }; 324 325 } // namespace Model 326 } // namespace SSM 327 } // namespace Aws 328