/** * 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 #include namespace Aws { namespace QuickSight { namespace Model { /** */ class CreateAnalysisRequest : public QuickSightRequest { public: AWS_QUICKSIGHT_API CreateAnalysisRequest(); // 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 "CreateAnalysis"; } AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; /** *

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID of the Amazon Web Services account where you are creating an * analysis.

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

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline const Aws::String& GetAnalysisId() const{ return m_analysisId; } /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline bool AnalysisIdHasBeenSet() const { return m_analysisIdHasBeenSet; } /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline void SetAnalysisId(const Aws::String& value) { m_analysisIdHasBeenSet = true; m_analysisId = value; } /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline void SetAnalysisId(Aws::String&& value) { m_analysisIdHasBeenSet = true; m_analysisId = std::move(value); } /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline void SetAnalysisId(const char* value) { m_analysisIdHasBeenSet = true; m_analysisId.assign(value); } /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline CreateAnalysisRequest& WithAnalysisId(const Aws::String& value) { SetAnalysisId(value); return *this;} /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline CreateAnalysisRequest& WithAnalysisId(Aws::String&& value) { SetAnalysisId(std::move(value)); return *this;} /** *

The ID for the analysis that you're creating. This ID displays in the URL of * the analysis.

*/ inline CreateAnalysisRequest& WithAnalysisId(const char* value) { SetAnalysisId(value); return *this;} /** *

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

A descriptive name for the analysis that you're creating. This name displays * for the analysis in the Amazon QuickSight console.

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

The parameter names and override values that you want to use. An analysis can * have any parameter type, and some parameters might accept multiple values.

*/ inline const Parameters& GetParameters() const{ return m_parameters; } /** *

The parameter names and override values that you want to use. An analysis can * have any parameter type, and some parameters might accept multiple values.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

The parameter names and override values that you want to use. An analysis can * have any parameter type, and some parameters might accept multiple values.

*/ inline void SetParameters(const Parameters& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

The parameter names and override values that you want to use. An analysis can * have any parameter type, and some parameters might accept multiple values.

*/ inline void SetParameters(Parameters&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

The parameter names and override values that you want to use. An analysis can * have any parameter type, and some parameters might accept multiple values.

*/ inline CreateAnalysisRequest& WithParameters(const Parameters& value) { SetParameters(value); return *this;} /** *

The parameter names and override values that you want to use. An analysis can * have any parameter type, and some parameters might accept multiple values.

*/ inline CreateAnalysisRequest& WithParameters(Parameters&& value) { SetParameters(std::move(value)); return *this;} /** *

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A structure that describes the principals and the resource-level permissions * on an analysis. You can use the Permissions structure to grant * permissions by providing a list of Identity and Access Management (IAM) action * information for each principal listed by Amazon Resource Name (ARN).

To * specify no permissions, omit Permissions.

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

A source entity to use for the analysis that you're creating. This metadata * structure contains details that describe a source template and one or more * datasets.

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

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

A source entity to use for the analysis that you're creating. This metadata * structure contains details that describe a source template and one or more * datasets.

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

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

A source entity to use for the analysis that you're creating. This metadata * structure contains details that describe a source template and one or more * datasets.

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

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

A source entity to use for the analysis that you're creating. This metadata * structure contains details that describe a source template and one or more * datasets.

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

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

A source entity to use for the analysis that you're creating. This metadata * structure contains details that describe a source template and one or more * datasets.

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

*/ inline CreateAnalysisRequest& WithSourceEntity(const AnalysisSourceEntity& value) { SetSourceEntity(value); return *this;} /** *

A source entity to use for the analysis that you're creating. This metadata * structure contains details that describe a source template and one or more * datasets.

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

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

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline const Aws::String& GetThemeArn() const{ return m_themeArn; } /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline bool ThemeArnHasBeenSet() const { return m_themeArnHasBeenSet; } /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline void SetThemeArn(const Aws::String& value) { m_themeArnHasBeenSet = true; m_themeArn = value; } /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline void SetThemeArn(Aws::String&& value) { m_themeArnHasBeenSet = true; m_themeArn = std::move(value); } /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline void SetThemeArn(const char* value) { m_themeArnHasBeenSet = true; m_themeArn.assign(value); } /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline CreateAnalysisRequest& WithThemeArn(const Aws::String& value) { SetThemeArn(value); return *this;} /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline CreateAnalysisRequest& WithThemeArn(Aws::String&& value) { SetThemeArn(std::move(value)); return *this;} /** *

The ARN for the theme to apply to the analysis that you're creating. To see * the theme in the Amazon QuickSight console, make sure that you have access to * it.

*/ inline CreateAnalysisRequest& WithThemeArn(const char* value) { SetThemeArn(value); return *this;} /** *

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

*/ 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 analysis.

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

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

*/ 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 analysis.

*/ 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 analysis.

*/ inline CreateAnalysisRequest& 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 analysis.

*/ inline CreateAnalysisRequest& 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 analysis.

*/ inline CreateAnalysisRequest& 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 analysis.

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

The definition of an analysis.

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 AnalysisDefinition& GetDefinition() const{ return m_definition; } /** *

The definition of an analysis.

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 an analysis.

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 AnalysisDefinition& value) { m_definitionHasBeenSet = true; m_definition = value; } /** *

The definition of an analysis.

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(AnalysisDefinition&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } /** *

The definition of an analysis.

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 CreateAnalysisRequest& WithDefinition(const AnalysisDefinition& value) { SetDefinition(value); return *this;} /** *

The definition of an analysis.

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 CreateAnalysisRequest& WithDefinition(AnalysisDefinition&& value) { SetDefinition(std::move(value)); return *this;} private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_analysisId; bool m_analysisIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Parameters m_parameters; bool m_parametersHasBeenSet = false; Aws::Vector m_permissions; bool m_permissionsHasBeenSet = false; AnalysisSourceEntity m_sourceEntity; bool m_sourceEntityHasBeenSet = false; Aws::String m_themeArn; bool m_themeArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; AnalysisDefinition m_definition; bool m_definitionHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws