/** * 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 RolesAnywhere { namespace Model { /** *

The data field of the trust anchor depending on its type.

See * Also:

AWS * API Reference

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

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline const Aws::String& GetAcmPcaArn() const{ return m_acmPcaArn; } /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline bool AcmPcaArnHasBeenSet() const { return m_acmPcaArnHasBeenSet; } /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline void SetAcmPcaArn(const Aws::String& value) { m_acmPcaArnHasBeenSet = true; m_acmPcaArn = value; } /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline void SetAcmPcaArn(Aws::String&& value) { m_acmPcaArnHasBeenSet = true; m_acmPcaArn = std::move(value); } /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline void SetAcmPcaArn(const char* value) { m_acmPcaArnHasBeenSet = true; m_acmPcaArn.assign(value); } /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline SourceData& WithAcmPcaArn(const Aws::String& value) { SetAcmPcaArn(value); return *this;} /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline SourceData& WithAcmPcaArn(Aws::String&& value) { SetAcmPcaArn(std::move(value)); return *this;} /** *

The root certificate of the Private Certificate Authority specified by this * ARN is used in trust validation for temporary credential requests. Included for * trust anchors of type AWS_ACM_PCA.

*/ inline SourceData& WithAcmPcaArn(const char* value) { SetAcmPcaArn(value); return *this;} /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline const Aws::String& GetX509CertificateData() const{ return m_x509CertificateData; } /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline bool X509CertificateDataHasBeenSet() const { return m_x509CertificateDataHasBeenSet; } /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline void SetX509CertificateData(const Aws::String& value) { m_x509CertificateDataHasBeenSet = true; m_x509CertificateData = value; } /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline void SetX509CertificateData(Aws::String&& value) { m_x509CertificateDataHasBeenSet = true; m_x509CertificateData = std::move(value); } /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline void SetX509CertificateData(const char* value) { m_x509CertificateDataHasBeenSet = true; m_x509CertificateData.assign(value); } /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline SourceData& WithX509CertificateData(const Aws::String& value) { SetX509CertificateData(value); return *this;} /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline SourceData& WithX509CertificateData(Aws::String&& value) { SetX509CertificateData(std::move(value)); return *this;} /** *

The PEM-encoded data for the certificate anchor. Included for trust anchors * of type CERTIFICATE_BUNDLE.

*/ inline SourceData& WithX509CertificateData(const char* value) { SetX509CertificateData(value); return *this;} private: Aws::String m_acmPcaArn; bool m_acmPcaArnHasBeenSet = false; Aws::String m_x509CertificateData; bool m_x509CertificateDataHasBeenSet = false; }; } // namespace Model } // namespace RolesAnywhere } // namespace Aws