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

The trust anchor type and its related certificate data.

See * Also:

AWS * API Reference

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

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

*/ inline const SourceData& GetSourceData() const{ return m_sourceData; } /** *

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

*/ inline bool SourceDataHasBeenSet() const { return m_sourceDataHasBeenSet; } /** *

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

*/ inline void SetSourceData(const SourceData& value) { m_sourceDataHasBeenSet = true; m_sourceData = value; } /** *

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

*/ inline void SetSourceData(SourceData&& value) { m_sourceDataHasBeenSet = true; m_sourceData = std::move(value); } /** *

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

*/ inline Source& WithSourceData(const SourceData& value) { SetSourceData(value); return *this;} /** *

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

*/ inline Source& WithSourceData(SourceData&& value) { SetSourceData(std::move(value)); return *this;} /** *

The type of the trust anchor.

*/ inline const TrustAnchorType& GetSourceType() const{ return m_sourceType; } /** *

The type of the trust anchor.

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

The type of the trust anchor.

*/ inline void SetSourceType(const TrustAnchorType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

The type of the trust anchor.

*/ inline void SetSourceType(TrustAnchorType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

The type of the trust anchor.

*/ inline Source& WithSourceType(const TrustAnchorType& value) { SetSourceType(value); return *this;} /** *

The type of the trust anchor.

*/ inline Source& WithSourceType(TrustAnchorType&& value) { SetSourceType(std::move(value)); return *this;} private: SourceData m_sourceData; bool m_sourceDataHasBeenSet = false; TrustAnchorType m_sourceType; bool m_sourceTypeHasBeenSet = false; }; } // namespace Model } // namespace RolesAnywhere } // namespace Aws