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/budgets/Budgets_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.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 Budgets 23 { 24 namespace Model 25 { 26 27 /** 28 * <p> The service control policies (SCP) action definition details. </p><p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/budgets-2016-10-20/ScpActionDefinition">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_BUDGETS_API ScpActionDefinition 34 { 35 public: 36 ScpActionDefinition(); 37 ScpActionDefinition(Aws::Utils::Json::JsonView jsonValue); 38 ScpActionDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p> The policy ID attached. </p> 44 */ GetPolicyId()45 inline const Aws::String& GetPolicyId() const{ return m_policyId; } 46 47 /** 48 * <p> The policy ID attached. </p> 49 */ PolicyIdHasBeenSet()50 inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; } 51 52 /** 53 * <p> The policy ID attached. </p> 54 */ SetPolicyId(const Aws::String & value)55 inline void SetPolicyId(const Aws::String& value) { m_policyIdHasBeenSet = true; m_policyId = value; } 56 57 /** 58 * <p> The policy ID attached. </p> 59 */ SetPolicyId(Aws::String && value)60 inline void SetPolicyId(Aws::String&& value) { m_policyIdHasBeenSet = true; m_policyId = std::move(value); } 61 62 /** 63 * <p> The policy ID attached. </p> 64 */ SetPolicyId(const char * value)65 inline void SetPolicyId(const char* value) { m_policyIdHasBeenSet = true; m_policyId.assign(value); } 66 67 /** 68 * <p> The policy ID attached. </p> 69 */ WithPolicyId(const Aws::String & value)70 inline ScpActionDefinition& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} 71 72 /** 73 * <p> The policy ID attached. </p> 74 */ WithPolicyId(Aws::String && value)75 inline ScpActionDefinition& WithPolicyId(Aws::String&& value) { SetPolicyId(std::move(value)); return *this;} 76 77 /** 78 * <p> The policy ID attached. </p> 79 */ WithPolicyId(const char * value)80 inline ScpActionDefinition& WithPolicyId(const char* value) { SetPolicyId(value); return *this;} 81 82 83 /** 84 * <p> A list of target IDs. </p> 85 */ GetTargetIds()86 inline const Aws::Vector<Aws::String>& GetTargetIds() const{ return m_targetIds; } 87 88 /** 89 * <p> A list of target IDs. </p> 90 */ TargetIdsHasBeenSet()91 inline bool TargetIdsHasBeenSet() const { return m_targetIdsHasBeenSet; } 92 93 /** 94 * <p> A list of target IDs. </p> 95 */ SetTargetIds(const Aws::Vector<Aws::String> & value)96 inline void SetTargetIds(const Aws::Vector<Aws::String>& value) { m_targetIdsHasBeenSet = true; m_targetIds = value; } 97 98 /** 99 * <p> A list of target IDs. </p> 100 */ SetTargetIds(Aws::Vector<Aws::String> && value)101 inline void SetTargetIds(Aws::Vector<Aws::String>&& value) { m_targetIdsHasBeenSet = true; m_targetIds = std::move(value); } 102 103 /** 104 * <p> A list of target IDs. </p> 105 */ WithTargetIds(const Aws::Vector<Aws::String> & value)106 inline ScpActionDefinition& WithTargetIds(const Aws::Vector<Aws::String>& value) { SetTargetIds(value); return *this;} 107 108 /** 109 * <p> A list of target IDs. </p> 110 */ WithTargetIds(Aws::Vector<Aws::String> && value)111 inline ScpActionDefinition& WithTargetIds(Aws::Vector<Aws::String>&& value) { SetTargetIds(std::move(value)); return *this;} 112 113 /** 114 * <p> A list of target IDs. </p> 115 */ AddTargetIds(const Aws::String & value)116 inline ScpActionDefinition& AddTargetIds(const Aws::String& value) { m_targetIdsHasBeenSet = true; m_targetIds.push_back(value); return *this; } 117 118 /** 119 * <p> A list of target IDs. </p> 120 */ AddTargetIds(Aws::String && value)121 inline ScpActionDefinition& AddTargetIds(Aws::String&& value) { m_targetIdsHasBeenSet = true; m_targetIds.push_back(std::move(value)); return *this; } 122 123 /** 124 * <p> A list of target IDs. </p> 125 */ AddTargetIds(const char * value)126 inline ScpActionDefinition& AddTargetIds(const char* value) { m_targetIdsHasBeenSet = true; m_targetIds.push_back(value); return *this; } 127 128 private: 129 130 Aws::String m_policyId; 131 bool m_policyIdHasBeenSet; 132 133 Aws::Vector<Aws::String> m_targetIds; 134 bool m_targetIdsHasBeenSet; 135 }; 136 137 } // namespace Model 138 } // namespace Budgets 139 } // namespace Aws 140