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/backup/Backup_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/backup/model/BackupVaultEvent.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 Backup
26 {
27 namespace Model
28 {
29   class AWS_BACKUP_API GetBackupVaultNotificationsResult
30   {
31   public:
32     GetBackupVaultNotificationsResult();
33     GetBackupVaultNotificationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     GetBackupVaultNotificationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The name of a logical container where backups are stored. Backup vaults are
39      * identified by names that are unique to the account used to create them and the
40      * Region where they are created. They consist of lowercase letters, numbers, and
41      * hyphens.</p>
42      */
GetBackupVaultName()43     inline const Aws::String& GetBackupVaultName() const{ return m_backupVaultName; }
44 
45     /**
46      * <p>The name of a logical container where backups are stored. Backup vaults are
47      * identified by names that are unique to the account used to create them and the
48      * Region where they are created. They consist of lowercase letters, numbers, and
49      * hyphens.</p>
50      */
SetBackupVaultName(const Aws::String & value)51     inline void SetBackupVaultName(const Aws::String& value) { m_backupVaultName = value; }
52 
53     /**
54      * <p>The name of a logical container where backups are stored. Backup vaults are
55      * identified by names that are unique to the account used to create them and the
56      * Region where they are created. They consist of lowercase letters, numbers, and
57      * hyphens.</p>
58      */
SetBackupVaultName(Aws::String && value)59     inline void SetBackupVaultName(Aws::String&& value) { m_backupVaultName = std::move(value); }
60 
61     /**
62      * <p>The name of a logical container where backups are stored. Backup vaults are
63      * identified by names that are unique to the account used to create them and the
64      * Region where they are created. They consist of lowercase letters, numbers, and
65      * hyphens.</p>
66      */
SetBackupVaultName(const char * value)67     inline void SetBackupVaultName(const char* value) { m_backupVaultName.assign(value); }
68 
69     /**
70      * <p>The name of a logical container where backups are stored. Backup vaults are
71      * identified by names that are unique to the account used to create them and the
72      * Region where they are created. They consist of lowercase letters, numbers, and
73      * hyphens.</p>
74      */
WithBackupVaultName(const Aws::String & value)75     inline GetBackupVaultNotificationsResult& WithBackupVaultName(const Aws::String& value) { SetBackupVaultName(value); return *this;}
76 
77     /**
78      * <p>The name of a logical container where backups are stored. Backup vaults are
79      * identified by names that are unique to the account used to create them and the
80      * Region where they are created. They consist of lowercase letters, numbers, and
81      * hyphens.</p>
82      */
WithBackupVaultName(Aws::String && value)83     inline GetBackupVaultNotificationsResult& WithBackupVaultName(Aws::String&& value) { SetBackupVaultName(std::move(value)); return *this;}
84 
85     /**
86      * <p>The name of a logical container where backups are stored. Backup vaults are
87      * identified by names that are unique to the account used to create them and the
88      * Region where they are created. They consist of lowercase letters, numbers, and
89      * hyphens.</p>
90      */
WithBackupVaultName(const char * value)91     inline GetBackupVaultNotificationsResult& WithBackupVaultName(const char* value) { SetBackupVaultName(value); return *this;}
92 
93 
94     /**
95      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
96      * example,
97      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
98      */
GetBackupVaultArn()99     inline const Aws::String& GetBackupVaultArn() const{ return m_backupVaultArn; }
100 
101     /**
102      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
103      * example,
104      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
105      */
SetBackupVaultArn(const Aws::String & value)106     inline void SetBackupVaultArn(const Aws::String& value) { m_backupVaultArn = value; }
107 
108     /**
109      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
110      * example,
111      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
112      */
SetBackupVaultArn(Aws::String && value)113     inline void SetBackupVaultArn(Aws::String&& value) { m_backupVaultArn = std::move(value); }
114 
115     /**
116      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
117      * example,
118      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
119      */
SetBackupVaultArn(const char * value)120     inline void SetBackupVaultArn(const char* value) { m_backupVaultArn.assign(value); }
121 
122     /**
123      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
124      * example,
125      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
126      */
WithBackupVaultArn(const Aws::String & value)127     inline GetBackupVaultNotificationsResult& WithBackupVaultArn(const Aws::String& value) { SetBackupVaultArn(value); return *this;}
128 
129     /**
130      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
131      * example,
132      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
133      */
WithBackupVaultArn(Aws::String && value)134     inline GetBackupVaultNotificationsResult& WithBackupVaultArn(Aws::String&& value) { SetBackupVaultArn(std::move(value)); return *this;}
135 
136     /**
137      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
138      * example,
139      * <code>arn:aws:backup:us-east-1:123456789012:vault:aBackupVault</code>.</p>
140      */
WithBackupVaultArn(const char * value)141     inline GetBackupVaultNotificationsResult& WithBackupVaultArn(const char* value) { SetBackupVaultArn(value); return *this;}
142 
143 
144     /**
145      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
146      * SNS) topic; for example,
147      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
148      */
GetSNSTopicArn()149     inline const Aws::String& GetSNSTopicArn() const{ return m_sNSTopicArn; }
150 
151     /**
152      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
153      * SNS) topic; for example,
154      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
155      */
SetSNSTopicArn(const Aws::String & value)156     inline void SetSNSTopicArn(const Aws::String& value) { m_sNSTopicArn = value; }
157 
158     /**
159      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
160      * SNS) topic; for example,
161      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
162      */
SetSNSTopicArn(Aws::String && value)163     inline void SetSNSTopicArn(Aws::String&& value) { m_sNSTopicArn = std::move(value); }
164 
165     /**
166      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
167      * SNS) topic; for example,
168      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
169      */
SetSNSTopicArn(const char * value)170     inline void SetSNSTopicArn(const char* value) { m_sNSTopicArn.assign(value); }
171 
172     /**
173      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
174      * SNS) topic; for example,
175      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
176      */
WithSNSTopicArn(const Aws::String & value)177     inline GetBackupVaultNotificationsResult& WithSNSTopicArn(const Aws::String& value) { SetSNSTopicArn(value); return *this;}
178 
179     /**
180      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
181      * SNS) topic; for example,
182      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
183      */
WithSNSTopicArn(Aws::String && value)184     inline GetBackupVaultNotificationsResult& WithSNSTopicArn(Aws::String&& value) { SetSNSTopicArn(std::move(value)); return *this;}
185 
186     /**
187      * <p>An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
188      * SNS) topic; for example,
189      * <code>arn:aws:sns:us-west-2:111122223333:MyTopic</code>.</p>
190      */
WithSNSTopicArn(const char * value)191     inline GetBackupVaultNotificationsResult& WithSNSTopicArn(const char* value) { SetSNSTopicArn(value); return *this;}
192 
193 
194     /**
195      * <p>An array of events that indicate the status of jobs to back up resources to
196      * the backup vault.</p>
197      */
GetBackupVaultEvents()198     inline const Aws::Vector<BackupVaultEvent>& GetBackupVaultEvents() const{ return m_backupVaultEvents; }
199 
200     /**
201      * <p>An array of events that indicate the status of jobs to back up resources to
202      * the backup vault.</p>
203      */
SetBackupVaultEvents(const Aws::Vector<BackupVaultEvent> & value)204     inline void SetBackupVaultEvents(const Aws::Vector<BackupVaultEvent>& value) { m_backupVaultEvents = value; }
205 
206     /**
207      * <p>An array of events that indicate the status of jobs to back up resources to
208      * the backup vault.</p>
209      */
SetBackupVaultEvents(Aws::Vector<BackupVaultEvent> && value)210     inline void SetBackupVaultEvents(Aws::Vector<BackupVaultEvent>&& value) { m_backupVaultEvents = std::move(value); }
211 
212     /**
213      * <p>An array of events that indicate the status of jobs to back up resources to
214      * the backup vault.</p>
215      */
WithBackupVaultEvents(const Aws::Vector<BackupVaultEvent> & value)216     inline GetBackupVaultNotificationsResult& WithBackupVaultEvents(const Aws::Vector<BackupVaultEvent>& value) { SetBackupVaultEvents(value); return *this;}
217 
218     /**
219      * <p>An array of events that indicate the status of jobs to back up resources to
220      * the backup vault.</p>
221      */
WithBackupVaultEvents(Aws::Vector<BackupVaultEvent> && value)222     inline GetBackupVaultNotificationsResult& WithBackupVaultEvents(Aws::Vector<BackupVaultEvent>&& value) { SetBackupVaultEvents(std::move(value)); return *this;}
223 
224     /**
225      * <p>An array of events that indicate the status of jobs to back up resources to
226      * the backup vault.</p>
227      */
AddBackupVaultEvents(const BackupVaultEvent & value)228     inline GetBackupVaultNotificationsResult& AddBackupVaultEvents(const BackupVaultEvent& value) { m_backupVaultEvents.push_back(value); return *this; }
229 
230     /**
231      * <p>An array of events that indicate the status of jobs to back up resources to
232      * the backup vault.</p>
233      */
AddBackupVaultEvents(BackupVaultEvent && value)234     inline GetBackupVaultNotificationsResult& AddBackupVaultEvents(BackupVaultEvent&& value) { m_backupVaultEvents.push_back(std::move(value)); return *this; }
235 
236   private:
237 
238     Aws::String m_backupVaultName;
239 
240     Aws::String m_backupVaultArn;
241 
242     Aws::String m_sNSTopicArn;
243 
244     Aws::Vector<BackupVaultEvent> m_backupVaultEvents;
245   };
246 
247 } // namespace Model
248 } // namespace Backup
249 } // namespace Aws
250