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/config/ConfigService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/config/model/ComplianceByResource.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 ConfigService
26 {
27 namespace Model
28 {
29   /**
30    * <p/><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResourceResponse">AWS
32    * API Reference</a></p>
33    */
34   class AWS_CONFIGSERVICE_API DescribeComplianceByResourceResult
35   {
36   public:
37     DescribeComplianceByResourceResult();
38     DescribeComplianceByResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39     DescribeComplianceByResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40 
41 
42     /**
43      * <p>Indicates whether the specified Amazon Web Services resource complies with
44      * all of the Config rules that evaluate it.</p>
45      */
GetComplianceByResources()46     inline const Aws::Vector<ComplianceByResource>& GetComplianceByResources() const{ return m_complianceByResources; }
47 
48     /**
49      * <p>Indicates whether the specified Amazon Web Services resource complies with
50      * all of the Config rules that evaluate it.</p>
51      */
SetComplianceByResources(const Aws::Vector<ComplianceByResource> & value)52     inline void SetComplianceByResources(const Aws::Vector<ComplianceByResource>& value) { m_complianceByResources = value; }
53 
54     /**
55      * <p>Indicates whether the specified Amazon Web Services resource complies with
56      * all of the Config rules that evaluate it.</p>
57      */
SetComplianceByResources(Aws::Vector<ComplianceByResource> && value)58     inline void SetComplianceByResources(Aws::Vector<ComplianceByResource>&& value) { m_complianceByResources = std::move(value); }
59 
60     /**
61      * <p>Indicates whether the specified Amazon Web Services resource complies with
62      * all of the Config rules that evaluate it.</p>
63      */
WithComplianceByResources(const Aws::Vector<ComplianceByResource> & value)64     inline DescribeComplianceByResourceResult& WithComplianceByResources(const Aws::Vector<ComplianceByResource>& value) { SetComplianceByResources(value); return *this;}
65 
66     /**
67      * <p>Indicates whether the specified Amazon Web Services resource complies with
68      * all of the Config rules that evaluate it.</p>
69      */
WithComplianceByResources(Aws::Vector<ComplianceByResource> && value)70     inline DescribeComplianceByResourceResult& WithComplianceByResources(Aws::Vector<ComplianceByResource>&& value) { SetComplianceByResources(std::move(value)); return *this;}
71 
72     /**
73      * <p>Indicates whether the specified Amazon Web Services resource complies with
74      * all of the Config rules that evaluate it.</p>
75      */
AddComplianceByResources(const ComplianceByResource & value)76     inline DescribeComplianceByResourceResult& AddComplianceByResources(const ComplianceByResource& value) { m_complianceByResources.push_back(value); return *this; }
77 
78     /**
79      * <p>Indicates whether the specified Amazon Web Services resource complies with
80      * all of the Config rules that evaluate it.</p>
81      */
AddComplianceByResources(ComplianceByResource && value)82     inline DescribeComplianceByResourceResult& AddComplianceByResources(ComplianceByResource&& value) { m_complianceByResources.push_back(std::move(value)); return *this; }
83 
84 
85     /**
86      * <p>The string that you use in a subsequent request to get the next page of
87      * results in a paginated response.</p>
88      */
GetNextToken()89     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
90 
91     /**
92      * <p>The string that you use in a subsequent request to get the next page of
93      * results in a paginated response.</p>
94      */
SetNextToken(const Aws::String & value)95     inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
96 
97     /**
98      * <p>The string that you use in a subsequent request to get the next page of
99      * results in a paginated response.</p>
100      */
SetNextToken(Aws::String && value)101     inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
102 
103     /**
104      * <p>The string that you use in a subsequent request to get the next page of
105      * results in a paginated response.</p>
106      */
SetNextToken(const char * value)107     inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
108 
109     /**
110      * <p>The string that you use in a subsequent request to get the next page of
111      * results in a paginated response.</p>
112      */
WithNextToken(const Aws::String & value)113     inline DescribeComplianceByResourceResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
114 
115     /**
116      * <p>The string that you use in a subsequent request to get the next page of
117      * results in a paginated response.</p>
118      */
WithNextToken(Aws::String && value)119     inline DescribeComplianceByResourceResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
120 
121     /**
122      * <p>The string that you use in a subsequent request to get the next page of
123      * results in a paginated response.</p>
124      */
WithNextToken(const char * value)125     inline DescribeComplianceByResourceResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
126 
127   private:
128 
129     Aws::Vector<ComplianceByResource> m_complianceByResources;
130 
131     Aws::String m_nextToken;
132   };
133 
134 } // namespace Model
135 } // namespace ConfigService
136 } // namespace Aws
137