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

The device attestation key (DAK) information.

See Also:

AWS * API Reference

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

The certificate ID for the DAK.

*/ inline const Aws::String& GetCertificateId() const{ return m_certificateId; } /** *

The certificate ID for the DAK.

*/ inline bool CertificateIdHasBeenSet() const { return m_certificateIdHasBeenSet; } /** *

The certificate ID for the DAK.

*/ inline void SetCertificateId(const Aws::String& value) { m_certificateIdHasBeenSet = true; m_certificateId = value; } /** *

The certificate ID for the DAK.

*/ inline void SetCertificateId(Aws::String&& value) { m_certificateIdHasBeenSet = true; m_certificateId = std::move(value); } /** *

The certificate ID for the DAK.

*/ inline void SetCertificateId(const char* value) { m_certificateIdHasBeenSet = true; m_certificateId.assign(value); } /** *

The certificate ID for the DAK.

*/ inline DakCertificateMetadata& WithCertificateId(const Aws::String& value) { SetCertificateId(value); return *this;} /** *

The certificate ID for the DAK.

*/ inline DakCertificateMetadata& WithCertificateId(Aws::String&& value) { SetCertificateId(std::move(value)); return *this;} /** *

The certificate ID for the DAK.

*/ inline DakCertificateMetadata& WithCertificateId(const char* value) { SetCertificateId(value); return *this;} /** *

The maximum number of signatures that the DAK can sign. A value of * -1 indicates that there's no device limit.

*/ inline int GetMaxAllowedSignature() const{ return m_maxAllowedSignature; } /** *

The maximum number of signatures that the DAK can sign. A value of * -1 indicates that there's no device limit.

*/ inline bool MaxAllowedSignatureHasBeenSet() const { return m_maxAllowedSignatureHasBeenSet; } /** *

The maximum number of signatures that the DAK can sign. A value of * -1 indicates that there's no device limit.

*/ inline void SetMaxAllowedSignature(int value) { m_maxAllowedSignatureHasBeenSet = true; m_maxAllowedSignature = value; } /** *

The maximum number of signatures that the DAK can sign. A value of * -1 indicates that there's no device limit.

*/ inline DakCertificateMetadata& WithMaxAllowedSignature(int value) { SetMaxAllowedSignature(value); return *this;} /** *

Whether factory support has been enabled.

*/ inline bool GetFactorySupport() const{ return m_factorySupport; } /** *

Whether factory support has been enabled.

*/ inline bool FactorySupportHasBeenSet() const { return m_factorySupportHasBeenSet; } /** *

Whether factory support has been enabled.

*/ inline void SetFactorySupport(bool value) { m_factorySupportHasBeenSet = true; m_factorySupport = value; } /** *

Whether factory support has been enabled.

*/ inline DakCertificateMetadata& WithFactorySupport(bool value) { SetFactorySupport(value); return *this;} /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline const Aws::String& GetApId() const{ return m_apId; } /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline bool ApIdHasBeenSet() const { return m_apIdHasBeenSet; } /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline void SetApId(const Aws::String& value) { m_apIdHasBeenSet = true; m_apId = value; } /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline void SetApId(Aws::String&& value) { m_apIdHasBeenSet = true; m_apId = std::move(value); } /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline void SetApId(const char* value) { m_apIdHasBeenSet = true; m_apId.assign(value); } /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline DakCertificateMetadata& WithApId(const Aws::String& value) { SetApId(value); return *this;} /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline DakCertificateMetadata& WithApId(Aws::String&& value) { SetApId(std::move(value)); return *this;} /** *

The advertised product ID (APID) that's used for pre-production and * production applications.

*/ inline DakCertificateMetadata& WithApId(const char* value) { SetApId(value); return *this;} /** *

The device type ID that's used for prototyping applications.

*/ inline const Aws::String& GetDeviceTypeId() const{ return m_deviceTypeId; } /** *

The device type ID that's used for prototyping applications.

*/ inline bool DeviceTypeIdHasBeenSet() const { return m_deviceTypeIdHasBeenSet; } /** *

The device type ID that's used for prototyping applications.

*/ inline void SetDeviceTypeId(const Aws::String& value) { m_deviceTypeIdHasBeenSet = true; m_deviceTypeId = value; } /** *

The device type ID that's used for prototyping applications.

*/ inline void SetDeviceTypeId(Aws::String&& value) { m_deviceTypeIdHasBeenSet = true; m_deviceTypeId = std::move(value); } /** *

The device type ID that's used for prototyping applications.

*/ inline void SetDeviceTypeId(const char* value) { m_deviceTypeIdHasBeenSet = true; m_deviceTypeId.assign(value); } /** *

The device type ID that's used for prototyping applications.

*/ inline DakCertificateMetadata& WithDeviceTypeId(const Aws::String& value) { SetDeviceTypeId(value); return *this;} /** *

The device type ID that's used for prototyping applications.

*/ inline DakCertificateMetadata& WithDeviceTypeId(Aws::String&& value) { SetDeviceTypeId(std::move(value)); return *this;} /** *

The device type ID that's used for prototyping applications.

*/ inline DakCertificateMetadata& WithDeviceTypeId(const char* value) { SetDeviceTypeId(value); return *this;} private: Aws::String m_certificateId; bool m_certificateIdHasBeenSet = false; int m_maxAllowedSignature; bool m_maxAllowedSignatureHasBeenSet = false; bool m_factorySupport; bool m_factorySupportHasBeenSet = false; Aws::String m_apId; bool m_apIdHasBeenSet = false; Aws::String m_deviceTypeId; bool m_deviceTypeIdHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws