/** * 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 CreateThemeRequest : public QuickSightRequest { public: AWS_QUICKSIGHT_API CreateThemeRequest(); // 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 "CreateTheme"; } AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; /** *

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

The ID of the Amazon Web Services account where you want to store the new * theme.

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

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

*/ inline const Aws::String& GetThemeId() const{ return m_themeId; } /** *

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

*/ inline bool ThemeIdHasBeenSet() const { return m_themeIdHasBeenSet; } /** *

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

*/ inline void SetThemeId(const Aws::String& value) { m_themeIdHasBeenSet = true; m_themeId = value; } /** *

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

*/ inline void SetThemeId(Aws::String&& value) { m_themeIdHasBeenSet = true; m_themeId = std::move(value); } /** *

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

*/ inline void SetThemeId(const char* value) { m_themeIdHasBeenSet = true; m_themeId.assign(value); } /** *

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

*/ inline CreateThemeRequest& WithThemeId(const Aws::String& value) { SetThemeId(value); return *this;} /** *

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

*/ inline CreateThemeRequest& WithThemeId(Aws::String&& value) { SetThemeId(std::move(value)); return *this;} /** *

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

*/ inline CreateThemeRequest& WithThemeId(const char* value) { SetThemeId(value); return *this;} /** *

A display name for the theme.

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

A display name for the theme.

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

A display name for the theme.

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

A display name for the theme.

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

A display name for the theme.

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

A display name for the theme.

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

A display name for the theme.

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

A display name for the theme.

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

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline const Aws::String& GetBaseThemeId() const{ return m_baseThemeId; } /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline bool BaseThemeIdHasBeenSet() const { return m_baseThemeIdHasBeenSet; } /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline void SetBaseThemeId(const Aws::String& value) { m_baseThemeIdHasBeenSet = true; m_baseThemeId = value; } /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline void SetBaseThemeId(Aws::String&& value) { m_baseThemeIdHasBeenSet = true; m_baseThemeId = std::move(value); } /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline void SetBaseThemeId(const char* value) { m_baseThemeIdHasBeenSet = true; m_baseThemeId.assign(value); } /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline CreateThemeRequest& WithBaseThemeId(const Aws::String& value) { SetBaseThemeId(value); return *this;} /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline CreateThemeRequest& WithBaseThemeId(Aws::String&& value) { SetBaseThemeId(std::move(value)); return *this;} /** *

The ID of the theme that a custom theme will inherit from. All themes inherit * from one of the starting themes defined by Amazon QuickSight. For a list of the * starting themes, use ListThemes or choose Themes from within * an analysis.

*/ inline CreateThemeRequest& WithBaseThemeId(const char* value) { SetBaseThemeId(value); return *this;} /** *

A description of the first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has a description of the version in the * VersionDescription field.

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

A description of the first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has a description of the version in the * VersionDescription field.

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

A description of the first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has 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 first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has 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 first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has 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 first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has a description of the version in the * VersionDescription field.

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

A description of the first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has a description of the version in the * VersionDescription field.

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

A description of the first version of the theme that you're creating. Every * time UpdateTheme is called, a new version is created. Each version * of the theme has a description of the version in the * VersionDescription field.

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

The theme configuration, which contains the theme display properties.

*/ inline const ThemeConfiguration& GetConfiguration() const{ return m_configuration; } /** *

The theme configuration, which contains the theme display properties.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The theme configuration, which contains the theme display properties.

*/ inline void SetConfiguration(const ThemeConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The theme configuration, which contains the theme display properties.

*/ inline void SetConfiguration(ThemeConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The theme configuration, which contains the theme display properties.

*/ inline CreateThemeRequest& WithConfiguration(const ThemeConfiguration& value) { SetConfiguration(value); return *this;} /** *

The theme configuration, which contains the theme display properties.

*/ inline CreateThemeRequest& WithConfiguration(ThemeConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} /** *

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A valid grouping of resource permissions to apply to the new theme.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

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

A map of the key-value pairs for the resource tag or tags that you want to * add to the resource.

*/ inline CreateThemeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_themeId; bool m_themeIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_baseThemeId; bool m_baseThemeIdHasBeenSet = false; Aws::String m_versionDescription; bool m_versionDescriptionHasBeenSet = false; ThemeConfiguration m_configuration; bool m_configurationHasBeenSet = false; Aws::Vector m_permissions; bool m_permissionsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws