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/PortfolioShareType.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 AcceptPortfolioShareRequest : public ServiceCatalogRequest
23   {
24   public:
25     AcceptPortfolioShareRequest();
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 "AcceptPortfolioShare"; }
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 AcceptPortfolioShareRequest& 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 AcceptPortfolioShareRequest& 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 AcceptPortfolioShareRequest& 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 AcceptPortfolioShareRequest& WithPortfolioId(const Aws::String& value) { SetPortfolioId(value); return *this;}
124 
125     /**
126      * <p>The portfolio identifier.</p>
127      */
WithPortfolioId(Aws::String && value)128     inline AcceptPortfolioShareRequest& 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 AcceptPortfolioShareRequest& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;}
134 
135 
136     /**
137      * <p>The type of shared portfolios to accept. The default is to accept imported
138      * portfolios.</p> <ul> <li> <p> <code>AWS_ORGANIZATIONS</code> - Accept portfolios
139      * shared by the management account of your organization.</p> </li> <li> <p>
140      * <code>IMPORTED</code> - Accept imported portfolios.</p> </li> <li> <p>
141      * <code>AWS_SERVICECATALOG</code> - Not supported. (Throws
142      * ResourceNotFoundException.)</p> </li> </ul> <p>For example, <code>aws
143      * servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
144      * --portfolio-share-type AWS_ORGANIZATIONS</code> </p>
145      */
GetPortfolioShareType()146     inline const PortfolioShareType& GetPortfolioShareType() const{ return m_portfolioShareType; }
147 
148     /**
149      * <p>The type of shared portfolios to accept. The default is to accept imported
150      * portfolios.</p> <ul> <li> <p> <code>AWS_ORGANIZATIONS</code> - Accept portfolios
151      * shared by the management account of your organization.</p> </li> <li> <p>
152      * <code>IMPORTED</code> - Accept imported portfolios.</p> </li> <li> <p>
153      * <code>AWS_SERVICECATALOG</code> - Not supported. (Throws
154      * ResourceNotFoundException.)</p> </li> </ul> <p>For example, <code>aws
155      * servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
156      * --portfolio-share-type AWS_ORGANIZATIONS</code> </p>
157      */
PortfolioShareTypeHasBeenSet()158     inline bool PortfolioShareTypeHasBeenSet() const { return m_portfolioShareTypeHasBeenSet; }
159 
160     /**
161      * <p>The type of shared portfolios to accept. The default is to accept imported
162      * portfolios.</p> <ul> <li> <p> <code>AWS_ORGANIZATIONS</code> - Accept portfolios
163      * shared by the management account of your organization.</p> </li> <li> <p>
164      * <code>IMPORTED</code> - Accept imported portfolios.</p> </li> <li> <p>
165      * <code>AWS_SERVICECATALOG</code> - Not supported. (Throws
166      * ResourceNotFoundException.)</p> </li> </ul> <p>For example, <code>aws
167      * servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
168      * --portfolio-share-type AWS_ORGANIZATIONS</code> </p>
169      */
SetPortfolioShareType(const PortfolioShareType & value)170     inline void SetPortfolioShareType(const PortfolioShareType& value) { m_portfolioShareTypeHasBeenSet = true; m_portfolioShareType = value; }
171 
172     /**
173      * <p>The type of shared portfolios to accept. The default is to accept imported
174      * portfolios.</p> <ul> <li> <p> <code>AWS_ORGANIZATIONS</code> - Accept portfolios
175      * shared by the management account of your organization.</p> </li> <li> <p>
176      * <code>IMPORTED</code> - Accept imported portfolios.</p> </li> <li> <p>
177      * <code>AWS_SERVICECATALOG</code> - Not supported. (Throws
178      * ResourceNotFoundException.)</p> </li> </ul> <p>For example, <code>aws
179      * servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
180      * --portfolio-share-type AWS_ORGANIZATIONS</code> </p>
181      */
SetPortfolioShareType(PortfolioShareType && value)182     inline void SetPortfolioShareType(PortfolioShareType&& value) { m_portfolioShareTypeHasBeenSet = true; m_portfolioShareType = std::move(value); }
183 
184     /**
185      * <p>The type of shared portfolios to accept. The default is to accept imported
186      * portfolios.</p> <ul> <li> <p> <code>AWS_ORGANIZATIONS</code> - Accept portfolios
187      * shared by the management account of your organization.</p> </li> <li> <p>
188      * <code>IMPORTED</code> - Accept imported portfolios.</p> </li> <li> <p>
189      * <code>AWS_SERVICECATALOG</code> - Not supported. (Throws
190      * ResourceNotFoundException.)</p> </li> </ul> <p>For example, <code>aws
191      * servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
192      * --portfolio-share-type AWS_ORGANIZATIONS</code> </p>
193      */
WithPortfolioShareType(const PortfolioShareType & value)194     inline AcceptPortfolioShareRequest& WithPortfolioShareType(const PortfolioShareType& value) { SetPortfolioShareType(value); return *this;}
195 
196     /**
197      * <p>The type of shared portfolios to accept. The default is to accept imported
198      * portfolios.</p> <ul> <li> <p> <code>AWS_ORGANIZATIONS</code> - Accept portfolios
199      * shared by the management account of your organization.</p> </li> <li> <p>
200      * <code>IMPORTED</code> - Accept imported portfolios.</p> </li> <li> <p>
201      * <code>AWS_SERVICECATALOG</code> - Not supported. (Throws
202      * ResourceNotFoundException.)</p> </li> </ul> <p>For example, <code>aws
203      * servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
204      * --portfolio-share-type AWS_ORGANIZATIONS</code> </p>
205      */
WithPortfolioShareType(PortfolioShareType && value)206     inline AcceptPortfolioShareRequest& WithPortfolioShareType(PortfolioShareType&& value) { SetPortfolioShareType(std::move(value)); return *this;}
207 
208   private:
209 
210     Aws::String m_acceptLanguage;
211     bool m_acceptLanguageHasBeenSet;
212 
213     Aws::String m_portfolioId;
214     bool m_portfolioIdHasBeenSet;
215 
216     PortfolioShareType m_portfolioShareType;
217     bool m_portfolioShareTypeHasBeenSet;
218   };
219 
220 } // namespace Model
221 } // namespace ServiceCatalog
222 } // namespace Aws
223