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/inspector/Inspector_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSMap.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/inspector/model/Exclusion.h>
11 #include <aws/inspector/model/FailedItemDetails.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 Inspector
27 {
28 namespace Model
29 {
30   class AWS_INSPECTOR_API DescribeExclusionsResult
31   {
32   public:
33     DescribeExclusionsResult();
34     DescribeExclusionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeExclusionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>Information about the exclusions.</p>
40      */
GetExclusions()41     inline const Aws::Map<Aws::String, Exclusion>& GetExclusions() const{ return m_exclusions; }
42 
43     /**
44      * <p>Information about the exclusions.</p>
45      */
SetExclusions(const Aws::Map<Aws::String,Exclusion> & value)46     inline void SetExclusions(const Aws::Map<Aws::String, Exclusion>& value) { m_exclusions = value; }
47 
48     /**
49      * <p>Information about the exclusions.</p>
50      */
SetExclusions(Aws::Map<Aws::String,Exclusion> && value)51     inline void SetExclusions(Aws::Map<Aws::String, Exclusion>&& value) { m_exclusions = std::move(value); }
52 
53     /**
54      * <p>Information about the exclusions.</p>
55      */
WithExclusions(const Aws::Map<Aws::String,Exclusion> & value)56     inline DescribeExclusionsResult& WithExclusions(const Aws::Map<Aws::String, Exclusion>& value) { SetExclusions(value); return *this;}
57 
58     /**
59      * <p>Information about the exclusions.</p>
60      */
WithExclusions(Aws::Map<Aws::String,Exclusion> && value)61     inline DescribeExclusionsResult& WithExclusions(Aws::Map<Aws::String, Exclusion>&& value) { SetExclusions(std::move(value)); return *this;}
62 
63     /**
64      * <p>Information about the exclusions.</p>
65      */
AddExclusions(const Aws::String & key,const Exclusion & value)66     inline DescribeExclusionsResult& AddExclusions(const Aws::String& key, const Exclusion& value) { m_exclusions.emplace(key, value); return *this; }
67 
68     /**
69      * <p>Information about the exclusions.</p>
70      */
AddExclusions(Aws::String && key,const Exclusion & value)71     inline DescribeExclusionsResult& AddExclusions(Aws::String&& key, const Exclusion& value) { m_exclusions.emplace(std::move(key), value); return *this; }
72 
73     /**
74      * <p>Information about the exclusions.</p>
75      */
AddExclusions(const Aws::String & key,Exclusion && value)76     inline DescribeExclusionsResult& AddExclusions(const Aws::String& key, Exclusion&& value) { m_exclusions.emplace(key, std::move(value)); return *this; }
77 
78     /**
79      * <p>Information about the exclusions.</p>
80      */
AddExclusions(Aws::String && key,Exclusion && value)81     inline DescribeExclusionsResult& AddExclusions(Aws::String&& key, Exclusion&& value) { m_exclusions.emplace(std::move(key), std::move(value)); return *this; }
82 
83     /**
84      * <p>Information about the exclusions.</p>
85      */
AddExclusions(const char * key,Exclusion && value)86     inline DescribeExclusionsResult& AddExclusions(const char* key, Exclusion&& value) { m_exclusions.emplace(key, std::move(value)); return *this; }
87 
88     /**
89      * <p>Information about the exclusions.</p>
90      */
AddExclusions(const char * key,const Exclusion & value)91     inline DescribeExclusionsResult& AddExclusions(const char* key, const Exclusion& value) { m_exclusions.emplace(key, value); return *this; }
92 
93 
94     /**
95      * <p>Exclusion details that cannot be described. An error code is provided for
96      * each failed item.</p>
97      */
GetFailedItems()98     inline const Aws::Map<Aws::String, FailedItemDetails>& GetFailedItems() const{ return m_failedItems; }
99 
100     /**
101      * <p>Exclusion details that cannot be described. An error code is provided for
102      * each failed item.</p>
103      */
SetFailedItems(const Aws::Map<Aws::String,FailedItemDetails> & value)104     inline void SetFailedItems(const Aws::Map<Aws::String, FailedItemDetails>& value) { m_failedItems = value; }
105 
106     /**
107      * <p>Exclusion details that cannot be described. An error code is provided for
108      * each failed item.</p>
109      */
SetFailedItems(Aws::Map<Aws::String,FailedItemDetails> && value)110     inline void SetFailedItems(Aws::Map<Aws::String, FailedItemDetails>&& value) { m_failedItems = std::move(value); }
111 
112     /**
113      * <p>Exclusion details that cannot be described. An error code is provided for
114      * each failed item.</p>
115      */
WithFailedItems(const Aws::Map<Aws::String,FailedItemDetails> & value)116     inline DescribeExclusionsResult& WithFailedItems(const Aws::Map<Aws::String, FailedItemDetails>& value) { SetFailedItems(value); return *this;}
117 
118     /**
119      * <p>Exclusion details that cannot be described. An error code is provided for
120      * each failed item.</p>
121      */
WithFailedItems(Aws::Map<Aws::String,FailedItemDetails> && value)122     inline DescribeExclusionsResult& WithFailedItems(Aws::Map<Aws::String, FailedItemDetails>&& value) { SetFailedItems(std::move(value)); return *this;}
123 
124     /**
125      * <p>Exclusion details that cannot be described. An error code is provided for
126      * each failed item.</p>
127      */
AddFailedItems(const Aws::String & key,const FailedItemDetails & value)128     inline DescribeExclusionsResult& AddFailedItems(const Aws::String& key, const FailedItemDetails& value) { m_failedItems.emplace(key, value); return *this; }
129 
130     /**
131      * <p>Exclusion details that cannot be described. An error code is provided for
132      * each failed item.</p>
133      */
AddFailedItems(Aws::String && key,const FailedItemDetails & value)134     inline DescribeExclusionsResult& AddFailedItems(Aws::String&& key, const FailedItemDetails& value) { m_failedItems.emplace(std::move(key), value); return *this; }
135 
136     /**
137      * <p>Exclusion details that cannot be described. An error code is provided for
138      * each failed item.</p>
139      */
AddFailedItems(const Aws::String & key,FailedItemDetails && value)140     inline DescribeExclusionsResult& AddFailedItems(const Aws::String& key, FailedItemDetails&& value) { m_failedItems.emplace(key, std::move(value)); return *this; }
141 
142     /**
143      * <p>Exclusion details that cannot be described. An error code is provided for
144      * each failed item.</p>
145      */
AddFailedItems(Aws::String && key,FailedItemDetails && value)146     inline DescribeExclusionsResult& AddFailedItems(Aws::String&& key, FailedItemDetails&& value) { m_failedItems.emplace(std::move(key), std::move(value)); return *this; }
147 
148     /**
149      * <p>Exclusion details that cannot be described. An error code is provided for
150      * each failed item.</p>
151      */
AddFailedItems(const char * key,FailedItemDetails && value)152     inline DescribeExclusionsResult& AddFailedItems(const char* key, FailedItemDetails&& value) { m_failedItems.emplace(key, std::move(value)); return *this; }
153 
154     /**
155      * <p>Exclusion details that cannot be described. An error code is provided for
156      * each failed item.</p>
157      */
AddFailedItems(const char * key,const FailedItemDetails & value)158     inline DescribeExclusionsResult& AddFailedItems(const char* key, const FailedItemDetails& value) { m_failedItems.emplace(key, value); return *this; }
159 
160   private:
161 
162     Aws::Map<Aws::String, Exclusion> m_exclusions;
163 
164     Aws::Map<Aws::String, FailedItemDetails> m_failedItems;
165   };
166 
167 } // namespace Model
168 } // namespace Inspector
169 } // namespace Aws
170