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/ServiceCatalogRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/servicecatalog/model/PrincipalType.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ServiceCatalog
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_SERVICECATALOG_API AssociatePrincipalWithPortfolioRequest : public ServiceCatalogRequest
23   {
24   public:
25     AssociatePrincipalWithPortfolioRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "AssociatePrincipalWithPortfolio"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
40      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
41      * Chinese</p> </li> </ul>
42      */
GetAcceptLanguage()43     inline const Aws::String& GetAcceptLanguage() const{ return m_acceptLanguage; }
44 
45     /**
46      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
47      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
48      * Chinese</p> </li> </ul>
49      */
AcceptLanguageHasBeenSet()50     inline bool AcceptLanguageHasBeenSet() const { return m_acceptLanguageHasBeenSet; }
51 
52     /**
53      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
54      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
55      * Chinese</p> </li> </ul>
56      */
SetAcceptLanguage(const Aws::String & value)57     inline void SetAcceptLanguage(const Aws::String& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = value; }
58 
59     /**
60      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
61      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
62      * Chinese</p> </li> </ul>
63      */
SetAcceptLanguage(Aws::String && value)64     inline void SetAcceptLanguage(Aws::String&& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = std::move(value); }
65 
66     /**
67      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
68      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
69      * Chinese</p> </li> </ul>
70      */
SetAcceptLanguage(const char * value)71     inline void SetAcceptLanguage(const char* value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage.assign(value); }
72 
73     /**
74      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
75      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
76      * Chinese</p> </li> </ul>
77      */
WithAcceptLanguage(const Aws::String & value)78     inline AssociatePrincipalWithPortfolioRequest& WithAcceptLanguage(const Aws::String& value) { SetAcceptLanguage(value); return *this;}
79 
80     /**
81      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
82      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
83      * Chinese</p> </li> </ul>
84      */
WithAcceptLanguage(Aws::String && value)85     inline AssociatePrincipalWithPortfolioRequest& WithAcceptLanguage(Aws::String&& value) { SetAcceptLanguage(std::move(value)); return *this;}
86 
87     /**
88      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
89      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
90      * Chinese</p> </li> </ul>
91      */
WithAcceptLanguage(const char * value)92     inline AssociatePrincipalWithPortfolioRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;}
93 
94 
95     /**
96      * <p>The portfolio identifier.</p>
97      */
GetPortfolioId()98     inline const Aws::String& GetPortfolioId() const{ return m_portfolioId; }
99 
100     /**
101      * <p>The portfolio identifier.</p>
102      */
PortfolioIdHasBeenSet()103     inline bool PortfolioIdHasBeenSet() const { return m_portfolioIdHasBeenSet; }
104 
105     /**
106      * <p>The portfolio identifier.</p>
107      */
SetPortfolioId(const Aws::String & value)108     inline void SetPortfolioId(const Aws::String& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = value; }
109 
110     /**
111      * <p>The portfolio identifier.</p>
112      */
SetPortfolioId(Aws::String && value)113     inline void SetPortfolioId(Aws::String&& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = std::move(value); }
114 
115     /**
116      * <p>The portfolio identifier.</p>
117      */
SetPortfolioId(const char * value)118     inline void SetPortfolioId(const char* value) { m_portfolioIdHasBeenSet = true; m_portfolioId.assign(value); }
119 
120     /**
121      * <p>The portfolio identifier.</p>
122      */
WithPortfolioId(const Aws::String & value)123     inline AssociatePrincipalWithPortfolioRequest& WithPortfolioId(const Aws::String& value) { SetPortfolioId(value); return *this;}
124 
125     /**
126      * <p>The portfolio identifier.</p>
127      */
WithPortfolioId(Aws::String && value)128     inline AssociatePrincipalWithPortfolioRequest& WithPortfolioId(Aws::String&& value) { SetPortfolioId(std::move(value)); return *this;}
129 
130     /**
131      * <p>The portfolio identifier.</p>
132      */
WithPortfolioId(const char * value)133     inline AssociatePrincipalWithPortfolioRequest& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;}
134 
135 
136     /**
137      * <p>The ARN of the principal (IAM user, role, or group).</p>
138      */
GetPrincipalARN()139     inline const Aws::String& GetPrincipalARN() const{ return m_principalARN; }
140 
141     /**
142      * <p>The ARN of the principal (IAM user, role, or group).</p>
143      */
PrincipalARNHasBeenSet()144     inline bool PrincipalARNHasBeenSet() const { return m_principalARNHasBeenSet; }
145 
146     /**
147      * <p>The ARN of the principal (IAM user, role, or group).</p>
148      */
SetPrincipalARN(const Aws::String & value)149     inline void SetPrincipalARN(const Aws::String& value) { m_principalARNHasBeenSet = true; m_principalARN = value; }
150 
151     /**
152      * <p>The ARN of the principal (IAM user, role, or group).</p>
153      */
SetPrincipalARN(Aws::String && value)154     inline void SetPrincipalARN(Aws::String&& value) { m_principalARNHasBeenSet = true; m_principalARN = std::move(value); }
155 
156     /**
157      * <p>The ARN of the principal (IAM user, role, or group).</p>
158      */
SetPrincipalARN(const char * value)159     inline void SetPrincipalARN(const char* value) { m_principalARNHasBeenSet = true; m_principalARN.assign(value); }
160 
161     /**
162      * <p>The ARN of the principal (IAM user, role, or group).</p>
163      */
WithPrincipalARN(const Aws::String & value)164     inline AssociatePrincipalWithPortfolioRequest& WithPrincipalARN(const Aws::String& value) { SetPrincipalARN(value); return *this;}
165 
166     /**
167      * <p>The ARN of the principal (IAM user, role, or group).</p>
168      */
WithPrincipalARN(Aws::String && value)169     inline AssociatePrincipalWithPortfolioRequest& WithPrincipalARN(Aws::String&& value) { SetPrincipalARN(std::move(value)); return *this;}
170 
171     /**
172      * <p>The ARN of the principal (IAM user, role, or group).</p>
173      */
WithPrincipalARN(const char * value)174     inline AssociatePrincipalWithPortfolioRequest& WithPrincipalARN(const char* value) { SetPrincipalARN(value); return *this;}
175 
176 
177     /**
178      * <p>The principal type. The supported value is <code>IAM</code>.</p>
179      */
GetPrincipalType()180     inline const PrincipalType& GetPrincipalType() const{ return m_principalType; }
181 
182     /**
183      * <p>The principal type. The supported value is <code>IAM</code>.</p>
184      */
PrincipalTypeHasBeenSet()185     inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; }
186 
187     /**
188      * <p>The principal type. The supported value is <code>IAM</code>.</p>
189      */
SetPrincipalType(const PrincipalType & value)190     inline void SetPrincipalType(const PrincipalType& value) { m_principalTypeHasBeenSet = true; m_principalType = value; }
191 
192     /**
193      * <p>The principal type. The supported value is <code>IAM</code>.</p>
194      */
SetPrincipalType(PrincipalType && value)195     inline void SetPrincipalType(PrincipalType&& value) { m_principalTypeHasBeenSet = true; m_principalType = std::move(value); }
196 
197     /**
198      * <p>The principal type. The supported value is <code>IAM</code>.</p>
199      */
WithPrincipalType(const PrincipalType & value)200     inline AssociatePrincipalWithPortfolioRequest& WithPrincipalType(const PrincipalType& value) { SetPrincipalType(value); return *this;}
201 
202     /**
203      * <p>The principal type. The supported value is <code>IAM</code>.</p>
204      */
WithPrincipalType(PrincipalType && value)205     inline AssociatePrincipalWithPortfolioRequest& WithPrincipalType(PrincipalType&& value) { SetPrincipalType(std::move(value)); return *this;}
206 
207   private:
208 
209     Aws::String m_acceptLanguage;
210     bool m_acceptLanguageHasBeenSet;
211 
212     Aws::String m_portfolioId;
213     bool m_portfolioIdHasBeenSet;
214 
215     Aws::String m_principalARN;
216     bool m_principalARNHasBeenSet;
217 
218     PrincipalType m_principalType;
219     bool m_principalTypeHasBeenSet;
220   };
221 
222 } // namespace Model
223 } // namespace ServiceCatalog
224 } // namespace Aws
225