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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/servicecatalog/model/ConstraintSummary.h>
11 #include <aws/servicecatalog/model/Tag.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 ServiceCatalog
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Summary information about a product path for a user.</p><p><h3>See Also:</h3>
31    * <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/LaunchPathSummary">AWS
33    * API Reference</a></p>
34    */
35   class AWS_SERVICECATALOG_API LaunchPathSummary
36   {
37   public:
38     LaunchPathSummary();
39     LaunchPathSummary(Aws::Utils::Json::JsonView jsonValue);
40     LaunchPathSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The identifier of the product path.</p>
46      */
GetId()47     inline const Aws::String& GetId() const{ return m_id; }
48 
49     /**
50      * <p>The identifier of the product path.</p>
51      */
IdHasBeenSet()52     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
53 
54     /**
55      * <p>The identifier of the product path.</p>
56      */
SetId(const Aws::String & value)57     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
58 
59     /**
60      * <p>The identifier of the product path.</p>
61      */
SetId(Aws::String && value)62     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
63 
64     /**
65      * <p>The identifier of the product path.</p>
66      */
SetId(const char * value)67     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
68 
69     /**
70      * <p>The identifier of the product path.</p>
71      */
WithId(const Aws::String & value)72     inline LaunchPathSummary& WithId(const Aws::String& value) { SetId(value); return *this;}
73 
74     /**
75      * <p>The identifier of the product path.</p>
76      */
WithId(Aws::String && value)77     inline LaunchPathSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
78 
79     /**
80      * <p>The identifier of the product path.</p>
81      */
WithId(const char * value)82     inline LaunchPathSummary& WithId(const char* value) { SetId(value); return *this;}
83 
84 
85     /**
86      * <p>The constraints on the portfolio-product relationship.</p>
87      */
GetConstraintSummaries()88     inline const Aws::Vector<ConstraintSummary>& GetConstraintSummaries() const{ return m_constraintSummaries; }
89 
90     /**
91      * <p>The constraints on the portfolio-product relationship.</p>
92      */
ConstraintSummariesHasBeenSet()93     inline bool ConstraintSummariesHasBeenSet() const { return m_constraintSummariesHasBeenSet; }
94 
95     /**
96      * <p>The constraints on the portfolio-product relationship.</p>
97      */
SetConstraintSummaries(const Aws::Vector<ConstraintSummary> & value)98     inline void SetConstraintSummaries(const Aws::Vector<ConstraintSummary>& value) { m_constraintSummariesHasBeenSet = true; m_constraintSummaries = value; }
99 
100     /**
101      * <p>The constraints on the portfolio-product relationship.</p>
102      */
SetConstraintSummaries(Aws::Vector<ConstraintSummary> && value)103     inline void SetConstraintSummaries(Aws::Vector<ConstraintSummary>&& value) { m_constraintSummariesHasBeenSet = true; m_constraintSummaries = std::move(value); }
104 
105     /**
106      * <p>The constraints on the portfolio-product relationship.</p>
107      */
WithConstraintSummaries(const Aws::Vector<ConstraintSummary> & value)108     inline LaunchPathSummary& WithConstraintSummaries(const Aws::Vector<ConstraintSummary>& value) { SetConstraintSummaries(value); return *this;}
109 
110     /**
111      * <p>The constraints on the portfolio-product relationship.</p>
112      */
WithConstraintSummaries(Aws::Vector<ConstraintSummary> && value)113     inline LaunchPathSummary& WithConstraintSummaries(Aws::Vector<ConstraintSummary>&& value) { SetConstraintSummaries(std::move(value)); return *this;}
114 
115     /**
116      * <p>The constraints on the portfolio-product relationship.</p>
117      */
AddConstraintSummaries(const ConstraintSummary & value)118     inline LaunchPathSummary& AddConstraintSummaries(const ConstraintSummary& value) { m_constraintSummariesHasBeenSet = true; m_constraintSummaries.push_back(value); return *this; }
119 
120     /**
121      * <p>The constraints on the portfolio-product relationship.</p>
122      */
AddConstraintSummaries(ConstraintSummary && value)123     inline LaunchPathSummary& AddConstraintSummaries(ConstraintSummary&& value) { m_constraintSummariesHasBeenSet = true; m_constraintSummaries.push_back(std::move(value)); return *this; }
124 
125 
126     /**
127      * <p>The tags associated with this product path.</p>
128      */
GetTags()129     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
130 
131     /**
132      * <p>The tags associated with this product path.</p>
133      */
TagsHasBeenSet()134     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
135 
136     /**
137      * <p>The tags associated with this product path.</p>
138      */
SetTags(const Aws::Vector<Tag> & value)139     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
140 
141     /**
142      * <p>The tags associated with this product path.</p>
143      */
SetTags(Aws::Vector<Tag> && value)144     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
145 
146     /**
147      * <p>The tags associated with this product path.</p>
148      */
WithTags(const Aws::Vector<Tag> & value)149     inline LaunchPathSummary& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
150 
151     /**
152      * <p>The tags associated with this product path.</p>
153      */
WithTags(Aws::Vector<Tag> && value)154     inline LaunchPathSummary& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
155 
156     /**
157      * <p>The tags associated with this product path.</p>
158      */
AddTags(const Tag & value)159     inline LaunchPathSummary& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
160 
161     /**
162      * <p>The tags associated with this product path.</p>
163      */
AddTags(Tag && value)164     inline LaunchPathSummary& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
165 
166 
167     /**
168      * <p>The name of the portfolio to which the user was assigned.</p>
169      */
GetName()170     inline const Aws::String& GetName() const{ return m_name; }
171 
172     /**
173      * <p>The name of the portfolio to which the user was assigned.</p>
174      */
NameHasBeenSet()175     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
176 
177     /**
178      * <p>The name of the portfolio to which the user was assigned.</p>
179      */
SetName(const Aws::String & value)180     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
181 
182     /**
183      * <p>The name of the portfolio to which the user was assigned.</p>
184      */
SetName(Aws::String && value)185     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
186 
187     /**
188      * <p>The name of the portfolio to which the user was assigned.</p>
189      */
SetName(const char * value)190     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
191 
192     /**
193      * <p>The name of the portfolio to which the user was assigned.</p>
194      */
WithName(const Aws::String & value)195     inline LaunchPathSummary& WithName(const Aws::String& value) { SetName(value); return *this;}
196 
197     /**
198      * <p>The name of the portfolio to which the user was assigned.</p>
199      */
WithName(Aws::String && value)200     inline LaunchPathSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
201 
202     /**
203      * <p>The name of the portfolio to which the user was assigned.</p>
204      */
WithName(const char * value)205     inline LaunchPathSummary& WithName(const char* value) { SetName(value); return *this;}
206 
207   private:
208 
209     Aws::String m_id;
210     bool m_idHasBeenSet;
211 
212     Aws::Vector<ConstraintSummary> m_constraintSummaries;
213     bool m_constraintSummariesHasBeenSet;
214 
215     Aws::Vector<Tag> m_tags;
216     bool m_tagsHasBeenSet;
217 
218     Aws::String m_name;
219     bool m_nameHasBeenSet;
220   };
221 
222 } // namespace Model
223 } // namespace ServiceCatalog
224 } // namespace Aws
225