/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

A summary of information about a provisioning template.

See * Also:

AWS * API Reference

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

The ARN of the provisioning template.

*/ inline const Aws::String& GetTemplateArn() const{ return m_templateArn; } /** *

The ARN of the provisioning template.

*/ inline bool TemplateArnHasBeenSet() const { return m_templateArnHasBeenSet; } /** *

The ARN of the provisioning template.

*/ inline void SetTemplateArn(const Aws::String& value) { m_templateArnHasBeenSet = true; m_templateArn = value; } /** *

The ARN of the provisioning template.

*/ inline void SetTemplateArn(Aws::String&& value) { m_templateArnHasBeenSet = true; m_templateArn = std::move(value); } /** *

The ARN of the provisioning template.

*/ inline void SetTemplateArn(const char* value) { m_templateArnHasBeenSet = true; m_templateArn.assign(value); } /** *

The ARN of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithTemplateArn(const Aws::String& value) { SetTemplateArn(value); return *this;} /** *

The ARN of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithTemplateArn(Aws::String&& value) { SetTemplateArn(std::move(value)); return *this;} /** *

The ARN of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithTemplateArn(const char* value) { SetTemplateArn(value); return *this;} /** *

The name of the provisioning template.

*/ inline const Aws::String& GetTemplateName() const{ return m_templateName; } /** *

The name of the provisioning template.

*/ inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } /** *

The name of the provisioning template.

*/ inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; } /** *

The name of the provisioning template.

*/ inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); } /** *

The name of the provisioning template.

*/ inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); } /** *

The name of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;} /** *

The name of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;} /** *

The name of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithTemplateName(const char* value) { SetTemplateName(value); return *this;} /** *

The description of the provisioning template.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the provisioning template.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the provisioning template.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the provisioning template.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the provisioning template.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the provisioning template.

*/ inline ProvisioningTemplateSummary& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The date when the provisioning template summary was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date when the provisioning template summary was created.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The date when the provisioning template summary was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The date when the provisioning template summary was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The date when the provisioning template summary was created.

*/ inline ProvisioningTemplateSummary& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date when the provisioning template summary was created.

*/ inline ProvisioningTemplateSummary& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The date when the provisioning template summary was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The date when the provisioning template summary was last modified.

*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *

The date when the provisioning template summary was last modified.

*/ inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *

The date when the provisioning template summary was last modified.

*/ inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *

The date when the provisioning template summary was last modified.

*/ inline ProvisioningTemplateSummary& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

The date when the provisioning template summary was last modified.

*/ inline ProvisioningTemplateSummary& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *

True if the fleet provision template is enabled, otherwise false.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

True if the fleet provision template is enabled, otherwise false.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

True if the fleet provision template is enabled, otherwise false.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

True if the fleet provision template is enabled, otherwise false.

*/ inline ProvisioningTemplateSummary& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The type you define in a provisioning template. You can create a template * with only one type. You can't change the template type after its creation. The * default value is FLEET_PROVISIONING. For more information about * provisioning template, see: Provisioning * template.

*/ inline const TemplateType& GetType() const{ return m_type; } /** *

The type you define in a provisioning template. You can create a template * with only one type. You can't change the template type after its creation. The * default value is FLEET_PROVISIONING. For more information about * provisioning template, see: Provisioning * template.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type you define in a provisioning template. You can create a template * with only one type. You can't change the template type after its creation. The * default value is FLEET_PROVISIONING. For more information about * provisioning template, see: Provisioning * template.

*/ inline void SetType(const TemplateType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type you define in a provisioning template. You can create a template * with only one type. You can't change the template type after its creation. The * default value is FLEET_PROVISIONING. For more information about * provisioning template, see: Provisioning * template.

*/ inline void SetType(TemplateType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type you define in a provisioning template. You can create a template * with only one type. You can't change the template type after its creation. The * default value is FLEET_PROVISIONING. For more information about * provisioning template, see: Provisioning * template.

*/ inline ProvisioningTemplateSummary& WithType(const TemplateType& value) { SetType(value); return *this;} /** *

The type you define in a provisioning template. You can create a template * with only one type. You can't change the template type after its creation. The * default value is FLEET_PROVISIONING. For more information about * provisioning template, see: Provisioning * template.

*/ inline ProvisioningTemplateSummary& WithType(TemplateType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_templateArn; bool m_templateArnHasBeenSet = false; Aws::String m_templateName; bool m_templateNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Utils::DateTime m_creationDate; bool m_creationDateHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; TemplateType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws