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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the Amazon Web Services account to export assets from.

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

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline const Aws::String& GetAssetBundleExportJobId() const{ return m_assetBundleExportJobId; } /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline bool AssetBundleExportJobIdHasBeenSet() const { return m_assetBundleExportJobIdHasBeenSet; } /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline void SetAssetBundleExportJobId(const Aws::String& value) { m_assetBundleExportJobIdHasBeenSet = true; m_assetBundleExportJobId = value; } /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline void SetAssetBundleExportJobId(Aws::String&& value) { m_assetBundleExportJobIdHasBeenSet = true; m_assetBundleExportJobId = std::move(value); } /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline void SetAssetBundleExportJobId(const char* value) { m_assetBundleExportJobIdHasBeenSet = true; m_assetBundleExportJobId.assign(value); } /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline StartAssetBundleExportJobRequest& WithAssetBundleExportJobId(const Aws::String& value) { SetAssetBundleExportJobId(value); return *this;} /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline StartAssetBundleExportJobRequest& WithAssetBundleExportJobId(Aws::String&& value) { SetAssetBundleExportJobId(std::move(value)); return *this;} /** *

The ID of the job. This ID is unique while the job is running. After the job * is completed, you can reuse this ID for another job.

*/ inline StartAssetBundleExportJobRequest& WithAssetBundleExportJobId(const char* value) { SetAssetBundleExportJobId(value); return *this;} /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline const Aws::Vector& GetResourceArns() const{ return m_resourceArns; } /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; } /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline void SetResourceArns(const Aws::Vector& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = value; } /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline void SetResourceArns(Aws::Vector&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = std::move(value); } /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline StartAssetBundleExportJobRequest& WithResourceArns(const Aws::Vector& value) { SetResourceArns(value); return *this;} /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline StartAssetBundleExportJobRequest& WithResourceArns(Aws::Vector&& value) { SetResourceArns(std::move(value)); return *this;} /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline StartAssetBundleExportJobRequest& AddResourceArns(const Aws::String& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline StartAssetBundleExportJobRequest& AddResourceArns(Aws::String&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(std::move(value)); return *this; } /** *

An array of resource ARNs to export. The following resources are * supported.

  • Analysis

  • * Dashboard

  • DataSet

  • *

    DataSource

  • RefreshSchedule *

  • Theme

  • * VPCConnection

The API caller must have the * necessary permissions in their IAM role to access each resource before the * resources can be exported.

*/ inline StartAssetBundleExportJobRequest& AddResourceArns(const char* value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *

A Boolean that determines whether all dependencies of each resource ARN are * recursively exported with the job. For example, say you provided a Dashboard ARN * to the ResourceArns parameter. If you set * IncludeAllDependencies to TRUE, any theme, dataset, * and data source resource that is a dependency of the dashboard is also * exported.

*/ inline bool GetIncludeAllDependencies() const{ return m_includeAllDependencies; } /** *

A Boolean that determines whether all dependencies of each resource ARN are * recursively exported with the job. For example, say you provided a Dashboard ARN * to the ResourceArns parameter. If you set * IncludeAllDependencies to TRUE, any theme, dataset, * and data source resource that is a dependency of the dashboard is also * exported.

*/ inline bool IncludeAllDependenciesHasBeenSet() const { return m_includeAllDependenciesHasBeenSet; } /** *

A Boolean that determines whether all dependencies of each resource ARN are * recursively exported with the job. For example, say you provided a Dashboard ARN * to the ResourceArns parameter. If you set * IncludeAllDependencies to TRUE, any theme, dataset, * and data source resource that is a dependency of the dashboard is also * exported.

*/ inline void SetIncludeAllDependencies(bool value) { m_includeAllDependenciesHasBeenSet = true; m_includeAllDependencies = value; } /** *

A Boolean that determines whether all dependencies of each resource ARN are * recursively exported with the job. For example, say you provided a Dashboard ARN * to the ResourceArns parameter. If you set * IncludeAllDependencies to TRUE, any theme, dataset, * and data source resource that is a dependency of the dashboard is also * exported.

*/ inline StartAssetBundleExportJobRequest& WithIncludeAllDependencies(bool value) { SetIncludeAllDependencies(value); return *this;} /** *

The export data format.

*/ inline const AssetBundleExportFormat& GetExportFormat() const{ return m_exportFormat; } /** *

The export data format.

*/ inline bool ExportFormatHasBeenSet() const { return m_exportFormatHasBeenSet; } /** *

The export data format.

*/ inline void SetExportFormat(const AssetBundleExportFormat& value) { m_exportFormatHasBeenSet = true; m_exportFormat = value; } /** *

The export data format.

*/ inline void SetExportFormat(AssetBundleExportFormat&& value) { m_exportFormatHasBeenSet = true; m_exportFormat = std::move(value); } /** *

The export data format.

*/ inline StartAssetBundleExportJobRequest& WithExportFormat(const AssetBundleExportFormat& value) { SetExportFormat(value); return *this;} /** *

The export data format.

*/ inline StartAssetBundleExportJobRequest& WithExportFormat(AssetBundleExportFormat&& value) { SetExportFormat(std::move(value)); return *this;} /** *

An optional collection of structures that generate CloudFormation parameters * to override the existing resource property values when the resource is exported * to a new CloudFormation template.

Use this field if the * ExportFormat field of a * StartAssetBundleExportJobRequest API call is set to * CLOUDFORMATION_JSON.

*/ inline const AssetBundleCloudFormationOverridePropertyConfiguration& GetCloudFormationOverridePropertyConfiguration() const{ return m_cloudFormationOverridePropertyConfiguration; } /** *

An optional collection of structures that generate CloudFormation parameters * to override the existing resource property values when the resource is exported * to a new CloudFormation template.

Use this field if the * ExportFormat field of a * StartAssetBundleExportJobRequest API call is set to * CLOUDFORMATION_JSON.

*/ inline bool CloudFormationOverridePropertyConfigurationHasBeenSet() const { return m_cloudFormationOverridePropertyConfigurationHasBeenSet; } /** *

An optional collection of structures that generate CloudFormation parameters * to override the existing resource property values when the resource is exported * to a new CloudFormation template.

Use this field if the * ExportFormat field of a * StartAssetBundleExportJobRequest API call is set to * CLOUDFORMATION_JSON.

*/ inline void SetCloudFormationOverridePropertyConfiguration(const AssetBundleCloudFormationOverridePropertyConfiguration& value) { m_cloudFormationOverridePropertyConfigurationHasBeenSet = true; m_cloudFormationOverridePropertyConfiguration = value; } /** *

An optional collection of structures that generate CloudFormation parameters * to override the existing resource property values when the resource is exported * to a new CloudFormation template.

Use this field if the * ExportFormat field of a * StartAssetBundleExportJobRequest API call is set to * CLOUDFORMATION_JSON.

*/ inline void SetCloudFormationOverridePropertyConfiguration(AssetBundleCloudFormationOverridePropertyConfiguration&& value) { m_cloudFormationOverridePropertyConfigurationHasBeenSet = true; m_cloudFormationOverridePropertyConfiguration = std::move(value); } /** *

An optional collection of structures that generate CloudFormation parameters * to override the existing resource property values when the resource is exported * to a new CloudFormation template.

Use this field if the * ExportFormat field of a * StartAssetBundleExportJobRequest API call is set to * CLOUDFORMATION_JSON.

*/ inline StartAssetBundleExportJobRequest& WithCloudFormationOverridePropertyConfiguration(const AssetBundleCloudFormationOverridePropertyConfiguration& value) { SetCloudFormationOverridePropertyConfiguration(value); return *this;} /** *

An optional collection of structures that generate CloudFormation parameters * to override the existing resource property values when the resource is exported * to a new CloudFormation template.

Use this field if the * ExportFormat field of a * StartAssetBundleExportJobRequest API call is set to * CLOUDFORMATION_JSON.

*/ inline StartAssetBundleExportJobRequest& WithCloudFormationOverridePropertyConfiguration(AssetBundleCloudFormationOverridePropertyConfiguration&& value) { SetCloudFormationOverridePropertyConfiguration(std::move(value)); return *this;} private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_assetBundleExportJobId; bool m_assetBundleExportJobIdHasBeenSet = false; Aws::Vector m_resourceArns; bool m_resourceArnsHasBeenSet = false; bool m_includeAllDependencies; bool m_includeAllDependenciesHasBeenSet = false; AssetBundleExportFormat m_exportFormat; bool m_exportFormatHasBeenSet = false; AssetBundleCloudFormationOverridePropertyConfiguration m_cloudFormationOverridePropertyConfiguration; bool m_cloudFormationOverridePropertyConfigurationHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws