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/model/ProvisionedProductPlanDetails.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/servicecatalog/model/ResourceChange.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace ServiceCatalog
27 {
28 namespace Model
29 {
30   class AWS_SERVICECATALOG_API DescribeProvisionedProductPlanResult
31   {
32   public:
33     DescribeProvisionedProductPlanResult();
34     DescribeProvisionedProductPlanResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeProvisionedProductPlanResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>Information about the plan.</p>
40      */
GetProvisionedProductPlanDetails()41     inline const ProvisionedProductPlanDetails& GetProvisionedProductPlanDetails() const{ return m_provisionedProductPlanDetails; }
42 
43     /**
44      * <p>Information about the plan.</p>
45      */
SetProvisionedProductPlanDetails(const ProvisionedProductPlanDetails & value)46     inline void SetProvisionedProductPlanDetails(const ProvisionedProductPlanDetails& value) { m_provisionedProductPlanDetails = value; }
47 
48     /**
49      * <p>Information about the plan.</p>
50      */
SetProvisionedProductPlanDetails(ProvisionedProductPlanDetails && value)51     inline void SetProvisionedProductPlanDetails(ProvisionedProductPlanDetails&& value) { m_provisionedProductPlanDetails = std::move(value); }
52 
53     /**
54      * <p>Information about the plan.</p>
55      */
WithProvisionedProductPlanDetails(const ProvisionedProductPlanDetails & value)56     inline DescribeProvisionedProductPlanResult& WithProvisionedProductPlanDetails(const ProvisionedProductPlanDetails& value) { SetProvisionedProductPlanDetails(value); return *this;}
57 
58     /**
59      * <p>Information about the plan.</p>
60      */
WithProvisionedProductPlanDetails(ProvisionedProductPlanDetails && value)61     inline DescribeProvisionedProductPlanResult& WithProvisionedProductPlanDetails(ProvisionedProductPlanDetails&& value) { SetProvisionedProductPlanDetails(std::move(value)); return *this;}
62 
63 
64     /**
65      * <p>Information about the resource changes that will occur when the plan is
66      * executed.</p>
67      */
GetResourceChanges()68     inline const Aws::Vector<ResourceChange>& GetResourceChanges() const{ return m_resourceChanges; }
69 
70     /**
71      * <p>Information about the resource changes that will occur when the plan is
72      * executed.</p>
73      */
SetResourceChanges(const Aws::Vector<ResourceChange> & value)74     inline void SetResourceChanges(const Aws::Vector<ResourceChange>& value) { m_resourceChanges = value; }
75 
76     /**
77      * <p>Information about the resource changes that will occur when the plan is
78      * executed.</p>
79      */
SetResourceChanges(Aws::Vector<ResourceChange> && value)80     inline void SetResourceChanges(Aws::Vector<ResourceChange>&& value) { m_resourceChanges = std::move(value); }
81 
82     /**
83      * <p>Information about the resource changes that will occur when the plan is
84      * executed.</p>
85      */
WithResourceChanges(const Aws::Vector<ResourceChange> & value)86     inline DescribeProvisionedProductPlanResult& WithResourceChanges(const Aws::Vector<ResourceChange>& value) { SetResourceChanges(value); return *this;}
87 
88     /**
89      * <p>Information about the resource changes that will occur when the plan is
90      * executed.</p>
91      */
WithResourceChanges(Aws::Vector<ResourceChange> && value)92     inline DescribeProvisionedProductPlanResult& WithResourceChanges(Aws::Vector<ResourceChange>&& value) { SetResourceChanges(std::move(value)); return *this;}
93 
94     /**
95      * <p>Information about the resource changes that will occur when the plan is
96      * executed.</p>
97      */
AddResourceChanges(const ResourceChange & value)98     inline DescribeProvisionedProductPlanResult& AddResourceChanges(const ResourceChange& value) { m_resourceChanges.push_back(value); return *this; }
99 
100     /**
101      * <p>Information about the resource changes that will occur when the plan is
102      * executed.</p>
103      */
AddResourceChanges(ResourceChange && value)104     inline DescribeProvisionedProductPlanResult& AddResourceChanges(ResourceChange&& value) { m_resourceChanges.push_back(std::move(value)); return *this; }
105 
106 
107     /**
108      * <p>The page token to use to retrieve the next set of results. If there are no
109      * additional results, this value is null.</p>
110      */
GetNextPageToken()111     inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; }
112 
113     /**
114      * <p>The page token to use to retrieve the next set of results. If there are no
115      * additional results, this value is null.</p>
116      */
SetNextPageToken(const Aws::String & value)117     inline void SetNextPageToken(const Aws::String& value) { m_nextPageToken = value; }
118 
119     /**
120      * <p>The page token to use to retrieve the next set of results. If there are no
121      * additional results, this value is null.</p>
122      */
SetNextPageToken(Aws::String && value)123     inline void SetNextPageToken(Aws::String&& value) { m_nextPageToken = std::move(value); }
124 
125     /**
126      * <p>The page token to use to retrieve the next set of results. If there are no
127      * additional results, this value is null.</p>
128      */
SetNextPageToken(const char * value)129     inline void SetNextPageToken(const char* value) { m_nextPageToken.assign(value); }
130 
131     /**
132      * <p>The page token to use to retrieve the next set of results. If there are no
133      * additional results, this value is null.</p>
134      */
WithNextPageToken(const Aws::String & value)135     inline DescribeProvisionedProductPlanResult& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;}
136 
137     /**
138      * <p>The page token to use to retrieve the next set of results. If there are no
139      * additional results, this value is null.</p>
140      */
WithNextPageToken(Aws::String && value)141     inline DescribeProvisionedProductPlanResult& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;}
142 
143     /**
144      * <p>The page token to use to retrieve the next set of results. If there are no
145      * additional results, this value is null.</p>
146      */
WithNextPageToken(const char * value)147     inline DescribeProvisionedProductPlanResult& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;}
148 
149   private:
150 
151     ProvisionedProductPlanDetails m_provisionedProductPlanDetails;
152 
153     Aws::Vector<ResourceChange> m_resourceChanges;
154 
155     Aws::String m_nextPageToken;
156   };
157 
158 } // namespace Model
159 } // namespace ServiceCatalog
160 } // namespace Aws
161