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

Contains X.509 certificate information to be placed in an issued certificate. * An APIPassthrough or APICSRPassthrough template * variant must be selected, or else this parameter is ignored.

If * conflicting or duplicate certificate information is supplied from other sources, * Amazon Web Services Private CA applies order * of operation rules to determine what information is used.

See * Also:

AWS * API Reference

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

Specifies X.509 extension information for a certificate.

*/ inline const Extensions& GetExtensions() const{ return m_extensions; } /** *

Specifies X.509 extension information for a certificate.

*/ inline bool ExtensionsHasBeenSet() const { return m_extensionsHasBeenSet; } /** *

Specifies X.509 extension information for a certificate.

*/ inline void SetExtensions(const Extensions& value) { m_extensionsHasBeenSet = true; m_extensions = value; } /** *

Specifies X.509 extension information for a certificate.

*/ inline void SetExtensions(Extensions&& value) { m_extensionsHasBeenSet = true; m_extensions = std::move(value); } /** *

Specifies X.509 extension information for a certificate.

*/ inline ApiPassthrough& WithExtensions(const Extensions& value) { SetExtensions(value); return *this;} /** *

Specifies X.509 extension information for a certificate.

*/ inline ApiPassthrough& WithExtensions(Extensions&& value) { SetExtensions(std::move(value)); return *this;} inline const ASN1Subject& GetSubject() const{ return m_subject; } inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; } inline void SetSubject(const ASN1Subject& value) { m_subjectHasBeenSet = true; m_subject = value; } inline void SetSubject(ASN1Subject&& value) { m_subjectHasBeenSet = true; m_subject = std::move(value); } inline ApiPassthrough& WithSubject(const ASN1Subject& value) { SetSubject(value); return *this;} inline ApiPassthrough& WithSubject(ASN1Subject&& value) { SetSubject(std::move(value)); return *this;} private: Extensions m_extensions; bool m_extensionsHasBeenSet = false; ASN1Subject m_subject; bool m_subjectHasBeenSet = false; }; } // namespace Model } // namespace ACMPCA } // namespace Aws