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(Construct scope, String id)
      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      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
    • 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
    • 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
    • parameters

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

      The mapping used depends on the catalog type.

      • The HIVE data catalog type uses 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*

      • The LAMBDA data catalog type uses one of the following sets of required parameters, but not both.
      • When one Lambda function processes metadata and another Lambda function reads data, the following syntax is used. Both parameters are required.

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

      • A composite Lambda function that processes both metadata and data uses the following syntax.

      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 Glue 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.
      • Queries that specify a GLUE data catalog other than the default AwsDataCatalog must be run on Athena engine version 2.
      • In Regions where Athena engine version 2 is not available, creating new GLUE data catalogs results in an INVALID_INPUT error.

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

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

      The mapping used depends on the catalog type.

      • The HIVE data catalog type uses 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*

      • The LAMBDA data catalog type uses one of the following sets of required parameters, but not both.
      • When one Lambda function processes metadata and another Lambda function reads data, the following syntax is used. Both parameters are required.

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

      • A composite Lambda function that processes both metadata and data uses the following syntax.

      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 Glue 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.
      • Queries that specify a GLUE data catalog other than the default AwsDataCatalog must be run on Athena engine version 2.
      • In Regions where Athena engine version 2 is not available, creating new GLUE data catalogs results in an INVALID_INPUT error.

      Parameters:
      parameters - Specifies the Lambda function or functions to use for the data catalog. This parameter is required.
      Returns:
      this
    • 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
    • build

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