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/opensearch/OpenSearchService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSMap.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/opensearch/model/Limits.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 OpenSearchService
26 {
27 namespace Model
28 {
29   /**
30    * <p> Container for the parameters received from the <code>
31    * <a>DescribeInstanceTypeLimits</a> </code> operation. </p><p><h3>See Also:</h3>
32    * <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeInstanceTypeLimitsResponse">AWS
34    * API Reference</a></p>
35    */
36   class AWS_OPENSEARCHSERVICE_API DescribeInstanceTypeLimitsResult
37   {
38   public:
39     DescribeInstanceTypeLimitsResult();
40     DescribeInstanceTypeLimitsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41     DescribeInstanceTypeLimitsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
42 
43 
44 
GetLimitsByRole()45     inline const Aws::Map<Aws::String, Limits>& GetLimitsByRole() const{ return m_limitsByRole; }
46 
47 
SetLimitsByRole(const Aws::Map<Aws::String,Limits> & value)48     inline void SetLimitsByRole(const Aws::Map<Aws::String, Limits>& value) { m_limitsByRole = value; }
49 
50 
SetLimitsByRole(Aws::Map<Aws::String,Limits> && value)51     inline void SetLimitsByRole(Aws::Map<Aws::String, Limits>&& value) { m_limitsByRole = std::move(value); }
52 
53 
WithLimitsByRole(const Aws::Map<Aws::String,Limits> & value)54     inline DescribeInstanceTypeLimitsResult& WithLimitsByRole(const Aws::Map<Aws::String, Limits>& value) { SetLimitsByRole(value); return *this;}
55 
56 
WithLimitsByRole(Aws::Map<Aws::String,Limits> && value)57     inline DescribeInstanceTypeLimitsResult& WithLimitsByRole(Aws::Map<Aws::String, Limits>&& value) { SetLimitsByRole(std::move(value)); return *this;}
58 
59 
AddLimitsByRole(const Aws::String & key,const Limits & value)60     inline DescribeInstanceTypeLimitsResult& AddLimitsByRole(const Aws::String& key, const Limits& value) { m_limitsByRole.emplace(key, value); return *this; }
61 
62 
AddLimitsByRole(Aws::String && key,const Limits & value)63     inline DescribeInstanceTypeLimitsResult& AddLimitsByRole(Aws::String&& key, const Limits& value) { m_limitsByRole.emplace(std::move(key), value); return *this; }
64 
65 
AddLimitsByRole(const Aws::String & key,Limits && value)66     inline DescribeInstanceTypeLimitsResult& AddLimitsByRole(const Aws::String& key, Limits&& value) { m_limitsByRole.emplace(key, std::move(value)); return *this; }
67 
68 
AddLimitsByRole(Aws::String && key,Limits && value)69     inline DescribeInstanceTypeLimitsResult& AddLimitsByRole(Aws::String&& key, Limits&& value) { m_limitsByRole.emplace(std::move(key), std::move(value)); return *this; }
70 
71 
AddLimitsByRole(const char * key,Limits && value)72     inline DescribeInstanceTypeLimitsResult& AddLimitsByRole(const char* key, Limits&& value) { m_limitsByRole.emplace(key, std::move(value)); return *this; }
73 
74 
AddLimitsByRole(const char * key,const Limits & value)75     inline DescribeInstanceTypeLimitsResult& AddLimitsByRole(const char* key, const Limits& value) { m_limitsByRole.emplace(key, value); return *this; }
76 
77   private:
78 
79     Aws::Map<Aws::String, Limits> m_limitsByRole;
80   };
81 
82 } // namespace Model
83 } // namespace OpenSearchService
84 } // namespace Aws
85