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/codeguru-reviewer/CodeGuruReviewer_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/codeguru-reviewer/model/ProviderType.h>
11 #include <aws/codeguru-reviewer/model/RepositoryAssociationState.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 CodeGuruReviewer
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Summary information about a repository association. The <a
31    * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
32    * <code>ListRepositoryAssociations</code> </a> operation returns a list of
33    * <code>RepositoryAssociationSummary</code> objects.</p><p><h3>See Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/RepositoryAssociationSummary">AWS
35    * API Reference</a></p>
36    */
37   class AWS_CODEGURUREVIEWER_API RepositoryAssociationSummary
38   {
39   public:
40     RepositoryAssociationSummary();
41     RepositoryAssociationSummary(Aws::Utils::Json::JsonView jsonValue);
42     RepositoryAssociationSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p> The Amazon Resource Name (ARN) of the <a
48      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
49      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
50      * calling <a
51      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
52      * <code>ListRepositoryAssociations</code> </a>. </p>
53      */
GetAssociationArn()54     inline const Aws::String& GetAssociationArn() const{ return m_associationArn; }
55 
56     /**
57      * <p> The Amazon Resource Name (ARN) of the <a
58      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
59      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
60      * calling <a
61      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
62      * <code>ListRepositoryAssociations</code> </a>. </p>
63      */
AssociationArnHasBeenSet()64     inline bool AssociationArnHasBeenSet() const { return m_associationArnHasBeenSet; }
65 
66     /**
67      * <p> The Amazon Resource Name (ARN) of the <a
68      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
69      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
70      * calling <a
71      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
72      * <code>ListRepositoryAssociations</code> </a>. </p>
73      */
SetAssociationArn(const Aws::String & value)74     inline void SetAssociationArn(const Aws::String& value) { m_associationArnHasBeenSet = true; m_associationArn = value; }
75 
76     /**
77      * <p> The Amazon Resource Name (ARN) of the <a
78      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
79      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
80      * calling <a
81      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
82      * <code>ListRepositoryAssociations</code> </a>. </p>
83      */
SetAssociationArn(Aws::String && value)84     inline void SetAssociationArn(Aws::String&& value) { m_associationArnHasBeenSet = true; m_associationArn = std::move(value); }
85 
86     /**
87      * <p> The Amazon Resource Name (ARN) of the <a
88      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
89      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
90      * calling <a
91      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
92      * <code>ListRepositoryAssociations</code> </a>. </p>
93      */
SetAssociationArn(const char * value)94     inline void SetAssociationArn(const char* value) { m_associationArnHasBeenSet = true; m_associationArn.assign(value); }
95 
96     /**
97      * <p> The Amazon Resource Name (ARN) of the <a
98      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
99      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
100      * calling <a
101      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
102      * <code>ListRepositoryAssociations</code> </a>. </p>
103      */
WithAssociationArn(const Aws::String & value)104     inline RepositoryAssociationSummary& WithAssociationArn(const Aws::String& value) { SetAssociationArn(value); return *this;}
105 
106     /**
107      * <p> The Amazon Resource Name (ARN) of the <a
108      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
109      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
110      * calling <a
111      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
112      * <code>ListRepositoryAssociations</code> </a>. </p>
113      */
WithAssociationArn(Aws::String && value)114     inline RepositoryAssociationSummary& WithAssociationArn(Aws::String&& value) { SetAssociationArn(std::move(value)); return *this;}
115 
116     /**
117      * <p> The Amazon Resource Name (ARN) of the <a
118      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html">
119      * <code>RepositoryAssociation</code> </a> object. You can retrieve this ARN by
120      * calling <a
121      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_ListRepositoryAssociations.html">
122      * <code>ListRepositoryAssociations</code> </a>. </p>
123      */
WithAssociationArn(const char * value)124     inline RepositoryAssociationSummary& WithAssociationArn(const char* value) { SetAssociationArn(value); return *this;}
125 
126 
127     /**
128      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
129      * Connections connection. Its format is
130      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
131      * For more information, see <a
132      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
133      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
134      * API Reference</i>. </p>
135      */
GetConnectionArn()136     inline const Aws::String& GetConnectionArn() const{ return m_connectionArn; }
137 
138     /**
139      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
140      * Connections connection. Its format is
141      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
142      * For more information, see <a
143      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
144      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
145      * API Reference</i>. </p>
146      */
ConnectionArnHasBeenSet()147     inline bool ConnectionArnHasBeenSet() const { return m_connectionArnHasBeenSet; }
148 
149     /**
150      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
151      * Connections connection. Its format is
152      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
153      * For more information, see <a
154      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
155      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
156      * API Reference</i>. </p>
157      */
SetConnectionArn(const Aws::String & value)158     inline void SetConnectionArn(const Aws::String& value) { m_connectionArnHasBeenSet = true; m_connectionArn = value; }
159 
160     /**
161      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
162      * Connections connection. Its format is
163      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
164      * For more information, see <a
165      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
166      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
167      * API Reference</i>. </p>
168      */
SetConnectionArn(Aws::String && value)169     inline void SetConnectionArn(Aws::String&& value) { m_connectionArnHasBeenSet = true; m_connectionArn = std::move(value); }
170 
171     /**
172      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
173      * Connections connection. Its format is
174      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
175      * For more information, see <a
176      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
177      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
178      * API Reference</i>. </p>
179      */
SetConnectionArn(const char * value)180     inline void SetConnectionArn(const char* value) { m_connectionArnHasBeenSet = true; m_connectionArn.assign(value); }
181 
182     /**
183      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
184      * Connections connection. Its format is
185      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
186      * For more information, see <a
187      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
188      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
189      * API Reference</i>. </p>
190      */
WithConnectionArn(const Aws::String & value)191     inline RepositoryAssociationSummary& WithConnectionArn(const Aws::String& value) { SetConnectionArn(value); return *this;}
192 
193     /**
194      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
195      * Connections connection. Its format is
196      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
197      * For more information, see <a
198      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
199      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
200      * API Reference</i>. </p>
201      */
WithConnectionArn(Aws::String && value)202     inline RepositoryAssociationSummary& WithConnectionArn(Aws::String&& value) { SetConnectionArn(std::move(value)); return *this;}
203 
204     /**
205      * <p> The Amazon Resource Name (ARN) of an Amazon Web Services CodeStar
206      * Connections connection. Its format is
207      * <code>arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id</code>.
208      * For more information, see <a
209      * href="https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html">
210      * <code>Connection</code> </a> in the <i>Amazon Web Services CodeStar Connections
211      * API Reference</i>. </p>
212      */
WithConnectionArn(const char * value)213     inline RepositoryAssociationSummary& WithConnectionArn(const char* value) { SetConnectionArn(value); return *this;}
214 
215 
216     /**
217      * <p>The time, in milliseconds since the epoch, since the repository association
218      * was last updated. </p>
219      */
GetLastUpdatedTimeStamp()220     inline const Aws::Utils::DateTime& GetLastUpdatedTimeStamp() const{ return m_lastUpdatedTimeStamp; }
221 
222     /**
223      * <p>The time, in milliseconds since the epoch, since the repository association
224      * was last updated. </p>
225      */
LastUpdatedTimeStampHasBeenSet()226     inline bool LastUpdatedTimeStampHasBeenSet() const { return m_lastUpdatedTimeStampHasBeenSet; }
227 
228     /**
229      * <p>The time, in milliseconds since the epoch, since the repository association
230      * was last updated. </p>
231      */
SetLastUpdatedTimeStamp(const Aws::Utils::DateTime & value)232     inline void SetLastUpdatedTimeStamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeStampHasBeenSet = true; m_lastUpdatedTimeStamp = value; }
233 
234     /**
235      * <p>The time, in milliseconds since the epoch, since the repository association
236      * was last updated. </p>
237      */
SetLastUpdatedTimeStamp(Aws::Utils::DateTime && value)238     inline void SetLastUpdatedTimeStamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeStampHasBeenSet = true; m_lastUpdatedTimeStamp = std::move(value); }
239 
240     /**
241      * <p>The time, in milliseconds since the epoch, since the repository association
242      * was last updated. </p>
243      */
WithLastUpdatedTimeStamp(const Aws::Utils::DateTime & value)244     inline RepositoryAssociationSummary& WithLastUpdatedTimeStamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimeStamp(value); return *this;}
245 
246     /**
247      * <p>The time, in milliseconds since the epoch, since the repository association
248      * was last updated. </p>
249      */
WithLastUpdatedTimeStamp(Aws::Utils::DateTime && value)250     inline RepositoryAssociationSummary& WithLastUpdatedTimeStamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimeStamp(std::move(value)); return *this;}
251 
252 
253     /**
254      * <p> The repository association ID. </p>
255      */
GetAssociationId()256     inline const Aws::String& GetAssociationId() const{ return m_associationId; }
257 
258     /**
259      * <p> The repository association ID. </p>
260      */
AssociationIdHasBeenSet()261     inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; }
262 
263     /**
264      * <p> The repository association ID. </p>
265      */
SetAssociationId(const Aws::String & value)266     inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; }
267 
268     /**
269      * <p> The repository association ID. </p>
270      */
SetAssociationId(Aws::String && value)271     inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); }
272 
273     /**
274      * <p> The repository association ID. </p>
275      */
SetAssociationId(const char * value)276     inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); }
277 
278     /**
279      * <p> The repository association ID. </p>
280      */
WithAssociationId(const Aws::String & value)281     inline RepositoryAssociationSummary& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
282 
283     /**
284      * <p> The repository association ID. </p>
285      */
WithAssociationId(Aws::String && value)286     inline RepositoryAssociationSummary& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
287 
288     /**
289      * <p> The repository association ID. </p>
290      */
WithAssociationId(const char * value)291     inline RepositoryAssociationSummary& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
292 
293 
294     /**
295      * <p>The name of the repository association.</p>
296      */
GetName()297     inline const Aws::String& GetName() const{ return m_name; }
298 
299     /**
300      * <p>The name of the repository association.</p>
301      */
NameHasBeenSet()302     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
303 
304     /**
305      * <p>The name of the repository association.</p>
306      */
SetName(const Aws::String & value)307     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
308 
309     /**
310      * <p>The name of the repository association.</p>
311      */
SetName(Aws::String && value)312     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
313 
314     /**
315      * <p>The name of the repository association.</p>
316      */
SetName(const char * value)317     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
318 
319     /**
320      * <p>The name of the repository association.</p>
321      */
WithName(const Aws::String & value)322     inline RepositoryAssociationSummary& WithName(const Aws::String& value) { SetName(value); return *this;}
323 
324     /**
325      * <p>The name of the repository association.</p>
326      */
WithName(Aws::String && value)327     inline RepositoryAssociationSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
328 
329     /**
330      * <p>The name of the repository association.</p>
331      */
WithName(const char * value)332     inline RepositoryAssociationSummary& WithName(const char* value) { SetName(value); return *this;}
333 
334 
335     /**
336      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
337      * repository, this is the Amazon Web Services account ID of the account that owns
338      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
339      * this is the username for the account that owns the repository. For an S3
340      * repository, it can be the username or Amazon Web Services account ID.</p>
341      */
GetOwner()342     inline const Aws::String& GetOwner() const{ return m_owner; }
343 
344     /**
345      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
346      * repository, this is the Amazon Web Services account ID of the account that owns
347      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
348      * this is the username for the account that owns the repository. For an S3
349      * repository, it can be the username or Amazon Web Services account ID.</p>
350      */
OwnerHasBeenSet()351     inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
352 
353     /**
354      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
355      * repository, this is the Amazon Web Services account ID of the account that owns
356      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
357      * this is the username for the account that owns the repository. For an S3
358      * repository, it can be the username or Amazon Web Services account ID.</p>
359      */
SetOwner(const Aws::String & value)360     inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; }
361 
362     /**
363      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
364      * repository, this is the Amazon Web Services account ID of the account that owns
365      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
366      * this is the username for the account that owns the repository. For an S3
367      * repository, it can be the username or Amazon Web Services account ID.</p>
368      */
SetOwner(Aws::String && value)369     inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
370 
371     /**
372      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
373      * repository, this is the Amazon Web Services account ID of the account that owns
374      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
375      * this is the username for the account that owns the repository. For an S3
376      * repository, it can be the username or Amazon Web Services account ID.</p>
377      */
SetOwner(const char * value)378     inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); }
379 
380     /**
381      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
382      * repository, this is the Amazon Web Services account ID of the account that owns
383      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
384      * this is the username for the account that owns the repository. For an S3
385      * repository, it can be the username or Amazon Web Services account ID.</p>
386      */
WithOwner(const Aws::String & value)387     inline RepositoryAssociationSummary& WithOwner(const Aws::String& value) { SetOwner(value); return *this;}
388 
389     /**
390      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
391      * repository, this is the Amazon Web Services account ID of the account that owns
392      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
393      * this is the username for the account that owns the repository. For an S3
394      * repository, it can be the username or Amazon Web Services account ID.</p>
395      */
WithOwner(Aws::String && value)396     inline RepositoryAssociationSummary& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;}
397 
398     /**
399      * <p>The owner of the repository. For an Amazon Web Services CodeCommit
400      * repository, this is the Amazon Web Services account ID of the account that owns
401      * the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository,
402      * this is the username for the account that owns the repository. For an S3
403      * repository, it can be the username or Amazon Web Services account ID.</p>
404      */
WithOwner(const char * value)405     inline RepositoryAssociationSummary& WithOwner(const char* value) { SetOwner(value); return *this;}
406 
407 
408     /**
409      * <p>The provider type of the repository association.</p>
410      */
GetProviderType()411     inline const ProviderType& GetProviderType() const{ return m_providerType; }
412 
413     /**
414      * <p>The provider type of the repository association.</p>
415      */
ProviderTypeHasBeenSet()416     inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; }
417 
418     /**
419      * <p>The provider type of the repository association.</p>
420      */
SetProviderType(const ProviderType & value)421     inline void SetProviderType(const ProviderType& value) { m_providerTypeHasBeenSet = true; m_providerType = value; }
422 
423     /**
424      * <p>The provider type of the repository association.</p>
425      */
SetProviderType(ProviderType && value)426     inline void SetProviderType(ProviderType&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::move(value); }
427 
428     /**
429      * <p>The provider type of the repository association.</p>
430      */
WithProviderType(const ProviderType & value)431     inline RepositoryAssociationSummary& WithProviderType(const ProviderType& value) { SetProviderType(value); return *this;}
432 
433     /**
434      * <p>The provider type of the repository association.</p>
435      */
WithProviderType(ProviderType && value)436     inline RepositoryAssociationSummary& WithProviderType(ProviderType&& value) { SetProviderType(std::move(value)); return *this;}
437 
438 
439     /**
440      * <p>The state of the repository association.</p> <p>The valid repository
441      * association states are:</p> <ul> <li> <p> <b>Associated</b>: The repository
442      * association is complete. </p> </li> <li> <p> <b>Associating</b>: CodeGuru
443      * Reviewer is: </p> <ul> <li> <p> Setting up pull request notifications. This is
444      * required for pull requests to trigger a CodeGuru Reviewer review. </p>
445      * <p> If your repository <code>ProviderType</code> is <code>GitHub</code>,
446      * <code>GitHub Enterprise Server</code>, or <code>Bitbucket</code>, CodeGuru
447      * Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer
448      * reviews. If you delete these webhooks, reviews of code in your repository cannot
449      * be triggered. </p>  </li> <li> <p> Setting up source code access. This is
450      * required for CodeGuru Reviewer to securely clone code in your repository. </p>
451      * </li> </ul> </li> <li> <p> <b>Failed</b>: The repository failed to associate or
452      * disassociate. </p> </li> <li> <p> <b>Disassociating</b>: CodeGuru Reviewer is
453      * removing the repository's pull request notifications and source code access.
454      * </p> </li> <li> <p> <b>Disassociated</b>: CodeGuru Reviewer successfully
455      * disassociated the repository. You can create a new association with this
456      * repository if you want to review source code in it later. You can control access
457      * to code reviews created in an associated repository with tags after it has been
458      * disassociated. For more information, see <a
459      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/auth-and-access-control-using-tags.html">Using
460      * tags to control access to associated repositories</a> in the <i>Amazon CodeGuru
461      * Reviewer User Guide</i>. </p> </li> </ul>
462      */
GetState()463     inline const RepositoryAssociationState& GetState() const{ return m_state; }
464 
465     /**
466      * <p>The state of the repository association.</p> <p>The valid repository
467      * association states are:</p> <ul> <li> <p> <b>Associated</b>: The repository
468      * association is complete. </p> </li> <li> <p> <b>Associating</b>: CodeGuru
469      * Reviewer is: </p> <ul> <li> <p> Setting up pull request notifications. This is
470      * required for pull requests to trigger a CodeGuru Reviewer review. </p>
471      * <p> If your repository <code>ProviderType</code> is <code>GitHub</code>,
472      * <code>GitHub Enterprise Server</code>, or <code>Bitbucket</code>, CodeGuru
473      * Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer
474      * reviews. If you delete these webhooks, reviews of code in your repository cannot
475      * be triggered. </p>  </li> <li> <p> Setting up source code access. This is
476      * required for CodeGuru Reviewer to securely clone code in your repository. </p>
477      * </li> </ul> </li> <li> <p> <b>Failed</b>: The repository failed to associate or
478      * disassociate. </p> </li> <li> <p> <b>Disassociating</b>: CodeGuru Reviewer is
479      * removing the repository's pull request notifications and source code access.
480      * </p> </li> <li> <p> <b>Disassociated</b>: CodeGuru Reviewer successfully
481      * disassociated the repository. You can create a new association with this
482      * repository if you want to review source code in it later. You can control access
483      * to code reviews created in an associated repository with tags after it has been
484      * disassociated. For more information, see <a
485      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/auth-and-access-control-using-tags.html">Using
486      * tags to control access to associated repositories</a> in the <i>Amazon CodeGuru
487      * Reviewer User Guide</i>. </p> </li> </ul>
488      */
StateHasBeenSet()489     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
490 
491     /**
492      * <p>The state of the repository association.</p> <p>The valid repository
493      * association states are:</p> <ul> <li> <p> <b>Associated</b>: The repository
494      * association is complete. </p> </li> <li> <p> <b>Associating</b>: CodeGuru
495      * Reviewer is: </p> <ul> <li> <p> Setting up pull request notifications. This is
496      * required for pull requests to trigger a CodeGuru Reviewer review. </p>
497      * <p> If your repository <code>ProviderType</code> is <code>GitHub</code>,
498      * <code>GitHub Enterprise Server</code>, or <code>Bitbucket</code>, CodeGuru
499      * Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer
500      * reviews. If you delete these webhooks, reviews of code in your repository cannot
501      * be triggered. </p>  </li> <li> <p> Setting up source code access. This is
502      * required for CodeGuru Reviewer to securely clone code in your repository. </p>
503      * </li> </ul> </li> <li> <p> <b>Failed</b>: The repository failed to associate or
504      * disassociate. </p> </li> <li> <p> <b>Disassociating</b>: CodeGuru Reviewer is
505      * removing the repository's pull request notifications and source code access.
506      * </p> </li> <li> <p> <b>Disassociated</b>: CodeGuru Reviewer successfully
507      * disassociated the repository. You can create a new association with this
508      * repository if you want to review source code in it later. You can control access
509      * to code reviews created in an associated repository with tags after it has been
510      * disassociated. For more information, see <a
511      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/auth-and-access-control-using-tags.html">Using
512      * tags to control access to associated repositories</a> in the <i>Amazon CodeGuru
513      * Reviewer User Guide</i>. </p> </li> </ul>
514      */
SetState(const RepositoryAssociationState & value)515     inline void SetState(const RepositoryAssociationState& value) { m_stateHasBeenSet = true; m_state = value; }
516 
517     /**
518      * <p>The state of the repository association.</p> <p>The valid repository
519      * association states are:</p> <ul> <li> <p> <b>Associated</b>: The repository
520      * association is complete. </p> </li> <li> <p> <b>Associating</b>: CodeGuru
521      * Reviewer is: </p> <ul> <li> <p> Setting up pull request notifications. This is
522      * required for pull requests to trigger a CodeGuru Reviewer review. </p>
523      * <p> If your repository <code>ProviderType</code> is <code>GitHub</code>,
524      * <code>GitHub Enterprise Server</code>, or <code>Bitbucket</code>, CodeGuru
525      * Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer
526      * reviews. If you delete these webhooks, reviews of code in your repository cannot
527      * be triggered. </p>  </li> <li> <p> Setting up source code access. This is
528      * required for CodeGuru Reviewer to securely clone code in your repository. </p>
529      * </li> </ul> </li> <li> <p> <b>Failed</b>: The repository failed to associate or
530      * disassociate. </p> </li> <li> <p> <b>Disassociating</b>: CodeGuru Reviewer is
531      * removing the repository's pull request notifications and source code access.
532      * </p> </li> <li> <p> <b>Disassociated</b>: CodeGuru Reviewer successfully
533      * disassociated the repository. You can create a new association with this
534      * repository if you want to review source code in it later. You can control access
535      * to code reviews created in an associated repository with tags after it has been
536      * disassociated. For more information, see <a
537      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/auth-and-access-control-using-tags.html">Using
538      * tags to control access to associated repositories</a> in the <i>Amazon CodeGuru
539      * Reviewer User Guide</i>. </p> </li> </ul>
540      */
SetState(RepositoryAssociationState && value)541     inline void SetState(RepositoryAssociationState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
542 
543     /**
544      * <p>The state of the repository association.</p> <p>The valid repository
545      * association states are:</p> <ul> <li> <p> <b>Associated</b>: The repository
546      * association is complete. </p> </li> <li> <p> <b>Associating</b>: CodeGuru
547      * Reviewer is: </p> <ul> <li> <p> Setting up pull request notifications. This is
548      * required for pull requests to trigger a CodeGuru Reviewer review. </p>
549      * <p> If your repository <code>ProviderType</code> is <code>GitHub</code>,
550      * <code>GitHub Enterprise Server</code>, or <code>Bitbucket</code>, CodeGuru
551      * Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer
552      * reviews. If you delete these webhooks, reviews of code in your repository cannot
553      * be triggered. </p>  </li> <li> <p> Setting up source code access. This is
554      * required for CodeGuru Reviewer to securely clone code in your repository. </p>
555      * </li> </ul> </li> <li> <p> <b>Failed</b>: The repository failed to associate or
556      * disassociate. </p> </li> <li> <p> <b>Disassociating</b>: CodeGuru Reviewer is
557      * removing the repository's pull request notifications and source code access.
558      * </p> </li> <li> <p> <b>Disassociated</b>: CodeGuru Reviewer successfully
559      * disassociated the repository. You can create a new association with this
560      * repository if you want to review source code in it later. You can control access
561      * to code reviews created in an associated repository with tags after it has been
562      * disassociated. For more information, see <a
563      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/auth-and-access-control-using-tags.html">Using
564      * tags to control access to associated repositories</a> in the <i>Amazon CodeGuru
565      * Reviewer User Guide</i>. </p> </li> </ul>
566      */
WithState(const RepositoryAssociationState & value)567     inline RepositoryAssociationSummary& WithState(const RepositoryAssociationState& value) { SetState(value); return *this;}
568 
569     /**
570      * <p>The state of the repository association.</p> <p>The valid repository
571      * association states are:</p> <ul> <li> <p> <b>Associated</b>: The repository
572      * association is complete. </p> </li> <li> <p> <b>Associating</b>: CodeGuru
573      * Reviewer is: </p> <ul> <li> <p> Setting up pull request notifications. This is
574      * required for pull requests to trigger a CodeGuru Reviewer review. </p>
575      * <p> If your repository <code>ProviderType</code> is <code>GitHub</code>,
576      * <code>GitHub Enterprise Server</code>, or <code>Bitbucket</code>, CodeGuru
577      * Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer
578      * reviews. If you delete these webhooks, reviews of code in your repository cannot
579      * be triggered. </p>  </li> <li> <p> Setting up source code access. This is
580      * required for CodeGuru Reviewer to securely clone code in your repository. </p>
581      * </li> </ul> </li> <li> <p> <b>Failed</b>: The repository failed to associate or
582      * disassociate. </p> </li> <li> <p> <b>Disassociating</b>: CodeGuru Reviewer is
583      * removing the repository's pull request notifications and source code access.
584      * </p> </li> <li> <p> <b>Disassociated</b>: CodeGuru Reviewer successfully
585      * disassociated the repository. You can create a new association with this
586      * repository if you want to review source code in it later. You can control access
587      * to code reviews created in an associated repository with tags after it has been
588      * disassociated. For more information, see <a
589      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/auth-and-access-control-using-tags.html">Using
590      * tags to control access to associated repositories</a> in the <i>Amazon CodeGuru
591      * Reviewer User Guide</i>. </p> </li> </ul>
592      */
WithState(RepositoryAssociationState && value)593     inline RepositoryAssociationSummary& WithState(RepositoryAssociationState&& value) { SetState(std::move(value)); return *this;}
594 
595   private:
596 
597     Aws::String m_associationArn;
598     bool m_associationArnHasBeenSet;
599 
600     Aws::String m_connectionArn;
601     bool m_connectionArnHasBeenSet;
602 
603     Aws::Utils::DateTime m_lastUpdatedTimeStamp;
604     bool m_lastUpdatedTimeStampHasBeenSet;
605 
606     Aws::String m_associationId;
607     bool m_associationIdHasBeenSet;
608 
609     Aws::String m_name;
610     bool m_nameHasBeenSet;
611 
612     Aws::String m_owner;
613     bool m_ownerHasBeenSet;
614 
615     ProviderType m_providerType;
616     bool m_providerTypeHasBeenSet;
617 
618     RepositoryAssociationState m_state;
619     bool m_stateHasBeenSet;
620   };
621 
622 } // namespace Model
623 } // namespace CodeGuruReviewer
624 } // namespace Aws
625