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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/servicecatalog/model/PortfolioShareDetail.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace ServiceCatalog
26 {
27 namespace Model
28 {
29   class AWS_SERVICECATALOG_API DescribePortfolioSharesResult
30   {
31   public:
32     DescribePortfolioSharesResult();
33     DescribePortfolioSharesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     DescribePortfolioSharesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The page token to use to retrieve the next set of results. If there are no
39      * additional results, this value is null.</p>
40      */
GetNextPageToken()41     inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; }
42 
43     /**
44      * <p>The page token to use to retrieve the next set of results. If there are no
45      * additional results, this value is null.</p>
46      */
SetNextPageToken(const Aws::String & value)47     inline void SetNextPageToken(const Aws::String& value) { m_nextPageToken = value; }
48 
49     /**
50      * <p>The page token to use to retrieve the next set of results. If there are no
51      * additional results, this value is null.</p>
52      */
SetNextPageToken(Aws::String && value)53     inline void SetNextPageToken(Aws::String&& value) { m_nextPageToken = std::move(value); }
54 
55     /**
56      * <p>The page token to use to retrieve the next set of results. If there are no
57      * additional results, this value is null.</p>
58      */
SetNextPageToken(const char * value)59     inline void SetNextPageToken(const char* value) { m_nextPageToken.assign(value); }
60 
61     /**
62      * <p>The page token to use to retrieve the next set of results. If there are no
63      * additional results, this value is null.</p>
64      */
WithNextPageToken(const Aws::String & value)65     inline DescribePortfolioSharesResult& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;}
66 
67     /**
68      * <p>The page token to use to retrieve the next set of results. If there are no
69      * additional results, this value is null.</p>
70      */
WithNextPageToken(Aws::String && value)71     inline DescribePortfolioSharesResult& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;}
72 
73     /**
74      * <p>The page token to use to retrieve the next set of results. If there are no
75      * additional results, this value is null.</p>
76      */
WithNextPageToken(const char * value)77     inline DescribePortfolioSharesResult& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;}
78 
79 
80     /**
81      * <p>Summaries about each of the portfolio shares.</p>
82      */
GetPortfolioShareDetails()83     inline const Aws::Vector<PortfolioShareDetail>& GetPortfolioShareDetails() const{ return m_portfolioShareDetails; }
84 
85     /**
86      * <p>Summaries about each of the portfolio shares.</p>
87      */
SetPortfolioShareDetails(const Aws::Vector<PortfolioShareDetail> & value)88     inline void SetPortfolioShareDetails(const Aws::Vector<PortfolioShareDetail>& value) { m_portfolioShareDetails = value; }
89 
90     /**
91      * <p>Summaries about each of the portfolio shares.</p>
92      */
SetPortfolioShareDetails(Aws::Vector<PortfolioShareDetail> && value)93     inline void SetPortfolioShareDetails(Aws::Vector<PortfolioShareDetail>&& value) { m_portfolioShareDetails = std::move(value); }
94 
95     /**
96      * <p>Summaries about each of the portfolio shares.</p>
97      */
WithPortfolioShareDetails(const Aws::Vector<PortfolioShareDetail> & value)98     inline DescribePortfolioSharesResult& WithPortfolioShareDetails(const Aws::Vector<PortfolioShareDetail>& value) { SetPortfolioShareDetails(value); return *this;}
99 
100     /**
101      * <p>Summaries about each of the portfolio shares.</p>
102      */
WithPortfolioShareDetails(Aws::Vector<PortfolioShareDetail> && value)103     inline DescribePortfolioSharesResult& WithPortfolioShareDetails(Aws::Vector<PortfolioShareDetail>&& value) { SetPortfolioShareDetails(std::move(value)); return *this;}
104 
105     /**
106      * <p>Summaries about each of the portfolio shares.</p>
107      */
AddPortfolioShareDetails(const PortfolioShareDetail & value)108     inline DescribePortfolioSharesResult& AddPortfolioShareDetails(const PortfolioShareDetail& value) { m_portfolioShareDetails.push_back(value); return *this; }
109 
110     /**
111      * <p>Summaries about each of the portfolio shares.</p>
112      */
AddPortfolioShareDetails(PortfolioShareDetail && value)113     inline DescribePortfolioSharesResult& AddPortfolioShareDetails(PortfolioShareDetail&& value) { m_portfolioShareDetails.push_back(std::move(value)); return *this; }
114 
115   private:
116 
117     Aws::String m_nextPageToken;
118 
119     Aws::Vector<PortfolioShareDetail> m_portfolioShareDetails;
120   };
121 
122 } // namespace Model
123 } // namespace ServiceCatalog
124 } // namespace Aws
125