Class: AWSCDK::Athena::CfnDataCatalogProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Athena::CfnDataCatalogProps
- Defined in:
- athena/cfn_data_catalog_props.rb
Overview
Properties for defining a CfnDataCatalog.
Instance Attribute Summary collapse
-
#connection_type ⇒ String?
readonly
The type of connection for a
FEDERATEDdata catalog (for example,REDSHIFT,MYSQL, orSQLSERVER). -
#description ⇒ String?
readonly
A description of the data catalog.
-
#error ⇒ String?
readonly
Text of the error that occurred during data catalog creation or deletion.
-
#name ⇒ String
readonly
The name of the data catalog.
-
#parameters ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the Lambda function or functions to use for creating the data catalog.
-
#status ⇒ String?
readonly
The status of the creation or deletion of the data catalog.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
The tags (key-value pairs) to associate with this resource.
-
#type ⇒ String
readonly
The type of data catalog:
LAMBDAfor a federated catalog,GLUEfor AWS Glue Catalog, orHIVEfor an external hive metastore.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name:, type:, connection_type: nil, description: nil, error: nil, parameters: nil, status: nil, tags: nil) ⇒ CfnDataCatalogProps
constructor
A new instance of CfnDataCatalogProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(name:, type:, connection_type: nil, description: nil, error: nil, parameters: nil, status: nil, tags: nil) ⇒ CfnDataCatalogProps
Returns a new instance of CfnDataCatalogProps.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'athena/cfn_data_catalog_props.rb', line 17 def initialize(name:, type:, connection_type: nil, description: nil, error: nil, parameters: nil, status: nil, tags: nil) @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") @connection_type = connection_type Jsii::Type.check_type(@connection_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectionType") unless @connection_type.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @error = error Jsii::Type.check_type(@error, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "error") unless @error.nil? @parameters = parameters Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "parameters") unless @parameters.nil? @status = status Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#connection_type ⇒ String? (readonly)
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 .
54 55 56 |
# File 'athena/cfn_data_catalog_props.rb', line 54 def connection_type @connection_type end |
#description ⇒ String? (readonly)
A description of the data catalog.
59 60 61 |
# File 'athena/cfn_data_catalog_props.rb', line 59 def description @description end |
#error ⇒ String? (readonly)
Text of the error that occurred during data catalog creation or deletion.
64 65 66 |
# File 'athena/cfn_data_catalog_props.rb', line 64 def error @error end |
#name ⇒ String (readonly)
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.
42 43 44 |
# File 'athena/cfn_data_catalog_props.rb', line 42 def name @name end |
#parameters ⇒ AWSCDK::IResolvable, ... (readonly)
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\"}"
98 99 100 |
# File 'athena/cfn_data_catalog_props.rb', line 98 def parameters @parameters end |
#status ⇒ String? (readonly)
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.
121 122 123 |
# File 'athena/cfn_data_catalog_props.rb', line 121 def status @status end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
The tags (key-value pairs) to associate with this resource.
126 127 128 |
# File 'athena/cfn_data_catalog_props.rb', line 126 def @tags end |
#type ⇒ String (readonly)
The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
47 48 49 |
# File 'athena/cfn_data_catalog_props.rb', line 47 def type @type end |
Class Method Details
.jsii_properties ⇒ Object
128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'athena/cfn_data_catalog_props.rb', line 128 def self.jsii_properties { :name => "name", :type => "type", :connection_type => "connectionType", :description => "description", :error => "error", :parameters => "parameters", :status => "status", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'athena/cfn_data_catalog_props.rb', line 141 def to_jsii result = {} result.merge!({ "name" => @name, "type" => @type, "connectionType" => @connection_type, "description" => @description, "error" => @error, "parameters" => @parameters, "status" => @status, "tags" => @tags, }) result.compact end |