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

Specifies additional purposes for which the certified public key may be used * other than basic purposes indicated in the KeyUsage * extension.

See Also:

AWS * API Reference

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

Specifies a standard ExtendedKeyUsage as defined as in RFC * 5280.

*/ inline const ExtendedKeyUsageType& GetExtendedKeyUsageType() const{ return m_extendedKeyUsageType; } /** *

Specifies a standard ExtendedKeyUsage as defined as in RFC * 5280.

*/ inline bool ExtendedKeyUsageTypeHasBeenSet() const { return m_extendedKeyUsageTypeHasBeenSet; } /** *

Specifies a standard ExtendedKeyUsage as defined as in RFC * 5280.

*/ inline void SetExtendedKeyUsageType(const ExtendedKeyUsageType& value) { m_extendedKeyUsageTypeHasBeenSet = true; m_extendedKeyUsageType = value; } /** *

Specifies a standard ExtendedKeyUsage as defined as in RFC * 5280.

*/ inline void SetExtendedKeyUsageType(ExtendedKeyUsageType&& value) { m_extendedKeyUsageTypeHasBeenSet = true; m_extendedKeyUsageType = std::move(value); } /** *

Specifies a standard ExtendedKeyUsage as defined as in RFC * 5280.

*/ inline ExtendedKeyUsage& WithExtendedKeyUsageType(const ExtendedKeyUsageType& value) { SetExtendedKeyUsageType(value); return *this;} /** *

Specifies a standard ExtendedKeyUsage as defined as in RFC * 5280.

*/ inline ExtendedKeyUsage& WithExtendedKeyUsageType(ExtendedKeyUsageType&& value) { SetExtendedKeyUsageType(std::move(value)); return *this;} /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline const Aws::String& GetExtendedKeyUsageObjectIdentifier() const{ return m_extendedKeyUsageObjectIdentifier; } /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline bool ExtendedKeyUsageObjectIdentifierHasBeenSet() const { return m_extendedKeyUsageObjectIdentifierHasBeenSet; } /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline void SetExtendedKeyUsageObjectIdentifier(const Aws::String& value) { m_extendedKeyUsageObjectIdentifierHasBeenSet = true; m_extendedKeyUsageObjectIdentifier = value; } /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline void SetExtendedKeyUsageObjectIdentifier(Aws::String&& value) { m_extendedKeyUsageObjectIdentifierHasBeenSet = true; m_extendedKeyUsageObjectIdentifier = std::move(value); } /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline void SetExtendedKeyUsageObjectIdentifier(const char* value) { m_extendedKeyUsageObjectIdentifierHasBeenSet = true; m_extendedKeyUsageObjectIdentifier.assign(value); } /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline ExtendedKeyUsage& WithExtendedKeyUsageObjectIdentifier(const Aws::String& value) { SetExtendedKeyUsageObjectIdentifier(value); return *this;} /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline ExtendedKeyUsage& WithExtendedKeyUsageObjectIdentifier(Aws::String&& value) { SetExtendedKeyUsageObjectIdentifier(std::move(value)); return *this;} /** *

Specifies a custom ExtendedKeyUsage with an object identifier * (OID).

*/ inline ExtendedKeyUsage& WithExtendedKeyUsageObjectIdentifier(const char* value) { SetExtendedKeyUsageObjectIdentifier(value); return *this;} private: ExtendedKeyUsageType m_extendedKeyUsageType; bool m_extendedKeyUsageTypeHasBeenSet = false; Aws::String m_extendedKeyUsageObjectIdentifier; bool m_extendedKeyUsageObjectIdentifierHasBeenSet = false; }; } // namespace Model } // namespace ACMPCA } // namespace Aws