Class CfnDataCatalog.Builder

java.lang.Object
software.amazon.awscdk.services.athena.CfnDataCatalog.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnDataCatalog>
Enclosing class:
CfnDataCatalog

@Stability(Stable) public static final class CfnDataCatalog.Builder extends Object implements software.amazon.jsii.Builder<CfnDataCatalog>
A fluent builder for CfnDataCatalog.
  • Method Details

    • create

      @Stability(Stable) public static CfnDataCatalog.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      Returns:
      a new instance of CfnDataCatalog.Builder.
    • name

      @Stability(Stable) public CfnDataCatalog.Builder name(String name)
      The name of the data catalog.

      The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

      Parameters:
      name - The name of the data catalog. This parameter is required.
      Returns:
      this
      See Also:
    • type

      @Stability(Stable) public CfnDataCatalog.Builder type(String type)
      The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.

      Parameters:
      type - The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. This parameter is required.
      Returns:
      this
      See Also:
    • connectionType

      @Stability(Stable) public CfnDataCatalog.Builder connectionType(String connectionType)
      The type of connection for a FEDERATED data catalog (for example, REDSHIFT , MYSQL , or SQLSERVER ).

      For information about individual connectors, see Available data source connectors .

      Parameters:
      connectionType - The type of connection for a FEDERATED data catalog (for example, REDSHIFT , MYSQL , or SQLSERVER ). This parameter is required.
      Returns:
      this
      See Also:
    • description

      @Stability(Stable) public CfnDataCatalog.Builder description(String description)
      A description of the data catalog.

      Parameters:
      description - A description of the data catalog. This parameter is required.
      Returns:
      this
      See Also:
    • error

      @Stability(Stable) public CfnDataCatalog.Builder error(String error)
      Text of the error that occurred during data catalog creation or deletion.

      Parameters:
      error - Text of the error that occurred during data catalog creation or deletion. This parameter is required.
      Returns:
      this
      See Also:
    • parameters

      @Stability(Stable) public CfnDataCatalog.Builder parameters(Map<String,String> parameters)
      Specifies the Lambda function or functions to use for creating the data catalog.

      This is a mapping whose values depend on the catalog type.

      • For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version.

      metadata-function= *lambda_arn* , sdk-version= *version_number*

      • For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both.
      • If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.

      metadata-function= *lambda_arn* , record-function= *lambda_arn*

      • If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.

      function= *lambda_arn*

      • The GLUE type takes a catalog ID parameter and is required. The *catalog_id* is the account ID of the AWS account to which the AWS Glue Data Catalog belongs.

      catalog-id= *catalog_id*

      • The GLUE data catalog type also applies to the default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.
      • The FEDERATED data catalog type uses one of the following parameters, but not both. Use connection-arn for an existing AWS Glue connection. Use connection-type and connection-properties to specify the configuration setting for a new connection.
      • connection-arn: *<glue_connection_arn_to_reuse>*
      • lambda-role-arn (optional): The execution role to use for the Lambda function. If not provided, one is created.
      • connection-type:MYSQL|REDSHIFT|...., connection-properties:" *<json_string>* "

      For <json_string> , use escaped JSON text, as in the following example.

      "{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"

      Parameters:
      parameters - Specifies the Lambda function or functions to use for creating the data catalog. This parameter is required.
      Returns:
      this
      See Also:
    • parameters

      @Stability(Stable) public CfnDataCatalog.Builder parameters(IResolvable parameters)
      Specifies the Lambda function or functions to use for creating the data catalog.

      This is a mapping whose values depend on the catalog type.

      • For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version.

      metadata-function= *lambda_arn* , sdk-version= *version_number*

      • For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both.
      • If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.

      metadata-function= *lambda_arn* , record-function= *lambda_arn*

      • If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.

      function= *lambda_arn*

      • The GLUE type takes a catalog ID parameter and is required. The *catalog_id* is the account ID of the AWS account to which the AWS Glue Data Catalog belongs.

      catalog-id= *catalog_id*

      • The GLUE data catalog type also applies to the default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.
      • The FEDERATED data catalog type uses one of the following parameters, but not both. Use connection-arn for an existing AWS Glue connection. Use connection-type and connection-properties to specify the configuration setting for a new connection.
      • connection-arn: *<glue_connection_arn_to_reuse>*
      • lambda-role-arn (optional): The execution role to use for the Lambda function. If not provided, one is created.
      • connection-type:MYSQL|REDSHIFT|...., connection-properties:" *<json_string>* "

      For <json_string> , use escaped JSON text, as in the following example.

      "{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"

      Parameters:
      parameters - Specifies the Lambda function or functions to use for creating the data catalog. This parameter is required.
      Returns:
      this
      See Also:
    • status

      @Stability(Stable) public CfnDataCatalog.Builder status(String status)
      The status of the creation or deletion of the data catalog.

      • The LAMBDA , GLUE , and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED .
      • The FEDERATED data catalog type is created asynchronously.

      Data catalog creation status:

      • CREATE_IN_PROGRESS : Federated data catalog creation in progress.
      • CREATE_COMPLETE : Data catalog creation complete.
      • CREATE_FAILED : Data catalog could not be created.
      • CREATE_FAILED_CLEANUP_IN_PROGRESS : Federated data catalog creation failed and is being removed.
      • CREATE_FAILED_CLEANUP_COMPLETE : Federated data catalog creation failed and was removed.
      • CREATE_FAILED_CLEANUP_FAILED : Federated data catalog creation failed but could not be removed.

      Data catalog deletion status:

      • DELETE_IN_PROGRESS : Federated data catalog deletion in progress.
      • DELETE_COMPLETE : Federated data catalog deleted.
      • DELETE_FAILED : Federated data catalog could not be deleted.

      Parameters:
      status - The status of the creation or deletion of the data catalog. This parameter is required.
      Returns:
      this
      See Also:
    • tags

      @Stability(Stable) public CfnDataCatalog.Builder tags(List<? extends CfnTag> tags)
      The tags (key-value pairs) to associate with this resource.

      Parameters:
      tags - The tags (key-value pairs) to associate with this resource. This parameter is required.
      Returns:
      this
      See Also:
    • build

      @Stability(Stable) public CfnDataCatalog build()
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnDataCatalog>
      Returns:
      a newly built instance of CfnDataCatalog.