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 <utility>
11 
12 namespace Aws
13 {
14 namespace Http
15 {
16     class URI;
17 } //namespace Http
18 namespace CodeArtifact
19 {
20 namespace Model
21 {
22 
23   /**
24    */
25   class AWS_CODEARTIFACT_API DescribeRepositoryRequest : public CodeArtifactRequest
26   {
27   public:
28     DescribeRepositoryRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "DescribeRepository"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
39 
40 
41     /**
42      * <p> The name of the domain that contains the repository to describe. </p>
43      */
GetDomain()44     inline const Aws::String& GetDomain() const{ return m_domain; }
45 
46     /**
47      * <p> The name of the domain that contains the repository to describe. </p>
48      */
DomainHasBeenSet()49     inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; }
50 
51     /**
52      * <p> The name of the domain that contains the repository to describe. </p>
53      */
SetDomain(const Aws::String & value)54     inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; }
55 
56     /**
57      * <p> The name of the domain that contains the repository to describe. </p>
58      */
SetDomain(Aws::String && value)59     inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); }
60 
61     /**
62      * <p> The name of the domain that contains the repository to describe. </p>
63      */
SetDomain(const char * value)64     inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); }
65 
66     /**
67      * <p> The name of the domain that contains the repository to describe. </p>
68      */
WithDomain(const Aws::String & value)69     inline DescribeRepositoryRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;}
70 
71     /**
72      * <p> The name of the domain that contains the repository to describe. </p>
73      */
WithDomain(Aws::String && value)74     inline DescribeRepositoryRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;}
75 
76     /**
77      * <p> The name of the domain that contains the repository to describe. </p>
78      */
WithDomain(const char * value)79     inline DescribeRepositoryRequest& WithDomain(const char* value) { SetDomain(value); return *this;}
80 
81 
82     /**
83      * <p> The 12-digit account number of the AWS account that owns the domain. It does
84      * not include dashes or spaces. </p>
85      */
GetDomainOwner()86     inline const Aws::String& GetDomainOwner() const{ return m_domainOwner; }
87 
88     /**
89      * <p> The 12-digit account number of the AWS account that owns the domain. It does
90      * not include dashes or spaces. </p>
91      */
DomainOwnerHasBeenSet()92     inline bool DomainOwnerHasBeenSet() const { return m_domainOwnerHasBeenSet; }
93 
94     /**
95      * <p> The 12-digit account number of the AWS account that owns the domain. It does
96      * not include dashes or spaces. </p>
97      */
SetDomainOwner(const Aws::String & value)98     inline void SetDomainOwner(const Aws::String& value) { m_domainOwnerHasBeenSet = true; m_domainOwner = value; }
99 
100     /**
101      * <p> The 12-digit account number of the AWS account that owns the domain. It does
102      * not include dashes or spaces. </p>
103      */
SetDomainOwner(Aws::String && value)104     inline void SetDomainOwner(Aws::String&& value) { m_domainOwnerHasBeenSet = true; m_domainOwner = std::move(value); }
105 
106     /**
107      * <p> The 12-digit account number of the AWS account that owns the domain. It does
108      * not include dashes or spaces. </p>
109      */
SetDomainOwner(const char * value)110     inline void SetDomainOwner(const char* value) { m_domainOwnerHasBeenSet = true; m_domainOwner.assign(value); }
111 
112     /**
113      * <p> The 12-digit account number of the AWS account that owns the domain. It does
114      * not include dashes or spaces. </p>
115      */
WithDomainOwner(const Aws::String & value)116     inline DescribeRepositoryRequest& WithDomainOwner(const Aws::String& value) { SetDomainOwner(value); return *this;}
117 
118     /**
119      * <p> The 12-digit account number of the AWS account that owns the domain. It does
120      * not include dashes or spaces. </p>
121      */
WithDomainOwner(Aws::String && value)122     inline DescribeRepositoryRequest& WithDomainOwner(Aws::String&& value) { SetDomainOwner(std::move(value)); return *this;}
123 
124     /**
125      * <p> The 12-digit account number of the AWS account that owns the domain. It does
126      * not include dashes or spaces. </p>
127      */
WithDomainOwner(const char * value)128     inline DescribeRepositoryRequest& WithDomainOwner(const char* value) { SetDomainOwner(value); return *this;}
129 
130 
131     /**
132      * <p> A string that specifies the name of the requested repository. </p>
133      */
GetRepository()134     inline const Aws::String& GetRepository() const{ return m_repository; }
135 
136     /**
137      * <p> A string that specifies the name of the requested repository. </p>
138      */
RepositoryHasBeenSet()139     inline bool RepositoryHasBeenSet() const { return m_repositoryHasBeenSet; }
140 
141     /**
142      * <p> A string that specifies the name of the requested repository. </p>
143      */
SetRepository(const Aws::String & value)144     inline void SetRepository(const Aws::String& value) { m_repositoryHasBeenSet = true; m_repository = value; }
145 
146     /**
147      * <p> A string that specifies the name of the requested repository. </p>
148      */
SetRepository(Aws::String && value)149     inline void SetRepository(Aws::String&& value) { m_repositoryHasBeenSet = true; m_repository = std::move(value); }
150 
151     /**
152      * <p> A string that specifies the name of the requested repository. </p>
153      */
SetRepository(const char * value)154     inline void SetRepository(const char* value) { m_repositoryHasBeenSet = true; m_repository.assign(value); }
155 
156     /**
157      * <p> A string that specifies the name of the requested repository. </p>
158      */
WithRepository(const Aws::String & value)159     inline DescribeRepositoryRequest& WithRepository(const Aws::String& value) { SetRepository(value); return *this;}
160 
161     /**
162      * <p> A string that specifies the name of the requested repository. </p>
163      */
WithRepository(Aws::String && value)164     inline DescribeRepositoryRequest& WithRepository(Aws::String&& value) { SetRepository(std::move(value)); return *this;}
165 
166     /**
167      * <p> A string that specifies the name of the requested repository. </p>
168      */
WithRepository(const char * value)169     inline DescribeRepositoryRequest& WithRepository(const char* value) { SetRepository(value); return *this;}
170 
171   private:
172 
173     Aws::String m_domain;
174     bool m_domainHasBeenSet;
175 
176     Aws::String m_domainOwner;
177     bool m_domainOwnerHasBeenSet;
178 
179     Aws::String m_repository;
180     bool m_repositoryHasBeenSet;
181   };
182 
183 } // namespace Model
184 } // namespace CodeArtifact
185 } // namespace Aws
186