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/codeartifact/CodeArtifact_EXPORTS.h>
8 #include <aws/codeartifact/CodeArtifactRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/codeartifact/model/UpstreamRepository.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Http
17 {
18     class URI;
19 } //namespace Http
20 namespace CodeArtifact
21 {
22 namespace Model
23 {
24 
25   /**
26    */
27   class AWS_CODEARTIFACT_API UpdateRepositoryRequest : public CodeArtifactRequest
28   {
29   public:
30     UpdateRepositoryRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "UpdateRepository"; }
37 
38     Aws::String SerializePayload() const override;
39 
40     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
41 
42 
43     /**
44      * <p> The name of the domain associated with the repository to update. </p>
45      */
GetDomain()46     inline const Aws::String& GetDomain() const{ return m_domain; }
47 
48     /**
49      * <p> The name of the domain associated with the repository to update. </p>
50      */
DomainHasBeenSet()51     inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; }
52 
53     /**
54      * <p> The name of the domain associated with the repository to update. </p>
55      */
SetDomain(const Aws::String & value)56     inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; }
57 
58     /**
59      * <p> The name of the domain associated with the repository to update. </p>
60      */
SetDomain(Aws::String && value)61     inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); }
62 
63     /**
64      * <p> The name of the domain associated with the repository to update. </p>
65      */
SetDomain(const char * value)66     inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); }
67 
68     /**
69      * <p> The name of the domain associated with the repository to update. </p>
70      */
WithDomain(const Aws::String & value)71     inline UpdateRepositoryRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;}
72 
73     /**
74      * <p> The name of the domain associated with the repository to update. </p>
75      */
WithDomain(Aws::String && value)76     inline UpdateRepositoryRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;}
77 
78     /**
79      * <p> The name of the domain associated with the repository to update. </p>
80      */
WithDomain(const char * value)81     inline UpdateRepositoryRequest& WithDomain(const char* value) { SetDomain(value); return *this;}
82 
83 
84     /**
85      * <p> The 12-digit account number of the AWS account that owns the domain. It does
86      * not include dashes or spaces. </p>
87      */
GetDomainOwner()88     inline const Aws::String& GetDomainOwner() const{ return m_domainOwner; }
89 
90     /**
91      * <p> The 12-digit account number of the AWS account that owns the domain. It does
92      * not include dashes or spaces. </p>
93      */
DomainOwnerHasBeenSet()94     inline bool DomainOwnerHasBeenSet() const { return m_domainOwnerHasBeenSet; }
95 
96     /**
97      * <p> The 12-digit account number of the AWS account that owns the domain. It does
98      * not include dashes or spaces. </p>
99      */
SetDomainOwner(const Aws::String & value)100     inline void SetDomainOwner(const Aws::String& value) { m_domainOwnerHasBeenSet = true; m_domainOwner = value; }
101 
102     /**
103      * <p> The 12-digit account number of the AWS account that owns the domain. It does
104      * not include dashes or spaces. </p>
105      */
SetDomainOwner(Aws::String && value)106     inline void SetDomainOwner(Aws::String&& value) { m_domainOwnerHasBeenSet = true; m_domainOwner = std::move(value); }
107 
108     /**
109      * <p> The 12-digit account number of the AWS account that owns the domain. It does
110      * not include dashes or spaces. </p>
111      */
SetDomainOwner(const char * value)112     inline void SetDomainOwner(const char* value) { m_domainOwnerHasBeenSet = true; m_domainOwner.assign(value); }
113 
114     /**
115      * <p> The 12-digit account number of the AWS account that owns the domain. It does
116      * not include dashes or spaces. </p>
117      */
WithDomainOwner(const Aws::String & value)118     inline UpdateRepositoryRequest& WithDomainOwner(const Aws::String& value) { SetDomainOwner(value); return *this;}
119 
120     /**
121      * <p> The 12-digit account number of the AWS account that owns the domain. It does
122      * not include dashes or spaces. </p>
123      */
WithDomainOwner(Aws::String && value)124     inline UpdateRepositoryRequest& WithDomainOwner(Aws::String&& value) { SetDomainOwner(std::move(value)); return *this;}
125 
126     /**
127      * <p> The 12-digit account number of the AWS account that owns the domain. It does
128      * not include dashes or spaces. </p>
129      */
WithDomainOwner(const char * value)130     inline UpdateRepositoryRequest& WithDomainOwner(const char* value) { SetDomainOwner(value); return *this;}
131 
132 
133     /**
134      * <p> The name of the repository to update. </p>
135      */
GetRepository()136     inline const Aws::String& GetRepository() const{ return m_repository; }
137 
138     /**
139      * <p> The name of the repository to update. </p>
140      */
RepositoryHasBeenSet()141     inline bool RepositoryHasBeenSet() const { return m_repositoryHasBeenSet; }
142 
143     /**
144      * <p> The name of the repository to update. </p>
145      */
SetRepository(const Aws::String & value)146     inline void SetRepository(const Aws::String& value) { m_repositoryHasBeenSet = true; m_repository = value; }
147 
148     /**
149      * <p> The name of the repository to update. </p>
150      */
SetRepository(Aws::String && value)151     inline void SetRepository(Aws::String&& value) { m_repositoryHasBeenSet = true; m_repository = std::move(value); }
152 
153     /**
154      * <p> The name of the repository to update. </p>
155      */
SetRepository(const char * value)156     inline void SetRepository(const char* value) { m_repositoryHasBeenSet = true; m_repository.assign(value); }
157 
158     /**
159      * <p> The name of the repository to update. </p>
160      */
WithRepository(const Aws::String & value)161     inline UpdateRepositoryRequest& WithRepository(const Aws::String& value) { SetRepository(value); return *this;}
162 
163     /**
164      * <p> The name of the repository to update. </p>
165      */
WithRepository(Aws::String && value)166     inline UpdateRepositoryRequest& WithRepository(Aws::String&& value) { SetRepository(std::move(value)); return *this;}
167 
168     /**
169      * <p> The name of the repository to update. </p>
170      */
WithRepository(const char * value)171     inline UpdateRepositoryRequest& WithRepository(const char* value) { SetRepository(value); return *this;}
172 
173 
174     /**
175      * <p> An updated repository description. </p>
176      */
GetDescription()177     inline const Aws::String& GetDescription() const{ return m_description; }
178 
179     /**
180      * <p> An updated repository description. </p>
181      */
DescriptionHasBeenSet()182     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
183 
184     /**
185      * <p> An updated repository description. </p>
186      */
SetDescription(const Aws::String & value)187     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
188 
189     /**
190      * <p> An updated repository description. </p>
191      */
SetDescription(Aws::String && value)192     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
193 
194     /**
195      * <p> An updated repository description. </p>
196      */
SetDescription(const char * value)197     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
198 
199     /**
200      * <p> An updated repository description. </p>
201      */
WithDescription(const Aws::String & value)202     inline UpdateRepositoryRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
203 
204     /**
205      * <p> An updated repository description. </p>
206      */
WithDescription(Aws::String && value)207     inline UpdateRepositoryRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
208 
209     /**
210      * <p> An updated repository description. </p>
211      */
WithDescription(const char * value)212     inline UpdateRepositoryRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
213 
214 
215     /**
216      * <p> A list of upstream repositories to associate with the repository. The order
217      * of the upstream repositories in the list determines their priority order when
218      * AWS CodeArtifact looks for a requested package version. For more information,
219      * see <a
220      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
221      * with upstream repositories</a>. </p>
222      */
GetUpstreams()223     inline const Aws::Vector<UpstreamRepository>& GetUpstreams() const{ return m_upstreams; }
224 
225     /**
226      * <p> A list of upstream repositories to associate with the repository. The order
227      * of the upstream repositories in the list determines their priority order when
228      * AWS CodeArtifact looks for a requested package version. For more information,
229      * see <a
230      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
231      * with upstream repositories</a>. </p>
232      */
UpstreamsHasBeenSet()233     inline bool UpstreamsHasBeenSet() const { return m_upstreamsHasBeenSet; }
234 
235     /**
236      * <p> A list of upstream repositories to associate with the repository. The order
237      * of the upstream repositories in the list determines their priority order when
238      * AWS CodeArtifact looks for a requested package version. For more information,
239      * see <a
240      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
241      * with upstream repositories</a>. </p>
242      */
SetUpstreams(const Aws::Vector<UpstreamRepository> & value)243     inline void SetUpstreams(const Aws::Vector<UpstreamRepository>& value) { m_upstreamsHasBeenSet = true; m_upstreams = value; }
244 
245     /**
246      * <p> A list of upstream repositories to associate with the repository. The order
247      * of the upstream repositories in the list determines their priority order when
248      * AWS CodeArtifact looks for a requested package version. For more information,
249      * see <a
250      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
251      * with upstream repositories</a>. </p>
252      */
SetUpstreams(Aws::Vector<UpstreamRepository> && value)253     inline void SetUpstreams(Aws::Vector<UpstreamRepository>&& value) { m_upstreamsHasBeenSet = true; m_upstreams = std::move(value); }
254 
255     /**
256      * <p> A list of upstream repositories to associate with the repository. The order
257      * of the upstream repositories in the list determines their priority order when
258      * AWS CodeArtifact looks for a requested package version. For more information,
259      * see <a
260      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
261      * with upstream repositories</a>. </p>
262      */
WithUpstreams(const Aws::Vector<UpstreamRepository> & value)263     inline UpdateRepositoryRequest& WithUpstreams(const Aws::Vector<UpstreamRepository>& value) { SetUpstreams(value); return *this;}
264 
265     /**
266      * <p> A list of upstream repositories to associate with the repository. The order
267      * of the upstream repositories in the list determines their priority order when
268      * AWS CodeArtifact looks for a requested package version. For more information,
269      * see <a
270      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
271      * with upstream repositories</a>. </p>
272      */
WithUpstreams(Aws::Vector<UpstreamRepository> && value)273     inline UpdateRepositoryRequest& WithUpstreams(Aws::Vector<UpstreamRepository>&& value) { SetUpstreams(std::move(value)); return *this;}
274 
275     /**
276      * <p> A list of upstream repositories to associate with the repository. The order
277      * of the upstream repositories in the list determines their priority order when
278      * AWS CodeArtifact looks for a requested package version. For more information,
279      * see <a
280      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
281      * with upstream repositories</a>. </p>
282      */
AddUpstreams(const UpstreamRepository & value)283     inline UpdateRepositoryRequest& AddUpstreams(const UpstreamRepository& value) { m_upstreamsHasBeenSet = true; m_upstreams.push_back(value); return *this; }
284 
285     /**
286      * <p> A list of upstream repositories to associate with the repository. The order
287      * of the upstream repositories in the list determines their priority order when
288      * AWS CodeArtifact looks for a requested package version. For more information,
289      * see <a
290      * href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working
291      * with upstream repositories</a>. </p>
292      */
AddUpstreams(UpstreamRepository && value)293     inline UpdateRepositoryRequest& AddUpstreams(UpstreamRepository&& value) { m_upstreamsHasBeenSet = true; m_upstreams.push_back(std::move(value)); return *this; }
294 
295   private:
296 
297     Aws::String m_domain;
298     bool m_domainHasBeenSet;
299 
300     Aws::String m_domainOwner;
301     bool m_domainOwnerHasBeenSet;
302 
303     Aws::String m_repository;
304     bool m_repositoryHasBeenSet;
305 
306     Aws::String m_description;
307     bool m_descriptionHasBeenSet;
308 
309     Aws::Vector<UpstreamRepository> m_upstreams;
310     bool m_upstreamsHasBeenSet;
311   };
312 
313 } // namespace Model
314 } // namespace CodeArtifact
315 } // namespace Aws
316