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/shield/Shield_EXPORTS.h>
8 #include <aws/shield/ShieldRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/shield/model/EmergencyContact.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Shield
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_SHIELD_API UpdateEmergencyContactSettingsRequest : public ShieldRequest
23   {
24   public:
25     UpdateEmergencyContactSettingsRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "UpdateEmergencyContactSettings"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>A list of email addresses and phone numbers that the Shield Response Team
40      * (SRT) can use to contact you if you have proactive engagement enabled, for
41      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
42      * have proactive engagement enabled, the contact list must include at least one
43      * phone number.</p>
44      */
GetEmergencyContactList()45     inline const Aws::Vector<EmergencyContact>& GetEmergencyContactList() const{ return m_emergencyContactList; }
46 
47     /**
48      * <p>A list of email addresses and phone numbers that the Shield Response Team
49      * (SRT) can use to contact you if you have proactive engagement enabled, for
50      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
51      * have proactive engagement enabled, the contact list must include at least one
52      * phone number.</p>
53      */
EmergencyContactListHasBeenSet()54     inline bool EmergencyContactListHasBeenSet() const { return m_emergencyContactListHasBeenSet; }
55 
56     /**
57      * <p>A list of email addresses and phone numbers that the Shield Response Team
58      * (SRT) can use to contact you if you have proactive engagement enabled, for
59      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
60      * have proactive engagement enabled, the contact list must include at least one
61      * phone number.</p>
62      */
SetEmergencyContactList(const Aws::Vector<EmergencyContact> & value)63     inline void SetEmergencyContactList(const Aws::Vector<EmergencyContact>& value) { m_emergencyContactListHasBeenSet = true; m_emergencyContactList = value; }
64 
65     /**
66      * <p>A list of email addresses and phone numbers that the Shield Response Team
67      * (SRT) can use to contact you if you have proactive engagement enabled, for
68      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
69      * have proactive engagement enabled, the contact list must include at least one
70      * phone number.</p>
71      */
SetEmergencyContactList(Aws::Vector<EmergencyContact> && value)72     inline void SetEmergencyContactList(Aws::Vector<EmergencyContact>&& value) { m_emergencyContactListHasBeenSet = true; m_emergencyContactList = std::move(value); }
73 
74     /**
75      * <p>A list of email addresses and phone numbers that the Shield Response Team
76      * (SRT) can use to contact you if you have proactive engagement enabled, for
77      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
78      * have proactive engagement enabled, the contact list must include at least one
79      * phone number.</p>
80      */
WithEmergencyContactList(const Aws::Vector<EmergencyContact> & value)81     inline UpdateEmergencyContactSettingsRequest& WithEmergencyContactList(const Aws::Vector<EmergencyContact>& value) { SetEmergencyContactList(value); return *this;}
82 
83     /**
84      * <p>A list of email addresses and phone numbers that the Shield Response Team
85      * (SRT) can use to contact you if you have proactive engagement enabled, for
86      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
87      * have proactive engagement enabled, the contact list must include at least one
88      * phone number.</p>
89      */
WithEmergencyContactList(Aws::Vector<EmergencyContact> && value)90     inline UpdateEmergencyContactSettingsRequest& WithEmergencyContactList(Aws::Vector<EmergencyContact>&& value) { SetEmergencyContactList(std::move(value)); return *this;}
91 
92     /**
93      * <p>A list of email addresses and phone numbers that the Shield Response Team
94      * (SRT) can use to contact you if you have proactive engagement enabled, for
95      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
96      * have proactive engagement enabled, the contact list must include at least one
97      * phone number.</p>
98      */
AddEmergencyContactList(const EmergencyContact & value)99     inline UpdateEmergencyContactSettingsRequest& AddEmergencyContactList(const EmergencyContact& value) { m_emergencyContactListHasBeenSet = true; m_emergencyContactList.push_back(value); return *this; }
100 
101     /**
102      * <p>A list of email addresses and phone numbers that the Shield Response Team
103      * (SRT) can use to contact you if you have proactive engagement enabled, for
104      * escalations to the SRT and to initiate proactive customer support.</p> <p>If you
105      * have proactive engagement enabled, the contact list must include at least one
106      * phone number.</p>
107      */
AddEmergencyContactList(EmergencyContact && value)108     inline UpdateEmergencyContactSettingsRequest& AddEmergencyContactList(EmergencyContact&& value) { m_emergencyContactListHasBeenSet = true; m_emergencyContactList.push_back(std::move(value)); return *this; }
109 
110   private:
111 
112     Aws::Vector<EmergencyContact> m_emergencyContactList;
113     bool m_emergencyContactListHasBeenSet;
114   };
115 
116 } // namespace Model
117 } // namespace Shield
118 } // namespace Aws
119