/** * 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 CreateDataSourceFromRedshiftRequest : public MachineLearningRequest { public: AWS_MACHINELEARNING_API 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_MACHINELEARNING_API Aws::String SerializePayload() const override; AWS_MACHINELEARNING_API 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 = false; Aws::String m_dataSourceName; bool m_dataSourceNameHasBeenSet = false; RedshiftDataSpec m_dataSpec; bool m_dataSpecHasBeenSet = false; Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; bool m_computeStatistics; bool m_computeStatisticsHasBeenSet = false; }; } // namespace Model } // namespace MachineLearning } // namespace Aws