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/servicecatalog/ServiceCatalog_EXPORTS.h>
8 #include <aws/servicecatalog/model/ResourceTargetDefinition.h>
9 #include <aws/servicecatalog/model/EvaluationType.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace ServiceCatalog
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Information about a change to a resource attribute.</p><p><h3>See Also:</h3>
30    * <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ResourceChangeDetail">AWS
32    * API Reference</a></p>
33    */
34   class AWS_SERVICECATALOG_API ResourceChangeDetail
35   {
36   public:
37     ResourceChangeDetail();
38     ResourceChangeDetail(Aws::Utils::Json::JsonView jsonValue);
39     ResourceChangeDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>Information about the resource attribute to be modified.</p>
45      */
GetTarget()46     inline const ResourceTargetDefinition& GetTarget() const{ return m_target; }
47 
48     /**
49      * <p>Information about the resource attribute to be modified.</p>
50      */
TargetHasBeenSet()51     inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; }
52 
53     /**
54      * <p>Information about the resource attribute to be modified.</p>
55      */
SetTarget(const ResourceTargetDefinition & value)56     inline void SetTarget(const ResourceTargetDefinition& value) { m_targetHasBeenSet = true; m_target = value; }
57 
58     /**
59      * <p>Information about the resource attribute to be modified.</p>
60      */
SetTarget(ResourceTargetDefinition && value)61     inline void SetTarget(ResourceTargetDefinition&& value) { m_targetHasBeenSet = true; m_target = std::move(value); }
62 
63     /**
64      * <p>Information about the resource attribute to be modified.</p>
65      */
WithTarget(const ResourceTargetDefinition & value)66     inline ResourceChangeDetail& WithTarget(const ResourceTargetDefinition& value) { SetTarget(value); return *this;}
67 
68     /**
69      * <p>Information about the resource attribute to be modified.</p>
70      */
WithTarget(ResourceTargetDefinition && value)71     inline ResourceChangeDetail& WithTarget(ResourceTargetDefinition&& value) { SetTarget(std::move(value)); return *this;}
72 
73 
74     /**
75      * <p>For static evaluations, the value of the resource attribute will change and
76      * the new value is known. For dynamic evaluations, the value might change, and any
77      * new value will be determined when the plan is updated.</p>
78      */
GetEvaluation()79     inline const EvaluationType& GetEvaluation() const{ return m_evaluation; }
80 
81     /**
82      * <p>For static evaluations, the value of the resource attribute will change and
83      * the new value is known. For dynamic evaluations, the value might change, and any
84      * new value will be determined when the plan is updated.</p>
85      */
EvaluationHasBeenSet()86     inline bool EvaluationHasBeenSet() const { return m_evaluationHasBeenSet; }
87 
88     /**
89      * <p>For static evaluations, the value of the resource attribute will change and
90      * the new value is known. For dynamic evaluations, the value might change, and any
91      * new value will be determined when the plan is updated.</p>
92      */
SetEvaluation(const EvaluationType & value)93     inline void SetEvaluation(const EvaluationType& value) { m_evaluationHasBeenSet = true; m_evaluation = value; }
94 
95     /**
96      * <p>For static evaluations, the value of the resource attribute will change and
97      * the new value is known. For dynamic evaluations, the value might change, and any
98      * new value will be determined when the plan is updated.</p>
99      */
SetEvaluation(EvaluationType && value)100     inline void SetEvaluation(EvaluationType&& value) { m_evaluationHasBeenSet = true; m_evaluation = std::move(value); }
101 
102     /**
103      * <p>For static evaluations, the value of the resource attribute will change and
104      * the new value is known. For dynamic evaluations, the value might change, and any
105      * new value will be determined when the plan is updated.</p>
106      */
WithEvaluation(const EvaluationType & value)107     inline ResourceChangeDetail& WithEvaluation(const EvaluationType& value) { SetEvaluation(value); return *this;}
108 
109     /**
110      * <p>For static evaluations, the value of the resource attribute will change and
111      * the new value is known. For dynamic evaluations, the value might change, and any
112      * new value will be determined when the plan is updated.</p>
113      */
WithEvaluation(EvaluationType && value)114     inline ResourceChangeDetail& WithEvaluation(EvaluationType&& value) { SetEvaluation(std::move(value)); return *this;}
115 
116 
117     /**
118      * <p>The ID of the entity that caused the change.</p>
119      */
GetCausingEntity()120     inline const Aws::String& GetCausingEntity() const{ return m_causingEntity; }
121 
122     /**
123      * <p>The ID of the entity that caused the change.</p>
124      */
CausingEntityHasBeenSet()125     inline bool CausingEntityHasBeenSet() const { return m_causingEntityHasBeenSet; }
126 
127     /**
128      * <p>The ID of the entity that caused the change.</p>
129      */
SetCausingEntity(const Aws::String & value)130     inline void SetCausingEntity(const Aws::String& value) { m_causingEntityHasBeenSet = true; m_causingEntity = value; }
131 
132     /**
133      * <p>The ID of the entity that caused the change.</p>
134      */
SetCausingEntity(Aws::String && value)135     inline void SetCausingEntity(Aws::String&& value) { m_causingEntityHasBeenSet = true; m_causingEntity = std::move(value); }
136 
137     /**
138      * <p>The ID of the entity that caused the change.</p>
139      */
SetCausingEntity(const char * value)140     inline void SetCausingEntity(const char* value) { m_causingEntityHasBeenSet = true; m_causingEntity.assign(value); }
141 
142     /**
143      * <p>The ID of the entity that caused the change.</p>
144      */
WithCausingEntity(const Aws::String & value)145     inline ResourceChangeDetail& WithCausingEntity(const Aws::String& value) { SetCausingEntity(value); return *this;}
146 
147     /**
148      * <p>The ID of the entity that caused the change.</p>
149      */
WithCausingEntity(Aws::String && value)150     inline ResourceChangeDetail& WithCausingEntity(Aws::String&& value) { SetCausingEntity(std::move(value)); return *this;}
151 
152     /**
153      * <p>The ID of the entity that caused the change.</p>
154      */
WithCausingEntity(const char * value)155     inline ResourceChangeDetail& WithCausingEntity(const char* value) { SetCausingEntity(value); return *this;}
156 
157   private:
158 
159     ResourceTargetDefinition m_target;
160     bool m_targetHasBeenSet;
161 
162     EvaluationType m_evaluation;
163     bool m_evaluationHasBeenSet;
164 
165     Aws::String m_causingEntity;
166     bool m_causingEntityHasBeenSet;
167   };
168 
169 } // namespace Model
170 } // namespace ServiceCatalog
171 } // namespace Aws
172