/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace QuickSight { namespace Model { /** */ class CreateTemplateRequest : public QuickSightRequest { public: AWS_QUICKSIGHT_API CreateTemplateRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateTemplate"; } AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline CreateTemplateRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline CreateTemplateRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

The ID for the Amazon Web Services account that the group is in. You use the * ID for the Amazon Web Services account that contains your Amazon QuickSight * account.

*/ inline CreateTemplateRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

An ID for the template that you want to create. This template is unique per * Amazon Web Services Region; in each Amazon Web Services account.

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

A display name for the template.

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

A display name for the template.

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

A display name for the template.

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

A display name for the template.

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

A display name for the template.

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

A display name for the template.

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

A display name for the template.

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

A display name for the template.

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

A list of resource permissions to be set on the template.

*/ inline const Aws::Vector& GetPermissions() const{ return m_permissions; } /** *

A list of resource permissions to be set on the template.

*/ inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; } /** *

A list of resource permissions to be set on the template.

*/ inline void SetPermissions(const Aws::Vector& value) { m_permissionsHasBeenSet = true; m_permissions = value; } /** *

A list of resource permissions to be set on the template.

*/ inline void SetPermissions(Aws::Vector&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); } /** *

A list of resource permissions to be set on the template.

*/ inline CreateTemplateRequest& WithPermissions(const Aws::Vector& value) { SetPermissions(value); return *this;} /** *

A list of resource permissions to be set on the template.

*/ inline CreateTemplateRequest& WithPermissions(Aws::Vector&& value) { SetPermissions(std::move(value)); return *this;} /** *

A list of resource permissions to be set on the template.

*/ inline CreateTemplateRequest& AddPermissions(const ResourcePermission& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; } /** *

A list of resource permissions to be set on the template.

*/ inline CreateTemplateRequest& AddPermissions(ResourcePermission&& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(std::move(value)); return *this; } /** *

The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as * source: SourceTemplate for a template or * SourceAnalysis for an analysis. Both of these require an Amazon * Resource Name (ARN). For SourceTemplate, specify the ARN of the * source template. For SourceAnalysis, specify the ARN of the source * analysis. The SourceTemplate ARN can contain any Amazon Web * Services account and any Amazon QuickSight-supported Amazon Web Services Region. *

Use the DataSetReferences entity within * SourceTemplate or SourceAnalysis to list the * replacement datasets for the placeholders listed in the original. The schema in * each dataset must match its placeholder.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline const TemplateSourceEntity& GetSourceEntity() const{ return m_sourceEntity; } /** *

The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as * source: SourceTemplate for a template or * SourceAnalysis for an analysis. Both of these require an Amazon * Resource Name (ARN). For SourceTemplate, specify the ARN of the * source template. For SourceAnalysis, specify the ARN of the source * analysis. The SourceTemplate ARN can contain any Amazon Web * Services account and any Amazon QuickSight-supported Amazon Web Services Region. *

Use the DataSetReferences entity within * SourceTemplate or SourceAnalysis to list the * replacement datasets for the placeholders listed in the original. The schema in * each dataset must match its placeholder.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline bool SourceEntityHasBeenSet() const { return m_sourceEntityHasBeenSet; } /** *

The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as * source: SourceTemplate for a template or * SourceAnalysis for an analysis. Both of these require an Amazon * Resource Name (ARN). For SourceTemplate, specify the ARN of the * source template. For SourceAnalysis, specify the ARN of the source * analysis. The SourceTemplate ARN can contain any Amazon Web * Services account and any Amazon QuickSight-supported Amazon Web Services Region. *

Use the DataSetReferences entity within * SourceTemplate or SourceAnalysis to list the * replacement datasets for the placeholders listed in the original. The schema in * each dataset must match its placeholder.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline void SetSourceEntity(const TemplateSourceEntity& value) { m_sourceEntityHasBeenSet = true; m_sourceEntity = value; } /** *

The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as * source: SourceTemplate for a template or * SourceAnalysis for an analysis. Both of these require an Amazon * Resource Name (ARN). For SourceTemplate, specify the ARN of the * source template. For SourceAnalysis, specify the ARN of the source * analysis. The SourceTemplate ARN can contain any Amazon Web * Services account and any Amazon QuickSight-supported Amazon Web Services Region. *

Use the DataSetReferences entity within * SourceTemplate or SourceAnalysis to list the * replacement datasets for the placeholders listed in the original. The schema in * each dataset must match its placeholder.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline void SetSourceEntity(TemplateSourceEntity&& value) { m_sourceEntityHasBeenSet = true; m_sourceEntity = std::move(value); } /** *

The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as * source: SourceTemplate for a template or * SourceAnalysis for an analysis. Both of these require an Amazon * Resource Name (ARN). For SourceTemplate, specify the ARN of the * source template. For SourceAnalysis, specify the ARN of the source * analysis. The SourceTemplate ARN can contain any Amazon Web * Services account and any Amazon QuickSight-supported Amazon Web Services Region. *

Use the DataSetReferences entity within * SourceTemplate or SourceAnalysis to list the * replacement datasets for the placeholders listed in the original. The schema in * each dataset must match its placeholder.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline CreateTemplateRequest& WithSourceEntity(const TemplateSourceEntity& value) { SetSourceEntity(value); return *this;} /** *

The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as * source: SourceTemplate for a template or * SourceAnalysis for an analysis. Both of these require an Amazon * Resource Name (ARN). For SourceTemplate, specify the ARN of the * source template. For SourceAnalysis, specify the ARN of the source * analysis. The SourceTemplate ARN can contain any Amazon Web * Services account and any Amazon QuickSight-supported Amazon Web Services Region. *

Use the DataSetReferences entity within * SourceTemplate or SourceAnalysis to list the * replacement datasets for the placeholders listed in the original. The schema in * each dataset must match its placeholder.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline CreateTemplateRequest& WithSourceEntity(TemplateSourceEntity&& value) { SetSourceEntity(std::move(value)); return *this;} /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline CreateTemplateRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline CreateTemplateRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline CreateTemplateRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Contains a map of the key-value pairs for the resource tag or tags assigned * to the resource.

*/ inline CreateTemplateRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline const Aws::String& GetVersionDescription() const{ return m_versionDescription; } /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline bool VersionDescriptionHasBeenSet() const { return m_versionDescriptionHasBeenSet; } /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline void SetVersionDescription(const Aws::String& value) { m_versionDescriptionHasBeenSet = true; m_versionDescription = value; } /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline void SetVersionDescription(Aws::String&& value) { m_versionDescriptionHasBeenSet = true; m_versionDescription = std::move(value); } /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline void SetVersionDescription(const char* value) { m_versionDescriptionHasBeenSet = true; m_versionDescription.assign(value); } /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline CreateTemplateRequest& WithVersionDescription(const Aws::String& value) { SetVersionDescription(value); return *this;} /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline CreateTemplateRequest& WithVersionDescription(Aws::String&& value) { SetVersionDescription(std::move(value)); return *this;} /** *

A description of the current template version being created. This API * operation creates the first version of the template. Every time * UpdateTemplate is called, a new version is created. Each version of * the template maintains a description of the version in the * VersionDescription field.

*/ inline CreateTemplateRequest& WithVersionDescription(const char* value) { SetVersionDescription(value); return *this;} /** *

The definition of a template.

A definition is the data model of all * features in a Dashboard, Template, or Analysis.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline const TemplateVersionDefinition& GetDefinition() const{ return m_definition; } /** *

The definition of a template.

A definition is the data model of all * features in a Dashboard, Template, or Analysis.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } /** *

The definition of a template.

A definition is the data model of all * features in a Dashboard, Template, or Analysis.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline void SetDefinition(const TemplateVersionDefinition& value) { m_definitionHasBeenSet = true; m_definition = value; } /** *

The definition of a template.

A definition is the data model of all * features in a Dashboard, Template, or Analysis.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline void SetDefinition(TemplateVersionDefinition&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } /** *

The definition of a template.

A definition is the data model of all * features in a Dashboard, Template, or Analysis.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline CreateTemplateRequest& WithDefinition(const TemplateVersionDefinition& value) { SetDefinition(value); return *this;} /** *

The definition of a template.

A definition is the data model of all * features in a Dashboard, Template, or Analysis.

Either a * SourceEntity or a Definition must be provided in order * for the request to be valid.

*/ inline CreateTemplateRequest& WithDefinition(TemplateVersionDefinition&& value) { SetDefinition(std::move(value)); return *this;} private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_templateId; bool m_templateIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_permissions; bool m_permissionsHasBeenSet = false; TemplateSourceEntity m_sourceEntity; bool m_sourceEntityHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_versionDescription; bool m_versionDescriptionHasBeenSet = false; TemplateVersionDefinition m_definition; bool m_definitionHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws