/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace MachineLearning { namespace Model { /** */ class AWS_MACHINELEARNING_API CreateDataSourceFromRedshiftRequest : public MachineLearningRequest { public: CreateDataSourceFromRedshiftRequest(); // 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 "CreateDataSourceFromRedshift"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline CreateDataSourceFromRedshiftRequest& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline CreateDataSourceFromRedshiftRequest& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} /** *

A user-supplied ID that uniquely identifies the DataSource.

*/ inline CreateDataSourceFromRedshiftRequest& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} /** *

A user-supplied name or description of the DataSource.

*/ inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } /** *

A user-supplied name or description of the DataSource.

*/ inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } /** *

A user-supplied name or description of the DataSource.

*/ inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } /** *

A user-supplied name or description of the DataSource.

*/ inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } /** *

A user-supplied name or description of the DataSource.

*/ inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } /** *

A user-supplied name or description of the DataSource.

*/ inline CreateDataSourceFromRedshiftRequest& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} /** *

A user-supplied name or description of the DataSource.

*/ inline CreateDataSourceFromRedshiftRequest& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} /** *

A user-supplied name or description of the DataSource.

*/ inline CreateDataSourceFromRedshiftRequest& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} /** *

The data specification of an Amazon Redshift DataSource:

*
  • DatabaseInformation -

    • DatabaseName - The name * of the Amazon Redshift database.
    • ClusterIdentifier - * The unique ID for the Amazon Redshift cluster.

  • *
  • DatabaseCredentials - The AWS Identity and Access Management (IAM) * credentials that are used to connect to the Amazon Redshift database.

  • *
  • SelectSqlQuery - The query that is used to retrieve the observation data * for the Datasource.

  • S3StagingLocation - The Amazon * Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. * The data retrieved from Amazon Redshift using the SelectSqlQuery * query is stored in this location.

  • DataSchemaUri - The Amazon S3 * location of the DataSchema.

  • DataSchema - A JSON * string representing the schema. This is not required if * DataSchemaUri is specified.

  • DataRearrangement - A * JSON string that represents the splitting and rearrangement requirements for the * DataSource.

    Sample - * "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"

  • *
*/ inline const RedshiftDataSpec& GetDataSpec() const{ return m_dataSpec; } /** *

The data specification of an Amazon Redshift DataSource:

*
  • DatabaseInformation -

    • DatabaseName - The name * of the Amazon Redshift database.
    • ClusterIdentifier - * The unique ID for the Amazon Redshift cluster.

  • *
  • DatabaseCredentials - The AWS Identity and Access Management (IAM) * credentials that are used to connect to the Amazon Redshift database.

  • *
  • SelectSqlQuery - The query that is used to retrieve the observation data * for the Datasource.

  • S3StagingLocation - The Amazon * Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. * The data retrieved from Amazon Redshift using the SelectSqlQuery * query is stored in this location.

  • DataSchemaUri - The Amazon S3 * location of the DataSchema.

  • DataSchema - A JSON * string representing the schema. This is not required if * DataSchemaUri is specified.

  • DataRearrangement - A * JSON string that represents the splitting and rearrangement requirements for the * DataSource.

    Sample - * "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"

  • *
*/ inline bool DataSpecHasBeenSet() const { return m_dataSpecHasBeenSet; } /** *

The data specification of an Amazon Redshift DataSource:

*
  • DatabaseInformation -

    • DatabaseName - The name * of the Amazon Redshift database.
    • ClusterIdentifier - * The unique ID for the Amazon Redshift cluster.

  • *
  • DatabaseCredentials - The AWS Identity and Access Management (IAM) * credentials that are used to connect to the Amazon Redshift database.

  • *
  • SelectSqlQuery - The query that is used to retrieve the observation data * for the Datasource.

  • S3StagingLocation - The Amazon * Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. * The data retrieved from Amazon Redshift using the SelectSqlQuery * query is stored in this location.

  • DataSchemaUri - The Amazon S3 * location of the DataSchema.

  • DataSchema - A JSON * string representing the schema. This is not required if * DataSchemaUri is specified.

  • DataRearrangement - A * JSON string that represents the splitting and rearrangement requirements for the * DataSource.

    Sample - * "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"

  • *
*/ inline void SetDataSpec(const RedshiftDataSpec& value) { m_dataSpecHasBeenSet = true; m_dataSpec = value; } /** *

The data specification of an Amazon Redshift DataSource:

*
  • DatabaseInformation -

    • DatabaseName - The name * of the Amazon Redshift database.
    • ClusterIdentifier - * The unique ID for the Amazon Redshift cluster.

  • *
  • DatabaseCredentials - The AWS Identity and Access Management (IAM) * credentials that are used to connect to the Amazon Redshift database.

  • *
  • SelectSqlQuery - The query that is used to retrieve the observation data * for the Datasource.

  • S3StagingLocation - The Amazon * Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. * The data retrieved from Amazon Redshift using the SelectSqlQuery * query is stored in this location.

  • DataSchemaUri - The Amazon S3 * location of the DataSchema.

  • DataSchema - A JSON * string representing the schema. This is not required if * DataSchemaUri is specified.

  • DataRearrangement - A * JSON string that represents the splitting and rearrangement requirements for the * DataSource.

    Sample - * "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"

  • *
*/ inline void SetDataSpec(RedshiftDataSpec&& value) { m_dataSpecHasBeenSet = true; m_dataSpec = std::move(value); } /** *

The data specification of an Amazon Redshift DataSource:

*
  • DatabaseInformation -

    • DatabaseName - The name * of the Amazon Redshift database.
    • ClusterIdentifier - * The unique ID for the Amazon Redshift cluster.

  • *
  • DatabaseCredentials - The AWS Identity and Access Management (IAM) * credentials that are used to connect to the Amazon Redshift database.

  • *
  • SelectSqlQuery - The query that is used to retrieve the observation data * for the Datasource.

  • S3StagingLocation - The Amazon * Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. * The data retrieved from Amazon Redshift using the SelectSqlQuery * query is stored in this location.

  • DataSchemaUri - The Amazon S3 * location of the DataSchema.

  • DataSchema - A JSON * string representing the schema. This is not required if * DataSchemaUri is specified.

  • DataRearrangement - A * JSON string that represents the splitting and rearrangement requirements for the * DataSource.

    Sample - * "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"

  • *
*/ inline CreateDataSourceFromRedshiftRequest& WithDataSpec(const RedshiftDataSpec& value) { SetDataSpec(value); return *this;} /** *

The data specification of an Amazon Redshift DataSource:

*
  • DatabaseInformation -

    • DatabaseName - The name * of the Amazon Redshift database.
    • ClusterIdentifier - * The unique ID for the Amazon Redshift cluster.

  • *
  • DatabaseCredentials - The AWS Identity and Access Management (IAM) * credentials that are used to connect to the Amazon Redshift database.

  • *
  • SelectSqlQuery - The query that is used to retrieve the observation data * for the Datasource.

  • S3StagingLocation - The Amazon * Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. * The data retrieved from Amazon Redshift using the SelectSqlQuery * query is stored in this location.

  • DataSchemaUri - The Amazon S3 * location of the DataSchema.

  • DataSchema - A JSON * string representing the schema. This is not required if * DataSchemaUri is specified.

  • DataRearrangement - A * JSON string that represents the splitting and rearrangement requirements for the * DataSource.

    Sample - * "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"

  • *
*/ inline CreateDataSourceFromRedshiftRequest& WithDataSpec(RedshiftDataSpec&& value) { SetDataSpec(std::move(value)); return *this;} /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline CreateDataSourceFromRedshiftRequest& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline CreateDataSourceFromRedshiftRequest& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role * on behalf of the user to create the following:

  • A security * group to allow Amazon ML to execute the SelectSqlQuery query on an * Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant * Amazon ML read/write permissions on the S3StagingLocation

  • *

*/ inline CreateDataSourceFromRedshiftRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} /** *

The compute statistics for a DataSource. The statistics are * generated from the observation data referenced by a DataSource. * Amazon ML uses the statistics internally during MLModel training. * This parameter must be set to true if the DataSource * needs to be used for MLModel training.

*/ inline bool GetComputeStatistics() const{ return m_computeStatistics; } /** *

The compute statistics for a DataSource. The statistics are * generated from the observation data referenced by a DataSource. * Amazon ML uses the statistics internally during MLModel training. * This parameter must be set to true if the DataSource * needs to be used for MLModel training.

*/ inline bool ComputeStatisticsHasBeenSet() const { return m_computeStatisticsHasBeenSet; } /** *

The compute statistics for a DataSource. The statistics are * generated from the observation data referenced by a DataSource. * Amazon ML uses the statistics internally during MLModel training. * This parameter must be set to true if the DataSource * needs to be used for MLModel training.

*/ inline void SetComputeStatistics(bool value) { m_computeStatisticsHasBeenSet = true; m_computeStatistics = value; } /** *

The compute statistics for a DataSource. The statistics are * generated from the observation data referenced by a DataSource. * Amazon ML uses the statistics internally during MLModel training. * This parameter must be set to true if the DataSource * needs to be used for MLModel training.

*/ inline CreateDataSourceFromRedshiftRequest& WithComputeStatistics(bool value) { SetComputeStatistics(value); return *this;} private: Aws::String m_dataSourceId; bool m_dataSourceIdHasBeenSet; Aws::String m_dataSourceName; bool m_dataSourceNameHasBeenSet; RedshiftDataSpec m_dataSpec; bool m_dataSpecHasBeenSet; Aws::String m_roleARN; bool m_roleARNHasBeenSet; bool m_computeStatistics; bool m_computeStatisticsHasBeenSet; }; } // namespace Model } // namespace MachineLearning } // namespace Aws