Class CfnDataCatalogProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnDataCatalogProps>
- Enclosing interface:
CfnDataCatalogProps
CfnDataCatalogProps-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the configured instance.connectionType(String connectionType) Sets the value ofCfnDataCatalogProps.getConnectionType()description(String description) Sets the value ofCfnDataCatalogProps.getDescription()Sets the value ofCfnDataCatalogProps.getError()Sets the value ofCfnDataCatalogProps.getName()parameters(Map<String, String> parameters) Sets the value ofCfnDataCatalogProps.getParameters()parameters(IResolvable parameters) Sets the value ofCfnDataCatalogProps.getParameters()Sets the value ofCfnDataCatalogProps.getStatus()Sets the value ofCfnDataCatalogProps.getTags()Sets the value ofCfnDataCatalogProps.getType()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
name
Sets the value ofCfnDataCatalogProps.getName()- Parameters:
name- The name of the data catalog. This parameter is required. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.- Returns:
this
-
type
Sets the value ofCfnDataCatalogProps.getType()- Parameters:
type- The type of data catalog:LAMBDAfor a federated catalog,GLUEfor AWS Glue Catalog, orHIVEfor an external hive metastore. This parameter is required.- Returns:
this
-
connectionType
Sets the value ofCfnDataCatalogProps.getConnectionType()- Parameters:
connectionType- The type of connection for aFEDERATEDdata catalog (for example,REDSHIFT,MYSQL, orSQLSERVER). For information about individual connectors, see Available data source connectors .- Returns:
this
-
description
Sets the value ofCfnDataCatalogProps.getDescription()- Parameters:
description- A description of the data catalog.- Returns:
this
-
error
Sets the value ofCfnDataCatalogProps.getError()- Parameters:
error- Text of the error that occurred during data catalog creation or deletion.- Returns:
this
-
parameters
Sets the value ofCfnDataCatalogProps.getParameters()- Parameters:
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
HIVEdata catalog type, use the following syntax. Themetadata-functionparameter is required.The sdk-versionparameter is optional and defaults to the currently supported version.
metadata-function= *lambda_arn* , sdk-version= *version_number*- For the
LAMBDAdata 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
GLUEtype 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
GLUEdata catalog type also applies to the defaultAwsDataCatalogthat already exists in your account, of which you can have only one and cannot modify. - The
FEDERATEDdata catalog type uses one of the following parameters, but not both. Useconnection-arnfor an existing AWS Glue connection. Useconnection-typeandconnection-propertiesto 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\"}"- For the
- Returns:
this
-
parameters
Sets the value ofCfnDataCatalogProps.getParameters()- Parameters:
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
HIVEdata catalog type, use the following syntax. Themetadata-functionparameter is required.The sdk-versionparameter is optional and defaults to the currently supported version.
metadata-function= *lambda_arn* , sdk-version= *version_number*- For the
LAMBDAdata 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
GLUEtype 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
GLUEdata catalog type also applies to the defaultAwsDataCatalogthat already exists in your account, of which you can have only one and cannot modify. - The
FEDERATEDdata catalog type uses one of the following parameters, but not both. Useconnection-arnfor an existing AWS Glue connection. Useconnection-typeandconnection-propertiesto 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\"}"- For the
- Returns:
this
-
status
Sets the value ofCfnDataCatalogProps.getStatus()- Parameters:
status- The status of the creation or deletion of the data catalog.- The
LAMBDA,GLUE, andHIVEdata catalog types are created synchronously. Their status is eitherCREATE_COMPLETEorCREATE_FAILED. - The
FEDERATEDdata 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.
- The
- Returns:
this
-
tags
Sets the value ofCfnDataCatalogProps.getTags()- Parameters:
tags- The tags (key-value pairs) to associate with this resource.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CfnDataCatalogProps>- Returns:
- a new instance of
CfnDataCatalogProps - Throws:
NullPointerException- if any required attribute was not provided
-