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/DateTime.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/backup/model/AdvancedBackupSetting.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace Backup
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Contains metadata about a backup plan.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupPlansListMember">AWS
32    * API Reference</a></p>
33    */
34   class AWS_BACKUP_API BackupPlansListMember
35   {
36   public:
37     BackupPlansListMember();
38     BackupPlansListMember(Aws::Utils::Json::JsonView jsonValue);
39     BackupPlansListMember& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
45      * example,
46      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
47      */
GetBackupPlanArn()48     inline const Aws::String& GetBackupPlanArn() const{ return m_backupPlanArn; }
49 
50     /**
51      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
52      * example,
53      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
54      */
BackupPlanArnHasBeenSet()55     inline bool BackupPlanArnHasBeenSet() const { return m_backupPlanArnHasBeenSet; }
56 
57     /**
58      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
59      * example,
60      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
61      */
SetBackupPlanArn(const Aws::String & value)62     inline void SetBackupPlanArn(const Aws::String& value) { m_backupPlanArnHasBeenSet = true; m_backupPlanArn = value; }
63 
64     /**
65      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
66      * example,
67      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
68      */
SetBackupPlanArn(Aws::String && value)69     inline void SetBackupPlanArn(Aws::String&& value) { m_backupPlanArnHasBeenSet = true; m_backupPlanArn = std::move(value); }
70 
71     /**
72      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
73      * example,
74      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
75      */
SetBackupPlanArn(const char * value)76     inline void SetBackupPlanArn(const char* value) { m_backupPlanArnHasBeenSet = true; m_backupPlanArn.assign(value); }
77 
78     /**
79      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
80      * example,
81      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
82      */
WithBackupPlanArn(const Aws::String & value)83     inline BackupPlansListMember& WithBackupPlanArn(const Aws::String& value) { SetBackupPlanArn(value); return *this;}
84 
85     /**
86      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
87      * example,
88      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
89      */
WithBackupPlanArn(Aws::String && value)90     inline BackupPlansListMember& WithBackupPlanArn(Aws::String&& value) { SetBackupPlanArn(std::move(value)); return *this;}
91 
92     /**
93      * <p>An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
94      * example,
95      * <code>arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50</code>.</p>
96      */
WithBackupPlanArn(const char * value)97     inline BackupPlansListMember& WithBackupPlanArn(const char* value) { SetBackupPlanArn(value); return *this;}
98 
99 
100     /**
101      * <p>Uniquely identifies a backup plan.</p>
102      */
GetBackupPlanId()103     inline const Aws::String& GetBackupPlanId() const{ return m_backupPlanId; }
104 
105     /**
106      * <p>Uniquely identifies a backup plan.</p>
107      */
BackupPlanIdHasBeenSet()108     inline bool BackupPlanIdHasBeenSet() const { return m_backupPlanIdHasBeenSet; }
109 
110     /**
111      * <p>Uniquely identifies a backup plan.</p>
112      */
SetBackupPlanId(const Aws::String & value)113     inline void SetBackupPlanId(const Aws::String& value) { m_backupPlanIdHasBeenSet = true; m_backupPlanId = value; }
114 
115     /**
116      * <p>Uniquely identifies a backup plan.</p>
117      */
SetBackupPlanId(Aws::String && value)118     inline void SetBackupPlanId(Aws::String&& value) { m_backupPlanIdHasBeenSet = true; m_backupPlanId = std::move(value); }
119 
120     /**
121      * <p>Uniquely identifies a backup plan.</p>
122      */
SetBackupPlanId(const char * value)123     inline void SetBackupPlanId(const char* value) { m_backupPlanIdHasBeenSet = true; m_backupPlanId.assign(value); }
124 
125     /**
126      * <p>Uniquely identifies a backup plan.</p>
127      */
WithBackupPlanId(const Aws::String & value)128     inline BackupPlansListMember& WithBackupPlanId(const Aws::String& value) { SetBackupPlanId(value); return *this;}
129 
130     /**
131      * <p>Uniquely identifies a backup plan.</p>
132      */
WithBackupPlanId(Aws::String && value)133     inline BackupPlansListMember& WithBackupPlanId(Aws::String&& value) { SetBackupPlanId(std::move(value)); return *this;}
134 
135     /**
136      * <p>Uniquely identifies a backup plan.</p>
137      */
WithBackupPlanId(const char * value)138     inline BackupPlansListMember& WithBackupPlanId(const char* value) { SetBackupPlanId(value); return *this;}
139 
140 
141     /**
142      * <p>The date and time a resource backup plan is created, in Unix format and
143      * Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is
144      * accurate to milliseconds. For example, the value 1516925490.087 represents
145      * Friday, January 26, 2018 12:11:30.087 AM.</p>
146      */
GetCreationDate()147     inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; }
148 
149     /**
150      * <p>The date and time a resource backup plan is created, in Unix format and
151      * Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is
152      * accurate to milliseconds. For example, the value 1516925490.087 represents
153      * Friday, January 26, 2018 12:11:30.087 AM.</p>
154      */
CreationDateHasBeenSet()155     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
156 
157     /**
158      * <p>The date and time a resource backup plan is created, in Unix format and
159      * Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is
160      * accurate to milliseconds. For example, the value 1516925490.087 represents
161      * Friday, January 26, 2018 12:11:30.087 AM.</p>
162      */
SetCreationDate(const Aws::Utils::DateTime & value)163     inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
164 
165     /**
166      * <p>The date and time a resource backup plan is created, in Unix format and
167      * Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is
168      * accurate to milliseconds. For example, the value 1516925490.087 represents
169      * Friday, January 26, 2018 12:11:30.087 AM.</p>
170      */
SetCreationDate(Aws::Utils::DateTime && value)171     inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
172 
173     /**
174      * <p>The date and time a resource backup plan is created, in Unix format and
175      * Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is
176      * accurate to milliseconds. For example, the value 1516925490.087 represents
177      * Friday, January 26, 2018 12:11:30.087 AM.</p>
178      */
WithCreationDate(const Aws::Utils::DateTime & value)179     inline BackupPlansListMember& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;}
180 
181     /**
182      * <p>The date and time a resource backup plan is created, in Unix format and
183      * Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is
184      * accurate to milliseconds. For example, the value 1516925490.087 represents
185      * Friday, January 26, 2018 12:11:30.087 AM.</p>
186      */
WithCreationDate(Aws::Utils::DateTime && value)187     inline BackupPlansListMember& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;}
188 
189 
190     /**
191      * <p>The date and time a backup plan is deleted, in Unix format and Coordinated
192      * Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to
193      * milliseconds. For example, the value 1516925490.087 represents Friday, January
194      * 26, 2018 12:11:30.087 AM.</p>
195      */
GetDeletionDate()196     inline const Aws::Utils::DateTime& GetDeletionDate() const{ return m_deletionDate; }
197 
198     /**
199      * <p>The date and time a backup plan is deleted, in Unix format and Coordinated
200      * Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to
201      * milliseconds. For example, the value 1516925490.087 represents Friday, January
202      * 26, 2018 12:11:30.087 AM.</p>
203      */
DeletionDateHasBeenSet()204     inline bool DeletionDateHasBeenSet() const { return m_deletionDateHasBeenSet; }
205 
206     /**
207      * <p>The date and time a backup plan is deleted, in Unix format and Coordinated
208      * Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to
209      * milliseconds. For example, the value 1516925490.087 represents Friday, January
210      * 26, 2018 12:11:30.087 AM.</p>
211      */
SetDeletionDate(const Aws::Utils::DateTime & value)212     inline void SetDeletionDate(const Aws::Utils::DateTime& value) { m_deletionDateHasBeenSet = true; m_deletionDate = value; }
213 
214     /**
215      * <p>The date and time a backup plan is deleted, in Unix format and Coordinated
216      * Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to
217      * milliseconds. For example, the value 1516925490.087 represents Friday, January
218      * 26, 2018 12:11:30.087 AM.</p>
219      */
SetDeletionDate(Aws::Utils::DateTime && value)220     inline void SetDeletionDate(Aws::Utils::DateTime&& value) { m_deletionDateHasBeenSet = true; m_deletionDate = std::move(value); }
221 
222     /**
223      * <p>The date and time a backup plan is deleted, in Unix format and Coordinated
224      * Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to
225      * milliseconds. For example, the value 1516925490.087 represents Friday, January
226      * 26, 2018 12:11:30.087 AM.</p>
227      */
WithDeletionDate(const Aws::Utils::DateTime & value)228     inline BackupPlansListMember& WithDeletionDate(const Aws::Utils::DateTime& value) { SetDeletionDate(value); return *this;}
229 
230     /**
231      * <p>The date and time a backup plan is deleted, in Unix format and Coordinated
232      * Universal Time (UTC). The value of <code>DeletionDate</code> is accurate to
233      * milliseconds. For example, the value 1516925490.087 represents Friday, January
234      * 26, 2018 12:11:30.087 AM.</p>
235      */
WithDeletionDate(Aws::Utils::DateTime && value)236     inline BackupPlansListMember& WithDeletionDate(Aws::Utils::DateTime&& value) { SetDeletionDate(std::move(value)); return *this;}
237 
238 
239     /**
240      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
241      * 1,024 bytes long. Version IDs cannot be edited.</p>
242      */
GetVersionId()243     inline const Aws::String& GetVersionId() const{ return m_versionId; }
244 
245     /**
246      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
247      * 1,024 bytes long. Version IDs cannot be edited.</p>
248      */
VersionIdHasBeenSet()249     inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
250 
251     /**
252      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
253      * 1,024 bytes long. Version IDs cannot be edited.</p>
254      */
SetVersionId(const Aws::String & value)255     inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
256 
257     /**
258      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
259      * 1,024 bytes long. Version IDs cannot be edited.</p>
260      */
SetVersionId(Aws::String && value)261     inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
262 
263     /**
264      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
265      * 1,024 bytes long. Version IDs cannot be edited.</p>
266      */
SetVersionId(const char * value)267     inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
268 
269     /**
270      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
271      * 1,024 bytes long. Version IDs cannot be edited.</p>
272      */
WithVersionId(const Aws::String & value)273     inline BackupPlansListMember& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
274 
275     /**
276      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
277      * 1,024 bytes long. Version IDs cannot be edited.</p>
278      */
WithVersionId(Aws::String && value)279     inline BackupPlansListMember& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
280 
281     /**
282      * <p>Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
283      * 1,024 bytes long. Version IDs cannot be edited.</p>
284      */
WithVersionId(const char * value)285     inline BackupPlansListMember& WithVersionId(const char* value) { SetVersionId(value); return *this;}
286 
287 
288     /**
289      * <p>The display name of a saved backup plan.</p>
290      */
GetBackupPlanName()291     inline const Aws::String& GetBackupPlanName() const{ return m_backupPlanName; }
292 
293     /**
294      * <p>The display name of a saved backup plan.</p>
295      */
BackupPlanNameHasBeenSet()296     inline bool BackupPlanNameHasBeenSet() const { return m_backupPlanNameHasBeenSet; }
297 
298     /**
299      * <p>The display name of a saved backup plan.</p>
300      */
SetBackupPlanName(const Aws::String & value)301     inline void SetBackupPlanName(const Aws::String& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = value; }
302 
303     /**
304      * <p>The display name of a saved backup plan.</p>
305      */
SetBackupPlanName(Aws::String && value)306     inline void SetBackupPlanName(Aws::String&& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = std::move(value); }
307 
308     /**
309      * <p>The display name of a saved backup plan.</p>
310      */
SetBackupPlanName(const char * value)311     inline void SetBackupPlanName(const char* value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName.assign(value); }
312 
313     /**
314      * <p>The display name of a saved backup plan.</p>
315      */
WithBackupPlanName(const Aws::String & value)316     inline BackupPlansListMember& WithBackupPlanName(const Aws::String& value) { SetBackupPlanName(value); return *this;}
317 
318     /**
319      * <p>The display name of a saved backup plan.</p>
320      */
WithBackupPlanName(Aws::String && value)321     inline BackupPlansListMember& WithBackupPlanName(Aws::String&& value) { SetBackupPlanName(std::move(value)); return *this;}
322 
323     /**
324      * <p>The display name of a saved backup plan.</p>
325      */
WithBackupPlanName(const char * value)326     inline BackupPlansListMember& WithBackupPlanName(const char* value) { SetBackupPlanName(value); return *this;}
327 
328 
329     /**
330      * <p>A unique string that identifies the request and allows failed requests to be
331      * retried without the risk of running the operation twice.</p>
332      */
GetCreatorRequestId()333     inline const Aws::String& GetCreatorRequestId() const{ return m_creatorRequestId; }
334 
335     /**
336      * <p>A unique string that identifies the request and allows failed requests to be
337      * retried without the risk of running the operation twice.</p>
338      */
CreatorRequestIdHasBeenSet()339     inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; }
340 
341     /**
342      * <p>A unique string that identifies the request and allows failed requests to be
343      * retried without the risk of running the operation twice.</p>
344      */
SetCreatorRequestId(const Aws::String & value)345     inline void SetCreatorRequestId(const Aws::String& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = value; }
346 
347     /**
348      * <p>A unique string that identifies the request and allows failed requests to be
349      * retried without the risk of running the operation twice.</p>
350      */
SetCreatorRequestId(Aws::String && value)351     inline void SetCreatorRequestId(Aws::String&& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = std::move(value); }
352 
353     /**
354      * <p>A unique string that identifies the request and allows failed requests to be
355      * retried without the risk of running the operation twice.</p>
356      */
SetCreatorRequestId(const char * value)357     inline void SetCreatorRequestId(const char* value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId.assign(value); }
358 
359     /**
360      * <p>A unique string that identifies the request and allows failed requests to be
361      * retried without the risk of running the operation twice.</p>
362      */
WithCreatorRequestId(const Aws::String & value)363     inline BackupPlansListMember& WithCreatorRequestId(const Aws::String& value) { SetCreatorRequestId(value); return *this;}
364 
365     /**
366      * <p>A unique string that identifies the request and allows failed requests to be
367      * retried without the risk of running the operation twice.</p>
368      */
WithCreatorRequestId(Aws::String && value)369     inline BackupPlansListMember& WithCreatorRequestId(Aws::String&& value) { SetCreatorRequestId(std::move(value)); return *this;}
370 
371     /**
372      * <p>A unique string that identifies the request and allows failed requests to be
373      * retried without the risk of running the operation twice.</p>
374      */
WithCreatorRequestId(const char * value)375     inline BackupPlansListMember& WithCreatorRequestId(const char* value) { SetCreatorRequestId(value); return *this;}
376 
377 
378     /**
379      * <p>The last time a job to back up resources was run with this rule. A date and
380      * time, in Unix format and Coordinated Universal Time (UTC). The value of
381      * <code>LastExecutionDate</code> is accurate to milliseconds. For example, the
382      * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
383      */
GetLastExecutionDate()384     inline const Aws::Utils::DateTime& GetLastExecutionDate() const{ return m_lastExecutionDate; }
385 
386     /**
387      * <p>The last time a job to back up resources was run with this rule. A date and
388      * time, in Unix format and Coordinated Universal Time (UTC). The value of
389      * <code>LastExecutionDate</code> is accurate to milliseconds. For example, the
390      * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
391      */
LastExecutionDateHasBeenSet()392     inline bool LastExecutionDateHasBeenSet() const { return m_lastExecutionDateHasBeenSet; }
393 
394     /**
395      * <p>The last time a job to back up resources was run with this rule. A date and
396      * time, in Unix format and Coordinated Universal Time (UTC). The value of
397      * <code>LastExecutionDate</code> is accurate to milliseconds. For example, the
398      * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
399      */
SetLastExecutionDate(const Aws::Utils::DateTime & value)400     inline void SetLastExecutionDate(const Aws::Utils::DateTime& value) { m_lastExecutionDateHasBeenSet = true; m_lastExecutionDate = value; }
401 
402     /**
403      * <p>The last time a job to back up resources was run with this rule. A date and
404      * time, in Unix format and Coordinated Universal Time (UTC). The value of
405      * <code>LastExecutionDate</code> is accurate to milliseconds. For example, the
406      * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
407      */
SetLastExecutionDate(Aws::Utils::DateTime && value)408     inline void SetLastExecutionDate(Aws::Utils::DateTime&& value) { m_lastExecutionDateHasBeenSet = true; m_lastExecutionDate = std::move(value); }
409 
410     /**
411      * <p>The last time a job to back up resources was run with this rule. A date and
412      * time, in Unix format and Coordinated Universal Time (UTC). The value of
413      * <code>LastExecutionDate</code> is accurate to milliseconds. For example, the
414      * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
415      */
WithLastExecutionDate(const Aws::Utils::DateTime & value)416     inline BackupPlansListMember& WithLastExecutionDate(const Aws::Utils::DateTime& value) { SetLastExecutionDate(value); return *this;}
417 
418     /**
419      * <p>The last time a job to back up resources was run with this rule. A date and
420      * time, in Unix format and Coordinated Universal Time (UTC). The value of
421      * <code>LastExecutionDate</code> is accurate to milliseconds. For example, the
422      * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
423      */
WithLastExecutionDate(Aws::Utils::DateTime && value)424     inline BackupPlansListMember& WithLastExecutionDate(Aws::Utils::DateTime&& value) { SetLastExecutionDate(std::move(value)); return *this;}
425 
426 
427     /**
428      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
429      */
GetAdvancedBackupSettings()430     inline const Aws::Vector<AdvancedBackupSetting>& GetAdvancedBackupSettings() const{ return m_advancedBackupSettings; }
431 
432     /**
433      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
434      */
AdvancedBackupSettingsHasBeenSet()435     inline bool AdvancedBackupSettingsHasBeenSet() const { return m_advancedBackupSettingsHasBeenSet; }
436 
437     /**
438      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
439      */
SetAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting> & value)440     inline void SetAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting>& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = value; }
441 
442     /**
443      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
444      */
SetAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting> && value)445     inline void SetAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting>&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = std::move(value); }
446 
447     /**
448      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
449      */
WithAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting> & value)450     inline BackupPlansListMember& WithAdvancedBackupSettings(const Aws::Vector<AdvancedBackupSetting>& value) { SetAdvancedBackupSettings(value); return *this;}
451 
452     /**
453      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
454      */
WithAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting> && value)455     inline BackupPlansListMember& WithAdvancedBackupSettings(Aws::Vector<AdvancedBackupSetting>&& value) { SetAdvancedBackupSettings(std::move(value)); return *this;}
456 
457     /**
458      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
459      */
AddAdvancedBackupSettings(const AdvancedBackupSetting & value)460     inline BackupPlansListMember& AddAdvancedBackupSettings(const AdvancedBackupSetting& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(value); return *this; }
461 
462     /**
463      * <p>Contains a list of <code>BackupOptions</code> for a resource type.</p>
464      */
AddAdvancedBackupSettings(AdvancedBackupSetting && value)465     inline BackupPlansListMember& AddAdvancedBackupSettings(AdvancedBackupSetting&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(std::move(value)); return *this; }
466 
467   private:
468 
469     Aws::String m_backupPlanArn;
470     bool m_backupPlanArnHasBeenSet;
471 
472     Aws::String m_backupPlanId;
473     bool m_backupPlanIdHasBeenSet;
474 
475     Aws::Utils::DateTime m_creationDate;
476     bool m_creationDateHasBeenSet;
477 
478     Aws::Utils::DateTime m_deletionDate;
479     bool m_deletionDateHasBeenSet;
480 
481     Aws::String m_versionId;
482     bool m_versionIdHasBeenSet;
483 
484     Aws::String m_backupPlanName;
485     bool m_backupPlanNameHasBeenSet;
486 
487     Aws::String m_creatorRequestId;
488     bool m_creatorRequestIdHasBeenSet;
489 
490     Aws::Utils::DateTime m_lastExecutionDate;
491     bool m_lastExecutionDateHasBeenSet;
492 
493     Aws::Vector<AdvancedBackupSetting> m_advancedBackupSettings;
494     bool m_advancedBackupSettingsHasBeenSet;
495   };
496 
497 } // namespace Model
498 } // namespace Backup
499 } // namespace Aws
500