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/docdb/DocDB_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Xml 18 { 19 class XmlNode; 20 } // namespace Xml 21 } // namespace Utils 22 namespace DocDB 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>A certificate authority (CA) certificate for an account.</p><p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/Certificate">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_DOCDB_API Certificate 34 { 35 public: 36 Certificate(); 37 Certificate(const Aws::Utils::Xml::XmlNode& xmlNode); 38 Certificate& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 39 40 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 41 void OutputToStream(Aws::OStream& oStream, const char* location) const; 42 43 44 /** 45 * <p>The unique key that identifies a certificate.</p> <p>Example: 46 * <code>rds-ca-2019</code> </p> 47 */ GetCertificateIdentifier()48 inline const Aws::String& GetCertificateIdentifier() const{ return m_certificateIdentifier; } 49 50 /** 51 * <p>The unique key that identifies a certificate.</p> <p>Example: 52 * <code>rds-ca-2019</code> </p> 53 */ CertificateIdentifierHasBeenSet()54 inline bool CertificateIdentifierHasBeenSet() const { return m_certificateIdentifierHasBeenSet; } 55 56 /** 57 * <p>The unique key that identifies a certificate.</p> <p>Example: 58 * <code>rds-ca-2019</code> </p> 59 */ SetCertificateIdentifier(const Aws::String & value)60 inline void SetCertificateIdentifier(const Aws::String& value) { m_certificateIdentifierHasBeenSet = true; m_certificateIdentifier = value; } 61 62 /** 63 * <p>The unique key that identifies a certificate.</p> <p>Example: 64 * <code>rds-ca-2019</code> </p> 65 */ SetCertificateIdentifier(Aws::String && value)66 inline void SetCertificateIdentifier(Aws::String&& value) { m_certificateIdentifierHasBeenSet = true; m_certificateIdentifier = std::move(value); } 67 68 /** 69 * <p>The unique key that identifies a certificate.</p> <p>Example: 70 * <code>rds-ca-2019</code> </p> 71 */ SetCertificateIdentifier(const char * value)72 inline void SetCertificateIdentifier(const char* value) { m_certificateIdentifierHasBeenSet = true; m_certificateIdentifier.assign(value); } 73 74 /** 75 * <p>The unique key that identifies a certificate.</p> <p>Example: 76 * <code>rds-ca-2019</code> </p> 77 */ WithCertificateIdentifier(const Aws::String & value)78 inline Certificate& WithCertificateIdentifier(const Aws::String& value) { SetCertificateIdentifier(value); return *this;} 79 80 /** 81 * <p>The unique key that identifies a certificate.</p> <p>Example: 82 * <code>rds-ca-2019</code> </p> 83 */ WithCertificateIdentifier(Aws::String && value)84 inline Certificate& WithCertificateIdentifier(Aws::String&& value) { SetCertificateIdentifier(std::move(value)); return *this;} 85 86 /** 87 * <p>The unique key that identifies a certificate.</p> <p>Example: 88 * <code>rds-ca-2019</code> </p> 89 */ WithCertificateIdentifier(const char * value)90 inline Certificate& WithCertificateIdentifier(const char* value) { SetCertificateIdentifier(value); return *this;} 91 92 93 /** 94 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 95 */ GetCertificateType()96 inline const Aws::String& GetCertificateType() const{ return m_certificateType; } 97 98 /** 99 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 100 */ CertificateTypeHasBeenSet()101 inline bool CertificateTypeHasBeenSet() const { return m_certificateTypeHasBeenSet; } 102 103 /** 104 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 105 */ SetCertificateType(const Aws::String & value)106 inline void SetCertificateType(const Aws::String& value) { m_certificateTypeHasBeenSet = true; m_certificateType = value; } 107 108 /** 109 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 110 */ SetCertificateType(Aws::String && value)111 inline void SetCertificateType(Aws::String&& value) { m_certificateTypeHasBeenSet = true; m_certificateType = std::move(value); } 112 113 /** 114 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 115 */ SetCertificateType(const char * value)116 inline void SetCertificateType(const char* value) { m_certificateTypeHasBeenSet = true; m_certificateType.assign(value); } 117 118 /** 119 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 120 */ WithCertificateType(const Aws::String & value)121 inline Certificate& WithCertificateType(const Aws::String& value) { SetCertificateType(value); return *this;} 122 123 /** 124 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 125 */ WithCertificateType(Aws::String && value)126 inline Certificate& WithCertificateType(Aws::String&& value) { SetCertificateType(std::move(value)); return *this;} 127 128 /** 129 * <p>The type of the certificate.</p> <p>Example: <code>CA</code> </p> 130 */ WithCertificateType(const char * value)131 inline Certificate& WithCertificateType(const char* value) { SetCertificateType(value); return *this;} 132 133 134 /** 135 * <p>The thumbprint of the certificate.</p> 136 */ GetThumbprint()137 inline const Aws::String& GetThumbprint() const{ return m_thumbprint; } 138 139 /** 140 * <p>The thumbprint of the certificate.</p> 141 */ ThumbprintHasBeenSet()142 inline bool ThumbprintHasBeenSet() const { return m_thumbprintHasBeenSet; } 143 144 /** 145 * <p>The thumbprint of the certificate.</p> 146 */ SetThumbprint(const Aws::String & value)147 inline void SetThumbprint(const Aws::String& value) { m_thumbprintHasBeenSet = true; m_thumbprint = value; } 148 149 /** 150 * <p>The thumbprint of the certificate.</p> 151 */ SetThumbprint(Aws::String && value)152 inline void SetThumbprint(Aws::String&& value) { m_thumbprintHasBeenSet = true; m_thumbprint = std::move(value); } 153 154 /** 155 * <p>The thumbprint of the certificate.</p> 156 */ SetThumbprint(const char * value)157 inline void SetThumbprint(const char* value) { m_thumbprintHasBeenSet = true; m_thumbprint.assign(value); } 158 159 /** 160 * <p>The thumbprint of the certificate.</p> 161 */ WithThumbprint(const Aws::String & value)162 inline Certificate& WithThumbprint(const Aws::String& value) { SetThumbprint(value); return *this;} 163 164 /** 165 * <p>The thumbprint of the certificate.</p> 166 */ WithThumbprint(Aws::String && value)167 inline Certificate& WithThumbprint(Aws::String&& value) { SetThumbprint(std::move(value)); return *this;} 168 169 /** 170 * <p>The thumbprint of the certificate.</p> 171 */ WithThumbprint(const char * value)172 inline Certificate& WithThumbprint(const char* value) { SetThumbprint(value); return *this;} 173 174 175 /** 176 * <p>The starting date-time from which the certificate is valid.</p> <p>Example: 177 * <code>2019-07-31T17:57:09Z</code> </p> 178 */ GetValidFrom()179 inline const Aws::Utils::DateTime& GetValidFrom() const{ return m_validFrom; } 180 181 /** 182 * <p>The starting date-time from which the certificate is valid.</p> <p>Example: 183 * <code>2019-07-31T17:57:09Z</code> </p> 184 */ ValidFromHasBeenSet()185 inline bool ValidFromHasBeenSet() const { return m_validFromHasBeenSet; } 186 187 /** 188 * <p>The starting date-time from which the certificate is valid.</p> <p>Example: 189 * <code>2019-07-31T17:57:09Z</code> </p> 190 */ SetValidFrom(const Aws::Utils::DateTime & value)191 inline void SetValidFrom(const Aws::Utils::DateTime& value) { m_validFromHasBeenSet = true; m_validFrom = value; } 192 193 /** 194 * <p>The starting date-time from which the certificate is valid.</p> <p>Example: 195 * <code>2019-07-31T17:57:09Z</code> </p> 196 */ SetValidFrom(Aws::Utils::DateTime && value)197 inline void SetValidFrom(Aws::Utils::DateTime&& value) { m_validFromHasBeenSet = true; m_validFrom = std::move(value); } 198 199 /** 200 * <p>The starting date-time from which the certificate is valid.</p> <p>Example: 201 * <code>2019-07-31T17:57:09Z</code> </p> 202 */ WithValidFrom(const Aws::Utils::DateTime & value)203 inline Certificate& WithValidFrom(const Aws::Utils::DateTime& value) { SetValidFrom(value); return *this;} 204 205 /** 206 * <p>The starting date-time from which the certificate is valid.</p> <p>Example: 207 * <code>2019-07-31T17:57:09Z</code> </p> 208 */ WithValidFrom(Aws::Utils::DateTime && value)209 inline Certificate& WithValidFrom(Aws::Utils::DateTime&& value) { SetValidFrom(std::move(value)); return *this;} 210 211 212 /** 213 * <p>The date-time after which the certificate is no longer valid.</p> <p>Example: 214 * <code>2024-07-31T17:57:09Z</code> </p> 215 */ GetValidTill()216 inline const Aws::Utils::DateTime& GetValidTill() const{ return m_validTill; } 217 218 /** 219 * <p>The date-time after which the certificate is no longer valid.</p> <p>Example: 220 * <code>2024-07-31T17:57:09Z</code> </p> 221 */ ValidTillHasBeenSet()222 inline bool ValidTillHasBeenSet() const { return m_validTillHasBeenSet; } 223 224 /** 225 * <p>The date-time after which the certificate is no longer valid.</p> <p>Example: 226 * <code>2024-07-31T17:57:09Z</code> </p> 227 */ SetValidTill(const Aws::Utils::DateTime & value)228 inline void SetValidTill(const Aws::Utils::DateTime& value) { m_validTillHasBeenSet = true; m_validTill = value; } 229 230 /** 231 * <p>The date-time after which the certificate is no longer valid.</p> <p>Example: 232 * <code>2024-07-31T17:57:09Z</code> </p> 233 */ SetValidTill(Aws::Utils::DateTime && value)234 inline void SetValidTill(Aws::Utils::DateTime&& value) { m_validTillHasBeenSet = true; m_validTill = std::move(value); } 235 236 /** 237 * <p>The date-time after which the certificate is no longer valid.</p> <p>Example: 238 * <code>2024-07-31T17:57:09Z</code> </p> 239 */ WithValidTill(const Aws::Utils::DateTime & value)240 inline Certificate& WithValidTill(const Aws::Utils::DateTime& value) { SetValidTill(value); return *this;} 241 242 /** 243 * <p>The date-time after which the certificate is no longer valid.</p> <p>Example: 244 * <code>2024-07-31T17:57:09Z</code> </p> 245 */ WithValidTill(Aws::Utils::DateTime && value)246 inline Certificate& WithValidTill(Aws::Utils::DateTime&& value) { SetValidTill(std::move(value)); return *this;} 247 248 249 /** 250 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 251 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 252 */ GetCertificateArn()253 inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; } 254 255 /** 256 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 257 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 258 */ CertificateArnHasBeenSet()259 inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } 260 261 /** 262 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 263 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 264 */ SetCertificateArn(const Aws::String & value)265 inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; } 266 267 /** 268 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 269 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 270 */ SetCertificateArn(Aws::String && value)271 inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); } 272 273 /** 274 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 275 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 276 */ SetCertificateArn(const char * value)277 inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); } 278 279 /** 280 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 281 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 282 */ WithCertificateArn(const Aws::String & value)283 inline Certificate& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;} 284 285 /** 286 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 287 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 288 */ WithCertificateArn(Aws::String && value)289 inline Certificate& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;} 290 291 /** 292 * <p>The Amazon Resource Name (ARN) for the certificate.</p> <p>Example: 293 * <code>arn:aws:rds:us-east-1::cert:rds-ca-2019</code> </p> 294 */ WithCertificateArn(const char * value)295 inline Certificate& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;} 296 297 private: 298 299 Aws::String m_certificateIdentifier; 300 bool m_certificateIdentifierHasBeenSet; 301 302 Aws::String m_certificateType; 303 bool m_certificateTypeHasBeenSet; 304 305 Aws::String m_thumbprint; 306 bool m_thumbprintHasBeenSet; 307 308 Aws::Utils::DateTime m_validFrom; 309 bool m_validFromHasBeenSet; 310 311 Aws::Utils::DateTime m_validTill; 312 bool m_validTillHasBeenSet; 313 314 Aws::String m_certificateArn; 315 bool m_certificateArnHasBeenSet; 316 }; 317 318 } // namespace Model 319 } // namespace DocDB 320 } // namespace Aws 321