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

Describes the type and format of extension access. Only one of * CustomObjectIdentifier or AccessMethodType may be * provided. Providing both results in * InvalidArgsException.

See Also:

AWS * API Reference

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

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline const Aws::String& GetCustomObjectIdentifier() const{ return m_customObjectIdentifier; } /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline bool CustomObjectIdentifierHasBeenSet() const { return m_customObjectIdentifierHasBeenSet; } /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline void SetCustomObjectIdentifier(const Aws::String& value) { m_customObjectIdentifierHasBeenSet = true; m_customObjectIdentifier = value; } /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline void SetCustomObjectIdentifier(Aws::String&& value) { m_customObjectIdentifierHasBeenSet = true; m_customObjectIdentifier = std::move(value); } /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline void SetCustomObjectIdentifier(const char* value) { m_customObjectIdentifierHasBeenSet = true; m_customObjectIdentifier.assign(value); } /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline AccessMethod& WithCustomObjectIdentifier(const Aws::String& value) { SetCustomObjectIdentifier(value); return *this;} /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline AccessMethod& WithCustomObjectIdentifier(Aws::String&& value) { SetCustomObjectIdentifier(std::move(value)); return *this;} /** *

An object identifier (OID) specifying the AccessMethod. The OID * must satisfy the regular expression shown below. For more information, see * NIST's definition of Object Identifier * (OID).

*/ inline AccessMethod& WithCustomObjectIdentifier(const char* value) { SetCustomObjectIdentifier(value); return *this;} /** *

Specifies the AccessMethod.

*/ inline const AccessMethodType& GetAccessMethodType() const{ return m_accessMethodType; } /** *

Specifies the AccessMethod.

*/ inline bool AccessMethodTypeHasBeenSet() const { return m_accessMethodTypeHasBeenSet; } /** *

Specifies the AccessMethod.

*/ inline void SetAccessMethodType(const AccessMethodType& value) { m_accessMethodTypeHasBeenSet = true; m_accessMethodType = value; } /** *

Specifies the AccessMethod.

*/ inline void SetAccessMethodType(AccessMethodType&& value) { m_accessMethodTypeHasBeenSet = true; m_accessMethodType = std::move(value); } /** *

Specifies the AccessMethod.

*/ inline AccessMethod& WithAccessMethodType(const AccessMethodType& value) { SetAccessMethodType(value); return *this;} /** *

Specifies the AccessMethod.

*/ inline AccessMethod& WithAccessMethodType(AccessMethodType&& value) { SetAccessMethodType(std::move(value)); return *this;} private: Aws::String m_customObjectIdentifier; bool m_customObjectIdentifierHasBeenSet = false; AccessMethodType m_accessMethodType; bool m_accessMethodTypeHasBeenSet = false; }; } // namespace Model } // namespace ACMPCA } // namespace Aws