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/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/DateTime.h> 10 #include <aws/macie2/model/RelationshipStatus.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace Macie2 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Provides information about an Amazon Macie membership invitation that was 30 * received by an account.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/Invitation">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_MACIE2_API Invitation 35 { 36 public: 37 Invitation(); 38 Invitation(Aws::Utils::Json::JsonView jsonValue); 39 Invitation& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The Amazon Web Services account ID for the account that sent the 45 * invitation.</p> 46 */ GetAccountId()47 inline const Aws::String& GetAccountId() const{ return m_accountId; } 48 49 /** 50 * <p>The Amazon Web Services account ID for the account that sent the 51 * invitation.</p> 52 */ AccountIdHasBeenSet()53 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } 54 55 /** 56 * <p>The Amazon Web Services account ID for the account that sent the 57 * invitation.</p> 58 */ SetAccountId(const Aws::String & value)59 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } 60 61 /** 62 * <p>The Amazon Web Services account ID for the account that sent the 63 * invitation.</p> 64 */ SetAccountId(Aws::String && value)65 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } 66 67 /** 68 * <p>The Amazon Web Services account ID for the account that sent the 69 * invitation.</p> 70 */ SetAccountId(const char * value)71 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } 72 73 /** 74 * <p>The Amazon Web Services account ID for the account that sent the 75 * invitation.</p> 76 */ WithAccountId(const Aws::String & value)77 inline Invitation& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} 78 79 /** 80 * <p>The Amazon Web Services account ID for the account that sent the 81 * invitation.</p> 82 */ WithAccountId(Aws::String && value)83 inline Invitation& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} 84 85 /** 86 * <p>The Amazon Web Services account ID for the account that sent the 87 * invitation.</p> 88 */ WithAccountId(const char * value)89 inline Invitation& WithAccountId(const char* value) { SetAccountId(value); return *this;} 90 91 92 /** 93 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 94 * to validate the inviter account with the invitee account.</p> 95 */ GetInvitationId()96 inline const Aws::String& GetInvitationId() const{ return m_invitationId; } 97 98 /** 99 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 100 * to validate the inviter account with the invitee account.</p> 101 */ InvitationIdHasBeenSet()102 inline bool InvitationIdHasBeenSet() const { return m_invitationIdHasBeenSet; } 103 104 /** 105 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 106 * to validate the inviter account with the invitee account.</p> 107 */ SetInvitationId(const Aws::String & value)108 inline void SetInvitationId(const Aws::String& value) { m_invitationIdHasBeenSet = true; m_invitationId = value; } 109 110 /** 111 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 112 * to validate the inviter account with the invitee account.</p> 113 */ SetInvitationId(Aws::String && value)114 inline void SetInvitationId(Aws::String&& value) { m_invitationIdHasBeenSet = true; m_invitationId = std::move(value); } 115 116 /** 117 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 118 * to validate the inviter account with the invitee account.</p> 119 */ SetInvitationId(const char * value)120 inline void SetInvitationId(const char* value) { m_invitationIdHasBeenSet = true; m_invitationId.assign(value); } 121 122 /** 123 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 124 * to validate the inviter account with the invitee account.</p> 125 */ WithInvitationId(const Aws::String & value)126 inline Invitation& WithInvitationId(const Aws::String& value) { SetInvitationId(value); return *this;} 127 128 /** 129 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 130 * to validate the inviter account with the invitee account.</p> 131 */ WithInvitationId(Aws::String && value)132 inline Invitation& WithInvitationId(Aws::String&& value) { SetInvitationId(std::move(value)); return *this;} 133 134 /** 135 * <p>The unique identifier for the invitation. Amazon Macie uses this identifier 136 * to validate the inviter account with the invitee account.</p> 137 */ WithInvitationId(const char * value)138 inline Invitation& WithInvitationId(const char* value) { SetInvitationId(value); return *this;} 139 140 141 /** 142 * <p>The date and time, in UTC and extended ISO 8601 format, when the invitation 143 * was sent.</p> 144 */ GetInvitedAt()145 inline const Aws::Utils::DateTime& GetInvitedAt() const{ return m_invitedAt; } 146 147 /** 148 * <p>The date and time, in UTC and extended ISO 8601 format, when the invitation 149 * was sent.</p> 150 */ InvitedAtHasBeenSet()151 inline bool InvitedAtHasBeenSet() const { return m_invitedAtHasBeenSet; } 152 153 /** 154 * <p>The date and time, in UTC and extended ISO 8601 format, when the invitation 155 * was sent.</p> 156 */ SetInvitedAt(const Aws::Utils::DateTime & value)157 inline void SetInvitedAt(const Aws::Utils::DateTime& value) { m_invitedAtHasBeenSet = true; m_invitedAt = value; } 158 159 /** 160 * <p>The date and time, in UTC and extended ISO 8601 format, when the invitation 161 * was sent.</p> 162 */ SetInvitedAt(Aws::Utils::DateTime && value)163 inline void SetInvitedAt(Aws::Utils::DateTime&& value) { m_invitedAtHasBeenSet = true; m_invitedAt = std::move(value); } 164 165 /** 166 * <p>The date and time, in UTC and extended ISO 8601 format, when the invitation 167 * was sent.</p> 168 */ WithInvitedAt(const Aws::Utils::DateTime & value)169 inline Invitation& WithInvitedAt(const Aws::Utils::DateTime& value) { SetInvitedAt(value); return *this;} 170 171 /** 172 * <p>The date and time, in UTC and extended ISO 8601 format, when the invitation 173 * was sent.</p> 174 */ WithInvitedAt(Aws::Utils::DateTime && value)175 inline Invitation& WithInvitedAt(Aws::Utils::DateTime&& value) { SetInvitedAt(std::move(value)); return *this;} 176 177 178 /** 179 * <p>The status of the relationship between the account that sent the invitation 180 * (<i>inviter account</i>) and the account that received the invitation 181 * (<i>invitee account</i>).</p> 182 */ GetRelationshipStatus()183 inline const RelationshipStatus& GetRelationshipStatus() const{ return m_relationshipStatus; } 184 185 /** 186 * <p>The status of the relationship between the account that sent the invitation 187 * (<i>inviter account</i>) and the account that received the invitation 188 * (<i>invitee account</i>).</p> 189 */ RelationshipStatusHasBeenSet()190 inline bool RelationshipStatusHasBeenSet() const { return m_relationshipStatusHasBeenSet; } 191 192 /** 193 * <p>The status of the relationship between the account that sent the invitation 194 * (<i>inviter account</i>) and the account that received the invitation 195 * (<i>invitee account</i>).</p> 196 */ SetRelationshipStatus(const RelationshipStatus & value)197 inline void SetRelationshipStatus(const RelationshipStatus& value) { m_relationshipStatusHasBeenSet = true; m_relationshipStatus = value; } 198 199 /** 200 * <p>The status of the relationship between the account that sent the invitation 201 * (<i>inviter account</i>) and the account that received the invitation 202 * (<i>invitee account</i>).</p> 203 */ SetRelationshipStatus(RelationshipStatus && value)204 inline void SetRelationshipStatus(RelationshipStatus&& value) { m_relationshipStatusHasBeenSet = true; m_relationshipStatus = std::move(value); } 205 206 /** 207 * <p>The status of the relationship between the account that sent the invitation 208 * (<i>inviter account</i>) and the account that received the invitation 209 * (<i>invitee account</i>).</p> 210 */ WithRelationshipStatus(const RelationshipStatus & value)211 inline Invitation& WithRelationshipStatus(const RelationshipStatus& value) { SetRelationshipStatus(value); return *this;} 212 213 /** 214 * <p>The status of the relationship between the account that sent the invitation 215 * (<i>inviter account</i>) and the account that received the invitation 216 * (<i>invitee account</i>).</p> 217 */ WithRelationshipStatus(RelationshipStatus && value)218 inline Invitation& WithRelationshipStatus(RelationshipStatus&& value) { SetRelationshipStatus(std::move(value)); return *this;} 219 220 private: 221 222 Aws::String m_accountId; 223 bool m_accountIdHasBeenSet; 224 225 Aws::String m_invitationId; 226 bool m_invitationIdHasBeenSet; 227 228 Aws::Utils::DateTime m_invitedAt; 229 bool m_invitedAtHasBeenSet; 230 231 RelationshipStatus m_relationshipStatus; 232 bool m_relationshipStatusHasBeenSet; 233 }; 234 235 } // namespace Model 236 } // namespace Macie2 237 } // namespace Aws 238