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/macie2/Macie2_EXPORTS.h>
8 #include <aws/macie2/Macie2Request.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Macie2
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_MACIE2_API CreateInvitationsRequest : public Macie2Request
23   {
24   public:
25     CreateInvitationsRequest();
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 "CreateInvitations"; }
32 
33     Aws::String SerializePayload() const override;
34 
35 
36     /**
37      * <p>An array that lists Amazon Web Services account IDs, one for each account to
38      * send the invitation to.</p>
39      */
GetAccountIds()40     inline const Aws::Vector<Aws::String>& GetAccountIds() const{ return m_accountIds; }
41 
42     /**
43      * <p>An array that lists Amazon Web Services account IDs, one for each account to
44      * send the invitation to.</p>
45      */
AccountIdsHasBeenSet()46     inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; }
47 
48     /**
49      * <p>An array that lists Amazon Web Services account IDs, one for each account to
50      * send the invitation to.</p>
51      */
SetAccountIds(const Aws::Vector<Aws::String> & value)52     inline void SetAccountIds(const Aws::Vector<Aws::String>& value) { m_accountIdsHasBeenSet = true; m_accountIds = value; }
53 
54     /**
55      * <p>An array that lists Amazon Web Services account IDs, one for each account to
56      * send the invitation to.</p>
57      */
SetAccountIds(Aws::Vector<Aws::String> && value)58     inline void SetAccountIds(Aws::Vector<Aws::String>&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::move(value); }
59 
60     /**
61      * <p>An array that lists Amazon Web Services account IDs, one for each account to
62      * send the invitation to.</p>
63      */
WithAccountIds(const Aws::Vector<Aws::String> & value)64     inline CreateInvitationsRequest& WithAccountIds(const Aws::Vector<Aws::String>& value) { SetAccountIds(value); return *this;}
65 
66     /**
67      * <p>An array that lists Amazon Web Services account IDs, one for each account to
68      * send the invitation to.</p>
69      */
WithAccountIds(Aws::Vector<Aws::String> && value)70     inline CreateInvitationsRequest& WithAccountIds(Aws::Vector<Aws::String>&& value) { SetAccountIds(std::move(value)); return *this;}
71 
72     /**
73      * <p>An array that lists Amazon Web Services account IDs, one for each account to
74      * send the invitation to.</p>
75      */
AddAccountIds(const Aws::String & value)76     inline CreateInvitationsRequest& AddAccountIds(const Aws::String& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; }
77 
78     /**
79      * <p>An array that lists Amazon Web Services account IDs, one for each account to
80      * send the invitation to.</p>
81      */
AddAccountIds(Aws::String && value)82     inline CreateInvitationsRequest& AddAccountIds(Aws::String&& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(std::move(value)); return *this; }
83 
84     /**
85      * <p>An array that lists Amazon Web Services account IDs, one for each account to
86      * send the invitation to.</p>
87      */
AddAccountIds(const char * value)88     inline CreateInvitationsRequest& AddAccountIds(const char* value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; }
89 
90 
91     /**
92      * <p>Specifies whether to send an email notification to the root user of each
93      * account that the invitation will be sent to. This notification is in addition to
94      * an alert that the root user receives in Personal Health Dashboard. To send an
95      * email notification to the root user of each account, set this value to true.</p>
96      */
GetDisableEmailNotification()97     inline bool GetDisableEmailNotification() const{ return m_disableEmailNotification; }
98 
99     /**
100      * <p>Specifies whether to send an email notification to the root user of each
101      * account that the invitation will be sent to. This notification is in addition to
102      * an alert that the root user receives in Personal Health Dashboard. To send an
103      * email notification to the root user of each account, set this value to true.</p>
104      */
DisableEmailNotificationHasBeenSet()105     inline bool DisableEmailNotificationHasBeenSet() const { return m_disableEmailNotificationHasBeenSet; }
106 
107     /**
108      * <p>Specifies whether to send an email notification to the root user of each
109      * account that the invitation will be sent to. This notification is in addition to
110      * an alert that the root user receives in Personal Health Dashboard. To send an
111      * email notification to the root user of each account, set this value to true.</p>
112      */
SetDisableEmailNotification(bool value)113     inline void SetDisableEmailNotification(bool value) { m_disableEmailNotificationHasBeenSet = true; m_disableEmailNotification = value; }
114 
115     /**
116      * <p>Specifies whether to send an email notification to the root user of each
117      * account that the invitation will be sent to. This notification is in addition to
118      * an alert that the root user receives in Personal Health Dashboard. To send an
119      * email notification to the root user of each account, set this value to true.</p>
120      */
WithDisableEmailNotification(bool value)121     inline CreateInvitationsRequest& WithDisableEmailNotification(bool value) { SetDisableEmailNotification(value); return *this;}
122 
123 
124     /**
125      * <p>A custom message to include in the invitation. Amazon Macie adds this message
126      * to the standard content that it sends for an invitation.</p>
127      */
GetMessage()128     inline const Aws::String& GetMessage() const{ return m_message; }
129 
130     /**
131      * <p>A custom message to include in the invitation. Amazon Macie adds this message
132      * to the standard content that it sends for an invitation.</p>
133      */
MessageHasBeenSet()134     inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
135 
136     /**
137      * <p>A custom message to include in the invitation. Amazon Macie adds this message
138      * to the standard content that it sends for an invitation.</p>
139      */
SetMessage(const Aws::String & value)140     inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
141 
142     /**
143      * <p>A custom message to include in the invitation. Amazon Macie adds this message
144      * to the standard content that it sends for an invitation.</p>
145      */
SetMessage(Aws::String && value)146     inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
147 
148     /**
149      * <p>A custom message to include in the invitation. Amazon Macie adds this message
150      * to the standard content that it sends for an invitation.</p>
151      */
SetMessage(const char * value)152     inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
153 
154     /**
155      * <p>A custom message to include in the invitation. Amazon Macie adds this message
156      * to the standard content that it sends for an invitation.</p>
157      */
WithMessage(const Aws::String & value)158     inline CreateInvitationsRequest& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
159 
160     /**
161      * <p>A custom message to include in the invitation. Amazon Macie adds this message
162      * to the standard content that it sends for an invitation.</p>
163      */
WithMessage(Aws::String && value)164     inline CreateInvitationsRequest& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
165 
166     /**
167      * <p>A custom message to include in the invitation. Amazon Macie adds this message
168      * to the standard content that it sends for an invitation.</p>
169      */
WithMessage(const char * value)170     inline CreateInvitationsRequest& WithMessage(const char* value) { SetMessage(value); return *this;}
171 
172   private:
173 
174     Aws::Vector<Aws::String> m_accountIds;
175     bool m_accountIdsHasBeenSet;
176 
177     bool m_disableEmailNotification;
178     bool m_disableEmailNotificationHasBeenSet;
179 
180     Aws::String m_message;
181     bool m_messageHasBeenSet;
182   };
183 
184 } // namespace Model
185 } // namespace Macie2
186 } // namespace Aws
187