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/OrganizationNode.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 UpdatePortfolioShareRequest : public ServiceCatalogRequest
23   {
24   public:
25     UpdatePortfolioShareRequest();
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 "UpdatePortfolioShare"; }
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 UpdatePortfolioShareRequest& 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 UpdatePortfolioShareRequest& 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 UpdatePortfolioShareRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;}
93 
94 
95     /**
96      * <p>The unique identifier of the portfolio for which the share will be
97      * updated.</p>
98      */
GetPortfolioId()99     inline const Aws::String& GetPortfolioId() const{ return m_portfolioId; }
100 
101     /**
102      * <p>The unique identifier of the portfolio for which the share will be
103      * updated.</p>
104      */
PortfolioIdHasBeenSet()105     inline bool PortfolioIdHasBeenSet() const { return m_portfolioIdHasBeenSet; }
106 
107     /**
108      * <p>The unique identifier of the portfolio for which the share will be
109      * updated.</p>
110      */
SetPortfolioId(const Aws::String & value)111     inline void SetPortfolioId(const Aws::String& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = value; }
112 
113     /**
114      * <p>The unique identifier of the portfolio for which the share will be
115      * updated.</p>
116      */
SetPortfolioId(Aws::String && value)117     inline void SetPortfolioId(Aws::String&& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = std::move(value); }
118 
119     /**
120      * <p>The unique identifier of the portfolio for which the share will be
121      * updated.</p>
122      */
SetPortfolioId(const char * value)123     inline void SetPortfolioId(const char* value) { m_portfolioIdHasBeenSet = true; m_portfolioId.assign(value); }
124 
125     /**
126      * <p>The unique identifier of the portfolio for which the share will be
127      * updated.</p>
128      */
WithPortfolioId(const Aws::String & value)129     inline UpdatePortfolioShareRequest& WithPortfolioId(const Aws::String& value) { SetPortfolioId(value); return *this;}
130 
131     /**
132      * <p>The unique identifier of the portfolio for which the share will be
133      * updated.</p>
134      */
WithPortfolioId(Aws::String && value)135     inline UpdatePortfolioShareRequest& WithPortfolioId(Aws::String&& value) { SetPortfolioId(std::move(value)); return *this;}
136 
137     /**
138      * <p>The unique identifier of the portfolio for which the share will be
139      * updated.</p>
140      */
WithPortfolioId(const char * value)141     inline UpdatePortfolioShareRequest& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;}
142 
143 
144     /**
145      * <p>The AWS Account Id of the recipient account. This field is required when
146      * updating an external account to account type share.</p>
147      */
GetAccountId()148     inline const Aws::String& GetAccountId() const{ return m_accountId; }
149 
150     /**
151      * <p>The AWS Account Id of the recipient account. This field is required when
152      * updating an external account to account type share.</p>
153      */
AccountIdHasBeenSet()154     inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
155 
156     /**
157      * <p>The AWS Account Id of the recipient account. This field is required when
158      * updating an external account to account type share.</p>
159      */
SetAccountId(const Aws::String & value)160     inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
161 
162     /**
163      * <p>The AWS Account Id of the recipient account. This field is required when
164      * updating an external account to account type share.</p>
165      */
SetAccountId(Aws::String && value)166     inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
167 
168     /**
169      * <p>The AWS Account Id of the recipient account. This field is required when
170      * updating an external account to account type share.</p>
171      */
SetAccountId(const char * value)172     inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
173 
174     /**
175      * <p>The AWS Account Id of the recipient account. This field is required when
176      * updating an external account to account type share.</p>
177      */
WithAccountId(const Aws::String & value)178     inline UpdatePortfolioShareRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
179 
180     /**
181      * <p>The AWS Account Id of the recipient account. This field is required when
182      * updating an external account to account type share.</p>
183      */
WithAccountId(Aws::String && value)184     inline UpdatePortfolioShareRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
185 
186     /**
187      * <p>The AWS Account Id of the recipient account. This field is required when
188      * updating an external account to account type share.</p>
189      */
WithAccountId(const char * value)190     inline UpdatePortfolioShareRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
191 
192 
193 
GetOrganizationNode()194     inline const OrganizationNode& GetOrganizationNode() const{ return m_organizationNode; }
195 
196 
OrganizationNodeHasBeenSet()197     inline bool OrganizationNodeHasBeenSet() const { return m_organizationNodeHasBeenSet; }
198 
199 
SetOrganizationNode(const OrganizationNode & value)200     inline void SetOrganizationNode(const OrganizationNode& value) { m_organizationNodeHasBeenSet = true; m_organizationNode = value; }
201 
202 
SetOrganizationNode(OrganizationNode && value)203     inline void SetOrganizationNode(OrganizationNode&& value) { m_organizationNodeHasBeenSet = true; m_organizationNode = std::move(value); }
204 
205 
WithOrganizationNode(const OrganizationNode & value)206     inline UpdatePortfolioShareRequest& WithOrganizationNode(const OrganizationNode& value) { SetOrganizationNode(value); return *this;}
207 
208 
WithOrganizationNode(OrganizationNode && value)209     inline UpdatePortfolioShareRequest& WithOrganizationNode(OrganizationNode&& value) { SetOrganizationNode(std::move(value)); return *this;}
210 
211 
212     /**
213      * <p>A flag to enable or disable TagOptions sharing for the portfolio share. If
214      * this field is not provided, the current state of TagOptions sharing on the
215      * portfolio share will not be modified.</p>
216      */
GetShareTagOptions()217     inline bool GetShareTagOptions() const{ return m_shareTagOptions; }
218 
219     /**
220      * <p>A flag to enable or disable TagOptions sharing for the portfolio share. If
221      * this field is not provided, the current state of TagOptions sharing on the
222      * portfolio share will not be modified.</p>
223      */
ShareTagOptionsHasBeenSet()224     inline bool ShareTagOptionsHasBeenSet() const { return m_shareTagOptionsHasBeenSet; }
225 
226     /**
227      * <p>A flag to enable or disable TagOptions sharing for the portfolio share. If
228      * this field is not provided, the current state of TagOptions sharing on the
229      * portfolio share will not be modified.</p>
230      */
SetShareTagOptions(bool value)231     inline void SetShareTagOptions(bool value) { m_shareTagOptionsHasBeenSet = true; m_shareTagOptions = value; }
232 
233     /**
234      * <p>A flag to enable or disable TagOptions sharing for the portfolio share. If
235      * this field is not provided, the current state of TagOptions sharing on the
236      * portfolio share will not be modified.</p>
237      */
WithShareTagOptions(bool value)238     inline UpdatePortfolioShareRequest& WithShareTagOptions(bool value) { SetShareTagOptions(value); return *this;}
239 
240   private:
241 
242     Aws::String m_acceptLanguage;
243     bool m_acceptLanguageHasBeenSet;
244 
245     Aws::String m_portfolioId;
246     bool m_portfolioIdHasBeenSet;
247 
248     Aws::String m_accountId;
249     bool m_accountIdHasBeenSet;
250 
251     OrganizationNode m_organizationNode;
252     bool m_organizationNodeHasBeenSet;
253 
254     bool m_shareTagOptions;
255     bool m_shareTagOptionsHasBeenSet;
256   };
257 
258 } // namespace Model
259 } // namespace ServiceCatalog
260 } // namespace Aws
261