/**
* 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 ACM
{
namespace Model
{
/**
* Structure that contains options for your certificate. Currently, you can use
* this only to specify whether to opt in to or out of certificate transparency
* logging. Some browsers require that public certificates issued for your domain
* be recorded in a log. Certificates that are not logged typically generate a
* browser error. Transparency makes it possible for you to detect SSL/TLS
* certificates that have been mistakenly or maliciously issued for your domain.
* For general information, see Certificate
* Transparency Logging.
See Also:
AWS
* API Reference
*/
class CertificateOptions
{
public:
AWS_ACM_API CertificateOptions();
AWS_ACM_API CertificateOptions(Aws::Utils::Json::JsonView jsonValue);
AWS_ACM_API CertificateOptions& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_ACM_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* You can opt out of certificate transparency logging by specifying the
* DISABLED
option. Opt in by specifying ENABLED
.
*/
inline const CertificateTransparencyLoggingPreference& GetCertificateTransparencyLoggingPreference() const{ return m_certificateTransparencyLoggingPreference; }
/**
* You can opt out of certificate transparency logging by specifying the
* DISABLED
option. Opt in by specifying ENABLED
.
*/
inline bool CertificateTransparencyLoggingPreferenceHasBeenSet() const { return m_certificateTransparencyLoggingPreferenceHasBeenSet; }
/**
* You can opt out of certificate transparency logging by specifying the
* DISABLED
option. Opt in by specifying ENABLED
.
*/
inline void SetCertificateTransparencyLoggingPreference(const CertificateTransparencyLoggingPreference& value) { m_certificateTransparencyLoggingPreferenceHasBeenSet = true; m_certificateTransparencyLoggingPreference = value; }
/**
* You can opt out of certificate transparency logging by specifying the
* DISABLED
option. Opt in by specifying ENABLED
.
*/
inline void SetCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference&& value) { m_certificateTransparencyLoggingPreferenceHasBeenSet = true; m_certificateTransparencyLoggingPreference = std::move(value); }
/**
* You can opt out of certificate transparency logging by specifying the
* DISABLED
option. Opt in by specifying ENABLED
.
*/
inline CertificateOptions& WithCertificateTransparencyLoggingPreference(const CertificateTransparencyLoggingPreference& value) { SetCertificateTransparencyLoggingPreference(value); return *this;}
/**
* You can opt out of certificate transparency logging by specifying the
* DISABLED
option. Opt in by specifying ENABLED
.
*/
inline CertificateOptions& WithCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference&& value) { SetCertificateTransparencyLoggingPreference(std::move(value)); return *this;}
private:
CertificateTransparencyLoggingPreference m_certificateTransparencyLoggingPreference;
bool m_certificateTransparencyLoggingPreferenceHasBeenSet = false;
};
} // namespace Model
} // namespace ACM
} // namespace Aws