/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ACMPCA { namespace Model { /** *

Validity specifies the period of time during which a certificate is valid. * Validity can be expressed as an explicit date and time when the validity of a * certificate starts or expires, or as a span of time after issuance, stated in * days, months, or years. For more information, see Validity in RFC * 5280.

Amazon Web Services Private CA API consumes the * Validity data type differently in two distinct parameters of the * IssueCertificate action. The required parameter * IssueCertificate:Validity specifies the end of a * certificate's validity period. The optional parameter * IssueCertificate:ValidityNotBefore specifies a * customized starting time for the validity period.

See Also:

AWS * API Reference

*/ class Validity { public: AWS_ACMPCA_API Validity(); AWS_ACMPCA_API Validity(Aws::Utils::Json::JsonView jsonValue); AWS_ACMPCA_API Validity& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ACMPCA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A long integer interpreted according to the value of Type, * below.

*/ inline long long GetValue() const{ return m_value; } /** *

A long integer interpreted according to the value of Type, * below.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

A long integer interpreted according to the value of Type, * below.

*/ inline void SetValue(long long value) { m_valueHasBeenSet = true; m_value = value; } /** *

A long integer interpreted according to the value of Type, * below.

*/ inline Validity& WithValue(long long value) { SetValue(value); return *this;} /** *

Determines how Amazon Web Services Private CA interprets the * Value parameter, an integer. Supported validity types include those * listed below. Type definitions with values include a sample input value and the * resulting output.

END_DATE: The specific date and time * when the certificate will expire, expressed using UTCTime (YYMMDDHHMMSS) or * GeneralizedTime (YYYYMMDDHHMMSS) format. When UTCTime is used, if the year field * (YY) is greater than or equal to 50, the year is interpreted as 19YY. If the * year field is less than 50, the year is interpreted as 20YY.

  • *

    Sample input value: 491231235959 (UTCTime format)

  • Output * expiration date/time: 12/31/2049 23:59:59

* ABSOLUTE: The specific date and time when the validity of a * certificate will start or expire, expressed in seconds since the Unix Epoch. *

  • Sample input value: 2524608000

  • Output * expiration date/time: 01/01/2050 00:00:00

DAYS, * MONTHS, YEARS: The relative time from the moment of * issuance until the certificate will expire, expressed in days, months, or years. *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

*
  • Sample input value: 90

  • Output expiration date: * 01/10/2020 12:34:54 UTC

The minimum validity duration for a * certificate using relative time (DAYS) is one day. The minimum * validity for a certificate using absolute time (ABSOLUTE or * END_DATE) is one second.

*/ inline const ValidityPeriodType& GetType() const{ return m_type; } /** *

Determines how Amazon Web Services Private CA interprets the * Value parameter, an integer. Supported validity types include those * listed below. Type definitions with values include a sample input value and the * resulting output.

END_DATE: The specific date and time * when the certificate will expire, expressed using UTCTime (YYMMDDHHMMSS) or * GeneralizedTime (YYYYMMDDHHMMSS) format. When UTCTime is used, if the year field * (YY) is greater than or equal to 50, the year is interpreted as 19YY. If the * year field is less than 50, the year is interpreted as 20YY.

  • *

    Sample input value: 491231235959 (UTCTime format)

  • Output * expiration date/time: 12/31/2049 23:59:59

* ABSOLUTE: The specific date and time when the validity of a * certificate will start or expire, expressed in seconds since the Unix Epoch. *

  • Sample input value: 2524608000

  • Output * expiration date/time: 01/01/2050 00:00:00

DAYS, * MONTHS, YEARS: The relative time from the moment of * issuance until the certificate will expire, expressed in days, months, or years. *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

*
  • Sample input value: 90

  • Output expiration date: * 01/10/2020 12:34:54 UTC

The minimum validity duration for a * certificate using relative time (DAYS) is one day. The minimum * validity for a certificate using absolute time (ABSOLUTE or * END_DATE) is one second.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Determines how Amazon Web Services Private CA interprets the * Value parameter, an integer. Supported validity types include those * listed below. Type definitions with values include a sample input value and the * resulting output.

END_DATE: The specific date and time * when the certificate will expire, expressed using UTCTime (YYMMDDHHMMSS) or * GeneralizedTime (YYYYMMDDHHMMSS) format. When UTCTime is used, if the year field * (YY) is greater than or equal to 50, the year is interpreted as 19YY. If the * year field is less than 50, the year is interpreted as 20YY.

  • *

    Sample input value: 491231235959 (UTCTime format)

  • Output * expiration date/time: 12/31/2049 23:59:59

* ABSOLUTE: The specific date and time when the validity of a * certificate will start or expire, expressed in seconds since the Unix Epoch. *

  • Sample input value: 2524608000

  • Output * expiration date/time: 01/01/2050 00:00:00

DAYS, * MONTHS, YEARS: The relative time from the moment of * issuance until the certificate will expire, expressed in days, months, or years. *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

*
  • Sample input value: 90

  • Output expiration date: * 01/10/2020 12:34:54 UTC

The minimum validity duration for a * certificate using relative time (DAYS) is one day. The minimum * validity for a certificate using absolute time (ABSOLUTE or * END_DATE) is one second.

*/ inline void SetType(const ValidityPeriodType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Determines how Amazon Web Services Private CA interprets the * Value parameter, an integer. Supported validity types include those * listed below. Type definitions with values include a sample input value and the * resulting output.

END_DATE: The specific date and time * when the certificate will expire, expressed using UTCTime (YYMMDDHHMMSS) or * GeneralizedTime (YYYYMMDDHHMMSS) format. When UTCTime is used, if the year field * (YY) is greater than or equal to 50, the year is interpreted as 19YY. If the * year field is less than 50, the year is interpreted as 20YY.

  • *

    Sample input value: 491231235959 (UTCTime format)

  • Output * expiration date/time: 12/31/2049 23:59:59

* ABSOLUTE: The specific date and time when the validity of a * certificate will start or expire, expressed in seconds since the Unix Epoch. *

  • Sample input value: 2524608000

  • Output * expiration date/time: 01/01/2050 00:00:00

DAYS, * MONTHS, YEARS: The relative time from the moment of * issuance until the certificate will expire, expressed in days, months, or years. *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

*
  • Sample input value: 90

  • Output expiration date: * 01/10/2020 12:34:54 UTC

The minimum validity duration for a * certificate using relative time (DAYS) is one day. The minimum * validity for a certificate using absolute time (ABSOLUTE or * END_DATE) is one second.

*/ inline void SetType(ValidityPeriodType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Determines how Amazon Web Services Private CA interprets the * Value parameter, an integer. Supported validity types include those * listed below. Type definitions with values include a sample input value and the * resulting output.

END_DATE: The specific date and time * when the certificate will expire, expressed using UTCTime (YYMMDDHHMMSS) or * GeneralizedTime (YYYYMMDDHHMMSS) format. When UTCTime is used, if the year field * (YY) is greater than or equal to 50, the year is interpreted as 19YY. If the * year field is less than 50, the year is interpreted as 20YY.

  • *

    Sample input value: 491231235959 (UTCTime format)

  • Output * expiration date/time: 12/31/2049 23:59:59

* ABSOLUTE: The specific date and time when the validity of a * certificate will start or expire, expressed in seconds since the Unix Epoch. *

  • Sample input value: 2524608000

  • Output * expiration date/time: 01/01/2050 00:00:00

DAYS, * MONTHS, YEARS: The relative time from the moment of * issuance until the certificate will expire, expressed in days, months, or years. *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

*
  • Sample input value: 90

  • Output expiration date: * 01/10/2020 12:34:54 UTC

The minimum validity duration for a * certificate using relative time (DAYS) is one day. The minimum * validity for a certificate using absolute time (ABSOLUTE or * END_DATE) is one second.

*/ inline Validity& WithType(const ValidityPeriodType& value) { SetType(value); return *this;} /** *

Determines how Amazon Web Services Private CA interprets the * Value parameter, an integer. Supported validity types include those * listed below. Type definitions with values include a sample input value and the * resulting output.

END_DATE: The specific date and time * when the certificate will expire, expressed using UTCTime (YYMMDDHHMMSS) or * GeneralizedTime (YYYYMMDDHHMMSS) format. When UTCTime is used, if the year field * (YY) is greater than or equal to 50, the year is interpreted as 19YY. If the * year field is less than 50, the year is interpreted as 20YY.

  • *

    Sample input value: 491231235959 (UTCTime format)

  • Output * expiration date/time: 12/31/2049 23:59:59

* ABSOLUTE: The specific date and time when the validity of a * certificate will start or expire, expressed in seconds since the Unix Epoch. *

  • Sample input value: 2524608000

  • Output * expiration date/time: 01/01/2050 00:00:00

DAYS, * MONTHS, YEARS: The relative time from the moment of * issuance until the certificate will expire, expressed in days, months, or years. *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

*
  • Sample input value: 90

  • Output expiration date: * 01/10/2020 12:34:54 UTC

The minimum validity duration for a * certificate using relative time (DAYS) is one day. The minimum * validity for a certificate using absolute time (ABSOLUTE or * END_DATE) is one second.

*/ inline Validity& WithType(ValidityPeriodType&& value) { SetType(std::move(value)); return *this;} private: long long m_value; bool m_valueHasBeenSet = false; ValidityPeriodType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ACMPCA } // namespace Aws