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/workmail/WorkMail_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/workmail/model/DnsRecordVerificationStatus.h> 10 #include <aws/workmail/model/DnsRecord.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 } // namespace Json 24 } // namespace Utils 25 namespace WorkMail 26 { 27 namespace Model 28 { 29 class AWS_WORKMAIL_API GetMailDomainResult 30 { 31 public: 32 GetMailDomainResult(); 33 GetMailDomainResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 GetMailDomainResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 36 37 /** 38 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 39 * provider for the best user experience. The records configure your domain with 40 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 41 * more details.</p> 42 */ GetRecords()43 inline const Aws::Vector<DnsRecord>& GetRecords() const{ return m_records; } 44 45 /** 46 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 47 * provider for the best user experience. The records configure your domain with 48 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 49 * more details.</p> 50 */ SetRecords(const Aws::Vector<DnsRecord> & value)51 inline void SetRecords(const Aws::Vector<DnsRecord>& value) { m_records = value; } 52 53 /** 54 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 55 * provider for the best user experience. The records configure your domain with 56 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 57 * more details.</p> 58 */ SetRecords(Aws::Vector<DnsRecord> && value)59 inline void SetRecords(Aws::Vector<DnsRecord>&& value) { m_records = std::move(value); } 60 61 /** 62 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 63 * provider for the best user experience. The records configure your domain with 64 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 65 * more details.</p> 66 */ WithRecords(const Aws::Vector<DnsRecord> & value)67 inline GetMailDomainResult& WithRecords(const Aws::Vector<DnsRecord>& value) { SetRecords(value); return *this;} 68 69 /** 70 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 71 * provider for the best user experience. The records configure your domain with 72 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 73 * more details.</p> 74 */ WithRecords(Aws::Vector<DnsRecord> && value)75 inline GetMailDomainResult& WithRecords(Aws::Vector<DnsRecord>&& value) { SetRecords(std::move(value)); return *this;} 76 77 /** 78 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 79 * provider for the best user experience. The records configure your domain with 80 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 81 * more details.</p> 82 */ AddRecords(const DnsRecord & value)83 inline GetMailDomainResult& AddRecords(const DnsRecord& value) { m_records.push_back(value); return *this; } 84 85 /** 86 * <p>A list of the DNS records that Amazon WorkMail recommends adding in your DNS 87 * provider for the best user experience. The records configure your domain with 88 * DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for 89 * more details.</p> 90 */ AddRecords(DnsRecord && value)91 inline GetMailDomainResult& AddRecords(DnsRecord&& value) { m_records.push_back(std::move(value)); return *this; } 92 93 94 /** 95 * <p>Specifies whether the domain is a test domain provided by WorkMail, or a 96 * custom domain.</p> 97 */ GetIsTestDomain()98 inline bool GetIsTestDomain() const{ return m_isTestDomain; } 99 100 /** 101 * <p>Specifies whether the domain is a test domain provided by WorkMail, or a 102 * custom domain.</p> 103 */ SetIsTestDomain(bool value)104 inline void SetIsTestDomain(bool value) { m_isTestDomain = value; } 105 106 /** 107 * <p>Specifies whether the domain is a test domain provided by WorkMail, or a 108 * custom domain.</p> 109 */ WithIsTestDomain(bool value)110 inline GetMailDomainResult& WithIsTestDomain(bool value) { SetIsTestDomain(value); return *this;} 111 112 113 /** 114 * <p>Specifies whether the domain is the default domain for your organization.</p> 115 */ GetIsDefault()116 inline bool GetIsDefault() const{ return m_isDefault; } 117 118 /** 119 * <p>Specifies whether the domain is the default domain for your organization.</p> 120 */ SetIsDefault(bool value)121 inline void SetIsDefault(bool value) { m_isDefault = value; } 122 123 /** 124 * <p>Specifies whether the domain is the default domain for your organization.</p> 125 */ WithIsDefault(bool value)126 inline GetMailDomainResult& WithIsDefault(bool value) { SetIsDefault(value); return *this;} 127 128 129 /** 130 * <p> Indicates the status of the domain ownership verification.</p> 131 */ GetOwnershipVerificationStatus()132 inline const DnsRecordVerificationStatus& GetOwnershipVerificationStatus() const{ return m_ownershipVerificationStatus; } 133 134 /** 135 * <p> Indicates the status of the domain ownership verification.</p> 136 */ SetOwnershipVerificationStatus(const DnsRecordVerificationStatus & value)137 inline void SetOwnershipVerificationStatus(const DnsRecordVerificationStatus& value) { m_ownershipVerificationStatus = value; } 138 139 /** 140 * <p> Indicates the status of the domain ownership verification.</p> 141 */ SetOwnershipVerificationStatus(DnsRecordVerificationStatus && value)142 inline void SetOwnershipVerificationStatus(DnsRecordVerificationStatus&& value) { m_ownershipVerificationStatus = std::move(value); } 143 144 /** 145 * <p> Indicates the status of the domain ownership verification.</p> 146 */ WithOwnershipVerificationStatus(const DnsRecordVerificationStatus & value)147 inline GetMailDomainResult& WithOwnershipVerificationStatus(const DnsRecordVerificationStatus& value) { SetOwnershipVerificationStatus(value); return *this;} 148 149 /** 150 * <p> Indicates the status of the domain ownership verification.</p> 151 */ WithOwnershipVerificationStatus(DnsRecordVerificationStatus && value)152 inline GetMailDomainResult& WithOwnershipVerificationStatus(DnsRecordVerificationStatus&& value) { SetOwnershipVerificationStatus(std::move(value)); return *this;} 153 154 155 /** 156 * <p>Indicates the status of a DKIM verification.</p> 157 */ GetDkimVerificationStatus()158 inline const DnsRecordVerificationStatus& GetDkimVerificationStatus() const{ return m_dkimVerificationStatus; } 159 160 /** 161 * <p>Indicates the status of a DKIM verification.</p> 162 */ SetDkimVerificationStatus(const DnsRecordVerificationStatus & value)163 inline void SetDkimVerificationStatus(const DnsRecordVerificationStatus& value) { m_dkimVerificationStatus = value; } 164 165 /** 166 * <p>Indicates the status of a DKIM verification.</p> 167 */ SetDkimVerificationStatus(DnsRecordVerificationStatus && value)168 inline void SetDkimVerificationStatus(DnsRecordVerificationStatus&& value) { m_dkimVerificationStatus = std::move(value); } 169 170 /** 171 * <p>Indicates the status of a DKIM verification.</p> 172 */ WithDkimVerificationStatus(const DnsRecordVerificationStatus & value)173 inline GetMailDomainResult& WithDkimVerificationStatus(const DnsRecordVerificationStatus& value) { SetDkimVerificationStatus(value); return *this;} 174 175 /** 176 * <p>Indicates the status of a DKIM verification.</p> 177 */ WithDkimVerificationStatus(DnsRecordVerificationStatus && value)178 inline GetMailDomainResult& WithDkimVerificationStatus(DnsRecordVerificationStatus&& value) { SetDkimVerificationStatus(std::move(value)); return *this;} 179 180 private: 181 182 Aws::Vector<DnsRecord> m_records; 183 184 bool m_isTestDomain; 185 186 bool m_isDefault; 187 188 DnsRecordVerificationStatus m_ownershipVerificationStatus; 189 190 DnsRecordVerificationStatus m_dkimVerificationStatus; 191 }; 192 193 } // namespace Model 194 } // namespace WorkMail 195 } // namespace Aws 196