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/pinpoint-email/PinpointEmail_EXPORTS.h>
8 #include <aws/pinpoint-email/model/IdentityType.h>
9 #include <aws/pinpoint-email/model/DkimAttributes.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 template<typename RESULT_TYPE>
15 class AmazonWebServiceResult;
16 
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22 } // namespace Json
23 } // namespace Utils
24 namespace PinpointEmail
25 {
26 namespace Model
27 {
28   /**
29    * <p>If the email identity is a domain, this object contains tokens that you can
30    * use to create a set of CNAME records. To sucessfully verify your domain, you
31    * have to add these records to the DNS configuration for your domain.</p> <p>If
32    * the email identity is an email address, this object is empty. </p><p><h3>See
33    * Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/CreateEmailIdentityResponse">AWS
35    * API Reference</a></p>
36    */
37   class AWS_PINPOINTEMAIL_API CreateEmailIdentityResult
38   {
39   public:
40     CreateEmailIdentityResult();
41     CreateEmailIdentityResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
42     CreateEmailIdentityResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
43 
44 
45     /**
46      * <p>The email identity type.</p>
47      */
GetIdentityType()48     inline const IdentityType& GetIdentityType() const{ return m_identityType; }
49 
50     /**
51      * <p>The email identity type.</p>
52      */
SetIdentityType(const IdentityType & value)53     inline void SetIdentityType(const IdentityType& value) { m_identityType = value; }
54 
55     /**
56      * <p>The email identity type.</p>
57      */
SetIdentityType(IdentityType && value)58     inline void SetIdentityType(IdentityType&& value) { m_identityType = std::move(value); }
59 
60     /**
61      * <p>The email identity type.</p>
62      */
WithIdentityType(const IdentityType & value)63     inline CreateEmailIdentityResult& WithIdentityType(const IdentityType& value) { SetIdentityType(value); return *this;}
64 
65     /**
66      * <p>The email identity type.</p>
67      */
WithIdentityType(IdentityType && value)68     inline CreateEmailIdentityResult& WithIdentityType(IdentityType&& value) { SetIdentityType(std::move(value)); return *this;}
69 
70 
71     /**
72      * <p>Specifies whether or not the identity is verified. In Amazon Pinpoint, you
73      * can only send email from verified email addresses or domains. For more
74      * information about verifying identities, see the <a
75      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html">Amazon
76      * Pinpoint User Guide</a>.</p>
77      */
GetVerifiedForSendingStatus()78     inline bool GetVerifiedForSendingStatus() const{ return m_verifiedForSendingStatus; }
79 
80     /**
81      * <p>Specifies whether or not the identity is verified. In Amazon Pinpoint, you
82      * can only send email from verified email addresses or domains. For more
83      * information about verifying identities, see the <a
84      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html">Amazon
85      * Pinpoint User Guide</a>.</p>
86      */
SetVerifiedForSendingStatus(bool value)87     inline void SetVerifiedForSendingStatus(bool value) { m_verifiedForSendingStatus = value; }
88 
89     /**
90      * <p>Specifies whether or not the identity is verified. In Amazon Pinpoint, you
91      * can only send email from verified email addresses or domains. For more
92      * information about verifying identities, see the <a
93      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html">Amazon
94      * Pinpoint User Guide</a>.</p>
95      */
WithVerifiedForSendingStatus(bool value)96     inline CreateEmailIdentityResult& WithVerifiedForSendingStatus(bool value) { SetVerifiedForSendingStatus(value); return *this;}
97 
98 
99     /**
100      * <p>An object that contains information about the DKIM attributes for the
101      * identity. This object includes the tokens that you use to create the CNAME
102      * records that are required to complete the DKIM verification process.</p>
103      */
GetDkimAttributes()104     inline const DkimAttributes& GetDkimAttributes() const{ return m_dkimAttributes; }
105 
106     /**
107      * <p>An object that contains information about the DKIM attributes for the
108      * identity. This object includes the tokens that you use to create the CNAME
109      * records that are required to complete the DKIM verification process.</p>
110      */
SetDkimAttributes(const DkimAttributes & value)111     inline void SetDkimAttributes(const DkimAttributes& value) { m_dkimAttributes = value; }
112 
113     /**
114      * <p>An object that contains information about the DKIM attributes for the
115      * identity. This object includes the tokens that you use to create the CNAME
116      * records that are required to complete the DKIM verification process.</p>
117      */
SetDkimAttributes(DkimAttributes && value)118     inline void SetDkimAttributes(DkimAttributes&& value) { m_dkimAttributes = std::move(value); }
119 
120     /**
121      * <p>An object that contains information about the DKIM attributes for the
122      * identity. This object includes the tokens that you use to create the CNAME
123      * records that are required to complete the DKIM verification process.</p>
124      */
WithDkimAttributes(const DkimAttributes & value)125     inline CreateEmailIdentityResult& WithDkimAttributes(const DkimAttributes& value) { SetDkimAttributes(value); return *this;}
126 
127     /**
128      * <p>An object that contains information about the DKIM attributes for the
129      * identity. This object includes the tokens that you use to create the CNAME
130      * records that are required to complete the DKIM verification process.</p>
131      */
WithDkimAttributes(DkimAttributes && value)132     inline CreateEmailIdentityResult& WithDkimAttributes(DkimAttributes&& value) { SetDkimAttributes(std::move(value)); return *this;}
133 
134   private:
135 
136     IdentityType m_identityType;
137 
138     bool m_verifiedForSendingStatus;
139 
140     DkimAttributes m_dkimAttributes;
141   };
142 
143 } // namespace Model
144 } // namespace PinpointEmail
145 } // namespace Aws
146