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/securityhub/SecurityHub_EXPORTS.h>
8 #include <aws/securityhub/SecurityHubRequest.h>
9 #include <aws/securityhub/model/AwsSecurityFindingFilters.h>
10 #include <aws/securityhub/model/NoteUpdate.h>
11 #include <aws/securityhub/model/RecordState.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace SecurityHub
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_SECURITYHUB_API UpdateFindingsRequest : public SecurityHubRequest
24   {
25   public:
26     UpdateFindingsRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "UpdateFindings"; }
33 
34     Aws::String SerializePayload() const override;
35 
36 
37     /**
38      * <p>A collection of attributes that specify which findings you want to
39      * update.</p>
40      */
GetFilters()41     inline const AwsSecurityFindingFilters& GetFilters() const{ return m_filters; }
42 
43     /**
44      * <p>A collection of attributes that specify which findings you want to
45      * update.</p>
46      */
FiltersHasBeenSet()47     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
48 
49     /**
50      * <p>A collection of attributes that specify which findings you want to
51      * update.</p>
52      */
SetFilters(const AwsSecurityFindingFilters & value)53     inline void SetFilters(const AwsSecurityFindingFilters& value) { m_filtersHasBeenSet = true; m_filters = value; }
54 
55     /**
56      * <p>A collection of attributes that specify which findings you want to
57      * update.</p>
58      */
SetFilters(AwsSecurityFindingFilters && value)59     inline void SetFilters(AwsSecurityFindingFilters&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
60 
61     /**
62      * <p>A collection of attributes that specify which findings you want to
63      * update.</p>
64      */
WithFilters(const AwsSecurityFindingFilters & value)65     inline UpdateFindingsRequest& WithFilters(const AwsSecurityFindingFilters& value) { SetFilters(value); return *this;}
66 
67     /**
68      * <p>A collection of attributes that specify which findings you want to
69      * update.</p>
70      */
WithFilters(AwsSecurityFindingFilters && value)71     inline UpdateFindingsRequest& WithFilters(AwsSecurityFindingFilters&& value) { SetFilters(std::move(value)); return *this;}
72 
73 
74     /**
75      * <p>The updated note for the finding.</p>
76      */
GetNote()77     inline const NoteUpdate& GetNote() const{ return m_note; }
78 
79     /**
80      * <p>The updated note for the finding.</p>
81      */
NoteHasBeenSet()82     inline bool NoteHasBeenSet() const { return m_noteHasBeenSet; }
83 
84     /**
85      * <p>The updated note for the finding.</p>
86      */
SetNote(const NoteUpdate & value)87     inline void SetNote(const NoteUpdate& value) { m_noteHasBeenSet = true; m_note = value; }
88 
89     /**
90      * <p>The updated note for the finding.</p>
91      */
SetNote(NoteUpdate && value)92     inline void SetNote(NoteUpdate&& value) { m_noteHasBeenSet = true; m_note = std::move(value); }
93 
94     /**
95      * <p>The updated note for the finding.</p>
96      */
WithNote(const NoteUpdate & value)97     inline UpdateFindingsRequest& WithNote(const NoteUpdate& value) { SetNote(value); return *this;}
98 
99     /**
100      * <p>The updated note for the finding.</p>
101      */
WithNote(NoteUpdate && value)102     inline UpdateFindingsRequest& WithNote(NoteUpdate&& value) { SetNote(std::move(value)); return *this;}
103 
104 
105     /**
106      * <p>The updated record state for the finding.</p>
107      */
GetRecordState()108     inline const RecordState& GetRecordState() const{ return m_recordState; }
109 
110     /**
111      * <p>The updated record state for the finding.</p>
112      */
RecordStateHasBeenSet()113     inline bool RecordStateHasBeenSet() const { return m_recordStateHasBeenSet; }
114 
115     /**
116      * <p>The updated record state for the finding.</p>
117      */
SetRecordState(const RecordState & value)118     inline void SetRecordState(const RecordState& value) { m_recordStateHasBeenSet = true; m_recordState = value; }
119 
120     /**
121      * <p>The updated record state for the finding.</p>
122      */
SetRecordState(RecordState && value)123     inline void SetRecordState(RecordState&& value) { m_recordStateHasBeenSet = true; m_recordState = std::move(value); }
124 
125     /**
126      * <p>The updated record state for the finding.</p>
127      */
WithRecordState(const RecordState & value)128     inline UpdateFindingsRequest& WithRecordState(const RecordState& value) { SetRecordState(value); return *this;}
129 
130     /**
131      * <p>The updated record state for the finding.</p>
132      */
WithRecordState(RecordState && value)133     inline UpdateFindingsRequest& WithRecordState(RecordState&& value) { SetRecordState(std::move(value)); return *this;}
134 
135   private:
136 
137     AwsSecurityFindingFilters m_filters;
138     bool m_filtersHasBeenSet;
139 
140     NoteUpdate m_note;
141     bool m_noteHasBeenSet;
142 
143     RecordState m_recordState;
144     bool m_recordStateHasBeenSet;
145   };
146 
147 } // namespace Model
148 } // namespace SecurityHub
149 } // namespace Aws
150