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

A template object. A template is an entity in Amazon QuickSight that * encapsulates the metadata required to create an analysis and that you can use to * create a dashboard. A template adds a layer of abstraction by using placeholders * to replace the dataset associated with an analysis. You can use templates to * create dashboards by replacing dataset placeholders with datasets that follow * the same schema that was used to create the source analysis and template.

*

You can share templates across Amazon Web Services accounts by allowing users * in other Amazon Web Services accounts to create a template or a dashboard from * an existing template.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the template.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline Template& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the template.

*/ inline Template& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the template.

*/ inline Template& WithArn(const char* value) { SetArn(value); return *this;} /** *

The display name of the template.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The display name of the template.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The display name of the template.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The display name of the template.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The display name of the template.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The display name of the template.

*/ inline Template& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The display name of the template.

*/ inline Template& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The display name of the template.

*/ inline Template& WithName(const char* value) { SetName(value); return *this;} /** *

A structure describing the versions of the template.

*/ inline const TemplateVersion& GetVersion() const{ return m_version; } /** *

A structure describing the versions of the template.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

A structure describing the versions of the template.

*/ inline void SetVersion(const TemplateVersion& value) { m_versionHasBeenSet = true; m_version = value; } /** *

A structure describing the versions of the template.

*/ inline void SetVersion(TemplateVersion&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

A structure describing the versions of the template.

*/ inline Template& WithVersion(const TemplateVersion& value) { SetVersion(value); return *this;} /** *

A structure describing the versions of the template.

*/ inline Template& WithVersion(TemplateVersion&& value) { SetVersion(std::move(value)); return *this;} /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline const Aws::String& GetTemplateId() const{ return m_templateId; } /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline bool TemplateIdHasBeenSet() const { return m_templateIdHasBeenSet; } /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline void SetTemplateId(const Aws::String& value) { m_templateIdHasBeenSet = true; m_templateId = value; } /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline void SetTemplateId(Aws::String&& value) { m_templateIdHasBeenSet = true; m_templateId = std::move(value); } /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline void SetTemplateId(const char* value) { m_templateIdHasBeenSet = true; m_templateId.assign(value); } /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline Template& WithTemplateId(const Aws::String& value) { SetTemplateId(value); return *this;} /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline Template& WithTemplateId(Aws::String&& value) { SetTemplateId(std::move(value)); return *this;} /** *

The ID for the template. This is unique per Amazon Web Services Region for * each Amazon Web Services account.

*/ inline Template& WithTemplateId(const char* value) { SetTemplateId(value); return *this;} /** *

Time when this was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *

Time when this was last updated.

*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *

Time when this was last updated.

*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *

Time when this was last updated.

*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *

Time when this was last updated.

*/ inline Template& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *

Time when this was last updated.

*/ inline Template& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *

Time when this was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

Time when this was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

Time when this was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

Time when this was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

Time when this was created.

*/ inline Template& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

Time when this was created.

*/ inline Template& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; TemplateVersion m_version; bool m_versionHasBeenSet = false; Aws::String m_templateId; bool m_templateIdHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws