/** * 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 namespace Aws { namespace QuickSight { namespace Model { /** */ class AWS_QUICKSIGHT_API CreateTemplateRequest : public QuickSightRequest { public: 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::String SerializePayload() const override; /** *

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS account that contains your Amazon QuickSight account.

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

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS account that contains your Amazon QuickSight account.

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

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS account that contains your Amazon QuickSight account.

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

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS 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 AWS account that the group is in. Currently, you use the ID * for the AWS account that contains your Amazon QuickSight account.

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

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS account that contains your Amazon QuickSight account.

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

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS account that contains your Amazon QuickSight account.

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

The ID for the AWS account that the group is in. Currently, you use the ID * for the AWS 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 * AWS Region in each AWS 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 * AWS Region in each AWS account.

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

An ID for the template that you want to create. This template is unique per * AWS Region in each AWS 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 * AWS Region in each AWS 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 * AWS Region in each AWS 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 * AWS Region in each AWS 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 * AWS Region in each AWS 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 * AWS Region in each AWS 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 AWS Account and * any QuickSight-supported AWS 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.

*/ 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 AWS Account and * any QuickSight-supported AWS 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.

*/ 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 AWS Account and * any QuickSight-supported AWS 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.

*/ 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 AWS Account and * any QuickSight-supported AWS 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.

*/ 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 AWS Account and * any QuickSight-supported AWS 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.

*/ 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 AWS Account and * any QuickSight-supported AWS 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.

*/ 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;} private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet; Aws::String m_templateId; bool m_templateIdHasBeenSet; Aws::String m_name; bool m_nameHasBeenSet; Aws::Vector m_permissions; bool m_permissionsHasBeenSet; TemplateSourceEntity m_sourceEntity; bool m_sourceEntityHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; Aws::String m_versionDescription; bool m_versionDescriptionHasBeenSet; }; } // namespace Model } // namespace QuickSight } // namespace Aws