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/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace ServiceCatalog
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>The user-defined preferences that will be applied when updating a provisioned
29    * product. Not all preferences are applicable to all provisioned product type</p>
30    * <p>One or more AWS accounts that will have access to the provisioned
31    * product.</p> <p>Applicable only to a <code>CFN_STACKSET</code> provisioned
32    * product type.</p> <p>The AWS accounts specified should be within the list of
33    * accounts in the <code>STACKSET</code> constraint. To get the list of accounts in
34    * the <code>STACKSET</code> constraint, use the
35    * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
36    * specified, the default value is all accounts from the <code>STACKSET</code>
37    * constraint.</p><p><h3>See Also:</h3>   <a
38    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisioningPreferences">AWS
39    * API Reference</a></p>
40    */
41   class AWS_SERVICECATALOG_API ProvisioningPreferences
42   {
43   public:
44     ProvisioningPreferences();
45     ProvisioningPreferences(Aws::Utils::Json::JsonView jsonValue);
46     ProvisioningPreferences& operator=(Aws::Utils::Json::JsonView jsonValue);
47     Aws::Utils::Json::JsonValue Jsonize() const;
48 
49 
50     /**
51      * <p>One or more AWS accounts where the provisioned product will be available.</p>
52      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
53      * <p>The specified accounts should be within the list of accounts from the
54      * <code>STACKSET</code> constraint. To get the list of accounts in the
55      * <code>STACKSET</code> constraint, use the
56      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
57      * specified, the default value is all acounts from the <code>STACKSET</code>
58      * constraint.</p>
59      */
GetStackSetAccounts()60     inline const Aws::Vector<Aws::String>& GetStackSetAccounts() const{ return m_stackSetAccounts; }
61 
62     /**
63      * <p>One or more AWS accounts where the provisioned product will be available.</p>
64      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
65      * <p>The specified accounts should be within the list of accounts from the
66      * <code>STACKSET</code> constraint. To get the list of accounts in the
67      * <code>STACKSET</code> constraint, use the
68      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
69      * specified, the default value is all acounts from the <code>STACKSET</code>
70      * constraint.</p>
71      */
StackSetAccountsHasBeenSet()72     inline bool StackSetAccountsHasBeenSet() const { return m_stackSetAccountsHasBeenSet; }
73 
74     /**
75      * <p>One or more AWS accounts where the provisioned product will be available.</p>
76      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
77      * <p>The specified accounts should be within the list of accounts from the
78      * <code>STACKSET</code> constraint. To get the list of accounts in the
79      * <code>STACKSET</code> constraint, use the
80      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
81      * specified, the default value is all acounts from the <code>STACKSET</code>
82      * constraint.</p>
83      */
SetStackSetAccounts(const Aws::Vector<Aws::String> & value)84     inline void SetStackSetAccounts(const Aws::Vector<Aws::String>& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts = value; }
85 
86     /**
87      * <p>One or more AWS accounts where the provisioned product will be available.</p>
88      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
89      * <p>The specified accounts should be within the list of accounts from the
90      * <code>STACKSET</code> constraint. To get the list of accounts in the
91      * <code>STACKSET</code> constraint, use the
92      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
93      * specified, the default value is all acounts from the <code>STACKSET</code>
94      * constraint.</p>
95      */
SetStackSetAccounts(Aws::Vector<Aws::String> && value)96     inline void SetStackSetAccounts(Aws::Vector<Aws::String>&& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts = std::move(value); }
97 
98     /**
99      * <p>One or more AWS accounts where the provisioned product will be available.</p>
100      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
101      * <p>The specified accounts should be within the list of accounts from the
102      * <code>STACKSET</code> constraint. To get the list of accounts in the
103      * <code>STACKSET</code> constraint, use the
104      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
105      * specified, the default value is all acounts from the <code>STACKSET</code>
106      * constraint.</p>
107      */
WithStackSetAccounts(const Aws::Vector<Aws::String> & value)108     inline ProvisioningPreferences& WithStackSetAccounts(const Aws::Vector<Aws::String>& value) { SetStackSetAccounts(value); return *this;}
109 
110     /**
111      * <p>One or more AWS accounts where the provisioned product will be available.</p>
112      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
113      * <p>The specified accounts should be within the list of accounts from the
114      * <code>STACKSET</code> constraint. To get the list of accounts in the
115      * <code>STACKSET</code> constraint, use the
116      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
117      * specified, the default value is all acounts from the <code>STACKSET</code>
118      * constraint.</p>
119      */
WithStackSetAccounts(Aws::Vector<Aws::String> && value)120     inline ProvisioningPreferences& WithStackSetAccounts(Aws::Vector<Aws::String>&& value) { SetStackSetAccounts(std::move(value)); return *this;}
121 
122     /**
123      * <p>One or more AWS accounts where the provisioned product will be available.</p>
124      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
125      * <p>The specified accounts should be within the list of accounts from the
126      * <code>STACKSET</code> constraint. To get the list of accounts in the
127      * <code>STACKSET</code> constraint, use the
128      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
129      * specified, the default value is all acounts from the <code>STACKSET</code>
130      * constraint.</p>
131      */
AddStackSetAccounts(const Aws::String & value)132     inline ProvisioningPreferences& AddStackSetAccounts(const Aws::String& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts.push_back(value); return *this; }
133 
134     /**
135      * <p>One or more AWS accounts where the provisioned product will be available.</p>
136      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
137      * <p>The specified accounts should be within the list of accounts from the
138      * <code>STACKSET</code> constraint. To get the list of accounts in the
139      * <code>STACKSET</code> constraint, use the
140      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
141      * specified, the default value is all acounts from the <code>STACKSET</code>
142      * constraint.</p>
143      */
AddStackSetAccounts(Aws::String && value)144     inline ProvisioningPreferences& AddStackSetAccounts(Aws::String&& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts.push_back(std::move(value)); return *this; }
145 
146     /**
147      * <p>One or more AWS accounts where the provisioned product will be available.</p>
148      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
149      * <p>The specified accounts should be within the list of accounts from the
150      * <code>STACKSET</code> constraint. To get the list of accounts in the
151      * <code>STACKSET</code> constraint, use the
152      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
153      * specified, the default value is all acounts from the <code>STACKSET</code>
154      * constraint.</p>
155      */
AddStackSetAccounts(const char * value)156     inline ProvisioningPreferences& AddStackSetAccounts(const char* value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts.push_back(value); return *this; }
157 
158 
159     /**
160      * <p>One or more AWS Regions where the provisioned product will be available.</p>
161      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
162      * <p>The specified regions should be within the list of regions from the
163      * <code>STACKSET</code> constraint. To get the list of regions in the
164      * <code>STACKSET</code> constraint, use the
165      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
166      * specified, the default value is all regions from the <code>STACKSET</code>
167      * constraint.</p>
168      */
GetStackSetRegions()169     inline const Aws::Vector<Aws::String>& GetStackSetRegions() const{ return m_stackSetRegions; }
170 
171     /**
172      * <p>One or more AWS Regions where the provisioned product will be available.</p>
173      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
174      * <p>The specified regions should be within the list of regions from the
175      * <code>STACKSET</code> constraint. To get the list of regions in the
176      * <code>STACKSET</code> constraint, use the
177      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
178      * specified, the default value is all regions from the <code>STACKSET</code>
179      * constraint.</p>
180      */
StackSetRegionsHasBeenSet()181     inline bool StackSetRegionsHasBeenSet() const { return m_stackSetRegionsHasBeenSet; }
182 
183     /**
184      * <p>One or more AWS Regions where the provisioned product will be available.</p>
185      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
186      * <p>The specified regions should be within the list of regions from the
187      * <code>STACKSET</code> constraint. To get the list of regions in the
188      * <code>STACKSET</code> constraint, use the
189      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
190      * specified, the default value is all regions from the <code>STACKSET</code>
191      * constraint.</p>
192      */
SetStackSetRegions(const Aws::Vector<Aws::String> & value)193     inline void SetStackSetRegions(const Aws::Vector<Aws::String>& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions = value; }
194 
195     /**
196      * <p>One or more AWS Regions where the provisioned product will be available.</p>
197      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
198      * <p>The specified regions should be within the list of regions from the
199      * <code>STACKSET</code> constraint. To get the list of regions in the
200      * <code>STACKSET</code> constraint, use the
201      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
202      * specified, the default value is all regions from the <code>STACKSET</code>
203      * constraint.</p>
204      */
SetStackSetRegions(Aws::Vector<Aws::String> && value)205     inline void SetStackSetRegions(Aws::Vector<Aws::String>&& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions = std::move(value); }
206 
207     /**
208      * <p>One or more AWS Regions where the provisioned product will be available.</p>
209      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
210      * <p>The specified regions should be within the list of regions from the
211      * <code>STACKSET</code> constraint. To get the list of regions in the
212      * <code>STACKSET</code> constraint, use the
213      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
214      * specified, the default value is all regions from the <code>STACKSET</code>
215      * constraint.</p>
216      */
WithStackSetRegions(const Aws::Vector<Aws::String> & value)217     inline ProvisioningPreferences& WithStackSetRegions(const Aws::Vector<Aws::String>& value) { SetStackSetRegions(value); return *this;}
218 
219     /**
220      * <p>One or more AWS Regions where the provisioned product will be available.</p>
221      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
222      * <p>The specified regions should be within the list of regions from the
223      * <code>STACKSET</code> constraint. To get the list of regions in the
224      * <code>STACKSET</code> constraint, use the
225      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
226      * specified, the default value is all regions from the <code>STACKSET</code>
227      * constraint.</p>
228      */
WithStackSetRegions(Aws::Vector<Aws::String> && value)229     inline ProvisioningPreferences& WithStackSetRegions(Aws::Vector<Aws::String>&& value) { SetStackSetRegions(std::move(value)); return *this;}
230 
231     /**
232      * <p>One or more AWS Regions where the provisioned product will be available.</p>
233      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
234      * <p>The specified regions should be within the list of regions from the
235      * <code>STACKSET</code> constraint. To get the list of regions in the
236      * <code>STACKSET</code> constraint, use the
237      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
238      * specified, the default value is all regions from the <code>STACKSET</code>
239      * constraint.</p>
240      */
AddStackSetRegions(const Aws::String & value)241     inline ProvisioningPreferences& AddStackSetRegions(const Aws::String& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(value); return *this; }
242 
243     /**
244      * <p>One or more AWS Regions where the provisioned product will be available.</p>
245      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
246      * <p>The specified regions should be within the list of regions from the
247      * <code>STACKSET</code> constraint. To get the list of regions in the
248      * <code>STACKSET</code> constraint, use the
249      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
250      * specified, the default value is all regions from the <code>STACKSET</code>
251      * constraint.</p>
252      */
AddStackSetRegions(Aws::String && value)253     inline ProvisioningPreferences& AddStackSetRegions(Aws::String&& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(std::move(value)); return *this; }
254 
255     /**
256      * <p>One or more AWS Regions where the provisioned product will be available.</p>
257      * <p>Applicable only to a <code>CFN_STACKSET</code> provisioned product type.</p>
258      * <p>The specified regions should be within the list of regions from the
259      * <code>STACKSET</code> constraint. To get the list of regions in the
260      * <code>STACKSET</code> constraint, use the
261      * <code>DescribeProvisioningParameters</code> operation.</p> <p>If no values are
262      * specified, the default value is all regions from the <code>STACKSET</code>
263      * constraint.</p>
264      */
AddStackSetRegions(const char * value)265     inline ProvisioningPreferences& AddStackSetRegions(const char* value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(value); return *this; }
266 
267 
268     /**
269      * <p>The number of accounts, per region, for which this operation can fail before
270      * AWS Service Catalog stops the operation in that region. If the operation is
271      * stopped in a region, AWS Service Catalog doesn't attempt the operation in any
272      * subsequent regions.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
273      * provisioned product type.</p> <p>Conditional: You must specify either
274      * <code>StackSetFailureToleranceCount</code> or
275      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p> <p>The
276      * default value is <code>0</code> if no value is specified.</p>
277      */
GetStackSetFailureToleranceCount()278     inline int GetStackSetFailureToleranceCount() const{ return m_stackSetFailureToleranceCount; }
279 
280     /**
281      * <p>The number of accounts, per region, for which this operation can fail before
282      * AWS Service Catalog stops the operation in that region. If the operation is
283      * stopped in a region, AWS Service Catalog doesn't attempt the operation in any
284      * subsequent regions.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
285      * provisioned product type.</p> <p>Conditional: You must specify either
286      * <code>StackSetFailureToleranceCount</code> or
287      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p> <p>The
288      * default value is <code>0</code> if no value is specified.</p>
289      */
StackSetFailureToleranceCountHasBeenSet()290     inline bool StackSetFailureToleranceCountHasBeenSet() const { return m_stackSetFailureToleranceCountHasBeenSet; }
291 
292     /**
293      * <p>The number of accounts, per region, for which this operation can fail before
294      * AWS Service Catalog stops the operation in that region. If the operation is
295      * stopped in a region, AWS Service Catalog doesn't attempt the operation in any
296      * subsequent regions.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
297      * provisioned product type.</p> <p>Conditional: You must specify either
298      * <code>StackSetFailureToleranceCount</code> or
299      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p> <p>The
300      * default value is <code>0</code> if no value is specified.</p>
301      */
SetStackSetFailureToleranceCount(int value)302     inline void SetStackSetFailureToleranceCount(int value) { m_stackSetFailureToleranceCountHasBeenSet = true; m_stackSetFailureToleranceCount = value; }
303 
304     /**
305      * <p>The number of accounts, per region, for which this operation can fail before
306      * AWS Service Catalog stops the operation in that region. If the operation is
307      * stopped in a region, AWS Service Catalog doesn't attempt the operation in any
308      * subsequent regions.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
309      * provisioned product type.</p> <p>Conditional: You must specify either
310      * <code>StackSetFailureToleranceCount</code> or
311      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p> <p>The
312      * default value is <code>0</code> if no value is specified.</p>
313      */
WithStackSetFailureToleranceCount(int value)314     inline ProvisioningPreferences& WithStackSetFailureToleranceCount(int value) { SetStackSetFailureToleranceCount(value); return *this;}
315 
316 
317     /**
318      * <p>The percentage of accounts, per region, for which this stack operation can
319      * fail before AWS Service Catalog stops the operation in that region. If the
320      * operation is stopped in a region, AWS Service Catalog doesn't attempt the
321      * operation in any subsequent regions.</p> <p>When calculating the number of
322      * accounts based on the specified percentage, AWS Service Catalog rounds down to
323      * the next whole number.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
324      * provisioned product type.</p> <p>Conditional: You must specify either
325      * <code>StackSetFailureToleranceCount</code> or
326      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p>
327      */
GetStackSetFailureTolerancePercentage()328     inline int GetStackSetFailureTolerancePercentage() const{ return m_stackSetFailureTolerancePercentage; }
329 
330     /**
331      * <p>The percentage of accounts, per region, for which this stack operation can
332      * fail before AWS Service Catalog stops the operation in that region. If the
333      * operation is stopped in a region, AWS Service Catalog doesn't attempt the
334      * operation in any subsequent regions.</p> <p>When calculating the number of
335      * accounts based on the specified percentage, AWS Service Catalog rounds down to
336      * the next whole number.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
337      * provisioned product type.</p> <p>Conditional: You must specify either
338      * <code>StackSetFailureToleranceCount</code> or
339      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p>
340      */
StackSetFailureTolerancePercentageHasBeenSet()341     inline bool StackSetFailureTolerancePercentageHasBeenSet() const { return m_stackSetFailureTolerancePercentageHasBeenSet; }
342 
343     /**
344      * <p>The percentage of accounts, per region, for which this stack operation can
345      * fail before AWS Service Catalog stops the operation in that region. If the
346      * operation is stopped in a region, AWS Service Catalog doesn't attempt the
347      * operation in any subsequent regions.</p> <p>When calculating the number of
348      * accounts based on the specified percentage, AWS Service Catalog rounds down to
349      * the next whole number.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
350      * provisioned product type.</p> <p>Conditional: You must specify either
351      * <code>StackSetFailureToleranceCount</code> or
352      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p>
353      */
SetStackSetFailureTolerancePercentage(int value)354     inline void SetStackSetFailureTolerancePercentage(int value) { m_stackSetFailureTolerancePercentageHasBeenSet = true; m_stackSetFailureTolerancePercentage = value; }
355 
356     /**
357      * <p>The percentage of accounts, per region, for which this stack operation can
358      * fail before AWS Service Catalog stops the operation in that region. If the
359      * operation is stopped in a region, AWS Service Catalog doesn't attempt the
360      * operation in any subsequent regions.</p> <p>When calculating the number of
361      * accounts based on the specified percentage, AWS Service Catalog rounds down to
362      * the next whole number.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
363      * provisioned product type.</p> <p>Conditional: You must specify either
364      * <code>StackSetFailureToleranceCount</code> or
365      * <code>StackSetFailureTolerancePercentage</code>, but not both.</p>
366      */
WithStackSetFailureTolerancePercentage(int value)367     inline ProvisioningPreferences& WithStackSetFailureTolerancePercentage(int value) { SetStackSetFailureTolerancePercentage(value); return *this;}
368 
369 
370     /**
371      * <p>The maximum number of accounts in which to perform this operation at one
372      * time. This is dependent on the value of
373      * <code>StackSetFailureToleranceCount</code>.
374      * <code>StackSetMaxConcurrentCount</code> is at most one more than the
375      * <code>StackSetFailureToleranceCount</code>.</p> <p>Note that this setting lets
376      * you specify the maximum for operations. For large deployments, under certain
377      * circumstances the actual number of accounts acted upon concurrently may be lower
378      * due to service throttling.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
379      * provisioned product type.</p> <p>Conditional: You must specify either
380      * <code>StackSetMaxConcurrentCount</code> or
381      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
382      */
GetStackSetMaxConcurrencyCount()383     inline int GetStackSetMaxConcurrencyCount() const{ return m_stackSetMaxConcurrencyCount; }
384 
385     /**
386      * <p>The maximum number of accounts in which to perform this operation at one
387      * time. This is dependent on the value of
388      * <code>StackSetFailureToleranceCount</code>.
389      * <code>StackSetMaxConcurrentCount</code> is at most one more than the
390      * <code>StackSetFailureToleranceCount</code>.</p> <p>Note that this setting lets
391      * you specify the maximum for operations. For large deployments, under certain
392      * circumstances the actual number of accounts acted upon concurrently may be lower
393      * due to service throttling.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
394      * provisioned product type.</p> <p>Conditional: You must specify either
395      * <code>StackSetMaxConcurrentCount</code> or
396      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
397      */
StackSetMaxConcurrencyCountHasBeenSet()398     inline bool StackSetMaxConcurrencyCountHasBeenSet() const { return m_stackSetMaxConcurrencyCountHasBeenSet; }
399 
400     /**
401      * <p>The maximum number of accounts in which to perform this operation at one
402      * time. This is dependent on the value of
403      * <code>StackSetFailureToleranceCount</code>.
404      * <code>StackSetMaxConcurrentCount</code> is at most one more than the
405      * <code>StackSetFailureToleranceCount</code>.</p> <p>Note that this setting lets
406      * you specify the maximum for operations. For large deployments, under certain
407      * circumstances the actual number of accounts acted upon concurrently may be lower
408      * due to service throttling.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
409      * provisioned product type.</p> <p>Conditional: You must specify either
410      * <code>StackSetMaxConcurrentCount</code> or
411      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
412      */
SetStackSetMaxConcurrencyCount(int value)413     inline void SetStackSetMaxConcurrencyCount(int value) { m_stackSetMaxConcurrencyCountHasBeenSet = true; m_stackSetMaxConcurrencyCount = value; }
414 
415     /**
416      * <p>The maximum number of accounts in which to perform this operation at one
417      * time. This is dependent on the value of
418      * <code>StackSetFailureToleranceCount</code>.
419      * <code>StackSetMaxConcurrentCount</code> is at most one more than the
420      * <code>StackSetFailureToleranceCount</code>.</p> <p>Note that this setting lets
421      * you specify the maximum for operations. For large deployments, under certain
422      * circumstances the actual number of accounts acted upon concurrently may be lower
423      * due to service throttling.</p> <p>Applicable only to a <code>CFN_STACKSET</code>
424      * provisioned product type.</p> <p>Conditional: You must specify either
425      * <code>StackSetMaxConcurrentCount</code> or
426      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
427      */
WithStackSetMaxConcurrencyCount(int value)428     inline ProvisioningPreferences& WithStackSetMaxConcurrencyCount(int value) { SetStackSetMaxConcurrencyCount(value); return *this;}
429 
430 
431     /**
432      * <p>The maximum percentage of accounts in which to perform this operation at one
433      * time.</p> <p>When calculating the number of accounts based on the specified
434      * percentage, AWS Service Catalog rounds down to the next whole number. This is
435      * true except in cases where rounding down would result is zero. In this case, AWS
436      * Service Catalog sets the number as <code>1</code> instead.</p> <p>Note that this
437      * setting lets you specify the maximum for operations. For large deployments,
438      * under certain circumstances the actual number of accounts acted upon
439      * concurrently may be lower due to service throttling.</p> <p>Applicable only to a
440      * <code>CFN_STACKSET</code> provisioned product type.</p> <p>Conditional: You must
441      * specify either <code>StackSetMaxConcurrentCount</code> or
442      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
443      */
GetStackSetMaxConcurrencyPercentage()444     inline int GetStackSetMaxConcurrencyPercentage() const{ return m_stackSetMaxConcurrencyPercentage; }
445 
446     /**
447      * <p>The maximum percentage of accounts in which to perform this operation at one
448      * time.</p> <p>When calculating the number of accounts based on the specified
449      * percentage, AWS Service Catalog rounds down to the next whole number. This is
450      * true except in cases where rounding down would result is zero. In this case, AWS
451      * Service Catalog sets the number as <code>1</code> instead.</p> <p>Note that this
452      * setting lets you specify the maximum for operations. For large deployments,
453      * under certain circumstances the actual number of accounts acted upon
454      * concurrently may be lower due to service throttling.</p> <p>Applicable only to a
455      * <code>CFN_STACKSET</code> provisioned product type.</p> <p>Conditional: You must
456      * specify either <code>StackSetMaxConcurrentCount</code> or
457      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
458      */
StackSetMaxConcurrencyPercentageHasBeenSet()459     inline bool StackSetMaxConcurrencyPercentageHasBeenSet() const { return m_stackSetMaxConcurrencyPercentageHasBeenSet; }
460 
461     /**
462      * <p>The maximum percentage of accounts in which to perform this operation at one
463      * time.</p> <p>When calculating the number of accounts based on the specified
464      * percentage, AWS Service Catalog rounds down to the next whole number. This is
465      * true except in cases where rounding down would result is zero. In this case, AWS
466      * Service Catalog sets the number as <code>1</code> instead.</p> <p>Note that this
467      * setting lets you specify the maximum for operations. For large deployments,
468      * under certain circumstances the actual number of accounts acted upon
469      * concurrently may be lower due to service throttling.</p> <p>Applicable only to a
470      * <code>CFN_STACKSET</code> provisioned product type.</p> <p>Conditional: You must
471      * specify either <code>StackSetMaxConcurrentCount</code> or
472      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
473      */
SetStackSetMaxConcurrencyPercentage(int value)474     inline void SetStackSetMaxConcurrencyPercentage(int value) { m_stackSetMaxConcurrencyPercentageHasBeenSet = true; m_stackSetMaxConcurrencyPercentage = value; }
475 
476     /**
477      * <p>The maximum percentage of accounts in which to perform this operation at one
478      * time.</p> <p>When calculating the number of accounts based on the specified
479      * percentage, AWS Service Catalog rounds down to the next whole number. This is
480      * true except in cases where rounding down would result is zero. In this case, AWS
481      * Service Catalog sets the number as <code>1</code> instead.</p> <p>Note that this
482      * setting lets you specify the maximum for operations. For large deployments,
483      * under certain circumstances the actual number of accounts acted upon
484      * concurrently may be lower due to service throttling.</p> <p>Applicable only to a
485      * <code>CFN_STACKSET</code> provisioned product type.</p> <p>Conditional: You must
486      * specify either <code>StackSetMaxConcurrentCount</code> or
487      * <code>StackSetMaxConcurrentPercentage</code>, but not both.</p>
488      */
WithStackSetMaxConcurrencyPercentage(int value)489     inline ProvisioningPreferences& WithStackSetMaxConcurrencyPercentage(int value) { SetStackSetMaxConcurrencyPercentage(value); return *this;}
490 
491   private:
492 
493     Aws::Vector<Aws::String> m_stackSetAccounts;
494     bool m_stackSetAccountsHasBeenSet;
495 
496     Aws::Vector<Aws::String> m_stackSetRegions;
497     bool m_stackSetRegionsHasBeenSet;
498 
499     int m_stackSetFailureToleranceCount;
500     bool m_stackSetFailureToleranceCountHasBeenSet;
501 
502     int m_stackSetFailureTolerancePercentage;
503     bool m_stackSetFailureTolerancePercentageHasBeenSet;
504 
505     int m_stackSetMaxConcurrencyCount;
506     bool m_stackSetMaxConcurrencyCountHasBeenSet;
507 
508     int m_stackSetMaxConcurrencyPercentage;
509     bool m_stackSetMaxConcurrencyPercentageHasBeenSet;
510   };
511 
512 } // namespace Model
513 } // namespace ServiceCatalog
514 } // namespace Aws
515