/** * 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 { /** *

Provides access information used by the authorityInfoAccess and * subjectInfoAccess extensions described in RFC 5280.

See * Also:

AWS * API Reference

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

The type and format of AccessDescription information.

*/ inline const AccessMethod& GetAccessMethod() const{ return m_accessMethod; } /** *

The type and format of AccessDescription information.

*/ inline bool AccessMethodHasBeenSet() const { return m_accessMethodHasBeenSet; } /** *

The type and format of AccessDescription information.

*/ inline void SetAccessMethod(const AccessMethod& value) { m_accessMethodHasBeenSet = true; m_accessMethod = value; } /** *

The type and format of AccessDescription information.

*/ inline void SetAccessMethod(AccessMethod&& value) { m_accessMethodHasBeenSet = true; m_accessMethod = std::move(value); } /** *

The type and format of AccessDescription information.

*/ inline AccessDescription& WithAccessMethod(const AccessMethod& value) { SetAccessMethod(value); return *this;} /** *

The type and format of AccessDescription information.

*/ inline AccessDescription& WithAccessMethod(AccessMethod&& value) { SetAccessMethod(std::move(value)); return *this;} /** *

The location of AccessDescription information.

*/ inline const GeneralName& GetAccessLocation() const{ return m_accessLocation; } /** *

The location of AccessDescription information.

*/ inline bool AccessLocationHasBeenSet() const { return m_accessLocationHasBeenSet; } /** *

The location of AccessDescription information.

*/ inline void SetAccessLocation(const GeneralName& value) { m_accessLocationHasBeenSet = true; m_accessLocation = value; } /** *

The location of AccessDescription information.

*/ inline void SetAccessLocation(GeneralName&& value) { m_accessLocationHasBeenSet = true; m_accessLocation = std::move(value); } /** *

The location of AccessDescription information.

*/ inline AccessDescription& WithAccessLocation(const GeneralName& value) { SetAccessLocation(value); return *this;} /** *

The location of AccessDescription information.

*/ inline AccessDescription& WithAccessLocation(GeneralName&& value) { SetAccessLocation(std::move(value)); return *this;} private: AccessMethod m_accessMethod; bool m_accessMethodHasBeenSet = false; GeneralName m_accessLocation; bool m_accessLocationHasBeenSet = false; }; } // namespace Model } // namespace ACMPCA } // namespace Aws