Class: AWSCDK::Glue::CfnCatalogProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
glue/cfn_catalog_props.rb

Overview

Properties for defining a CfnCatalog.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, allow_full_table_external_data_access: nil, catalog_properties: nil, create_database_default_permissions: nil, create_table_default_permissions: nil, description: nil, federated_catalog: nil, overwrite_child_resource_permissions_with_default: nil, parameters: nil, tags: nil, target_redshift_catalog: nil) ⇒ CfnCatalogProps

Returns a new instance of CfnCatalogProps.

Parameters:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'glue/cfn_catalog_props.rb', line 20

def initialize(name:, allow_full_table_external_data_access: nil, catalog_properties: nil, create_database_default_permissions: nil, create_table_default_permissions: nil, description: nil, federated_catalog: nil, overwrite_child_resource_permissions_with_default: nil, parameters: nil, tags: nil, target_redshift_catalog: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @allow_full_table_external_data_access = allow_full_table_external_data_access
  Jsii::Type.check_type(@allow_full_table_external_data_access, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "allowFullTableExternalDataAccess") unless @allow_full_table_external_data_access.nil?
  @catalog_properties = catalog_properties.is_a?(Hash) ? ::AWSCDK::Glue::CfnCatalog::CatalogPropertiesProperty.new(**catalog_properties.transform_keys(&:to_sym)) : catalog_properties
  Jsii::Type.check_type(@catalog_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmbkNhdGFsb2cuQ2F0YWxvZ1Byb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "catalogProperties") unless @catalog_properties.nil?
  @create_database_default_permissions = create_database_default_permissions
  Jsii::Type.check_type(@create_database_default_permissions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2x1ZS5DZm5DYXRhbG9nLlByaW5jaXBhbFBlcm1pc3Npb25zUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "createDatabaseDefaultPermissions") unless @create_database_default_permissions.nil?
  @create_table_default_permissions = create_table_default_permissions
  Jsii::Type.check_type(@create_table_default_permissions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2x1ZS5DZm5DYXRhbG9nLlByaW5jaXBhbFBlcm1pc3Npb25zUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "createTableDefaultPermissions") unless @create_table_default_permissions.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @federated_catalog = federated_catalog.is_a?(Hash) ? ::AWSCDK::Glue::CfnCatalog::FederatedCatalogProperty.new(**federated_catalog.transform_keys(&:to_sym)) : federated_catalog
  Jsii::Type.check_type(@federated_catalog, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmbkNhdGFsb2cuRmVkZXJhdGVkQ2F0YWxvZ1Byb3BlcnR5In1dfX0=")), "federatedCatalog") unless @federated_catalog.nil?
  @overwrite_child_resource_permissions_with_default = overwrite_child_resource_permissions_with_default
  Jsii::Type.check_type(@overwrite_child_resource_permissions_with_default, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "overwriteChildResourcePermissionsWithDefault") unless @overwrite_child_resource_permissions_with_default.nil?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "parameters") unless @parameters.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @target_redshift_catalog = target_redshift_catalog.is_a?(Hash) ? ::AWSCDK::Glue::CfnCatalog::TargetRedshiftCatalogProperty.new(**target_redshift_catalog.transform_keys(&:to_sym)) : target_redshift_catalog
  Jsii::Type.check_type(@target_redshift_catalog, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmbkNhdGFsb2cuVGFyZ2V0UmVkc2hpZnRDYXRhbG9nUHJvcGVydHkifV19fQ==")), "targetRedshiftCatalog") unless @target_redshift_catalog.nil?
end

Instance Attribute Details

#allow_full_table_external_data_accessString? (readonly)

Allows third-party engines to access data in Amazon S3 locations that are registered with Lake Formation.



54
55
56
# File 'glue/cfn_catalog_props.rb', line 54

def allow_full_table_external_data_access
  @allow_full_table_external_data_access
end

#catalog_propertiesAWSCDK::IResolvable, ... (readonly)

A structure that specifies data lake access properties and other custom properties.



59
60
61
# File 'glue/cfn_catalog_props.rb', line 59

def catalog_properties
  @catalog_properties
end

#create_database_default_permissionsAWSCDK::IResolvable, ... (readonly)

An array of PrincipalPermissions objects for default database permissions.



64
65
66
# File 'glue/cfn_catalog_props.rb', line 64

def create_database_default_permissions
  @create_database_default_permissions
end

#create_table_default_permissionsAWSCDK::IResolvable, ... (readonly)

An array of PrincipalPermissions objects for default table permissions.



69
70
71
# File 'glue/cfn_catalog_props.rb', line 69

def create_table_default_permissions
  @create_table_default_permissions
end

#descriptionString? (readonly)

A description of the catalog.



74
75
76
# File 'glue/cfn_catalog_props.rb', line 74

def description
  @description
end

#federated_catalogAWSCDK::IResolvable, ... (readonly)

A FederatedCatalog structure that references an entity outside the Glue Data Catalog.



79
80
81
# File 'glue/cfn_catalog_props.rb', line 79

def federated_catalog
  @federated_catalog
end

#nameString (readonly)

The name of the catalog to create.



49
50
51
# File 'glue/cfn_catalog_props.rb', line 49

def name
  @name
end

#overwrite_child_resource_permissions_with_defaultString? (readonly)

Specifies whether to overwrite child resource permissions with the default permissions.



84
85
86
# File 'glue/cfn_catalog_props.rb', line 84

def overwrite_child_resource_permissions_with_default
  @overwrite_child_resource_permissions_with_default
end

#parametersAWSCDK::IResolvable, ... (readonly)

A map of key-value pairs that define parameters and properties of the catalog.



89
90
91
# File 'glue/cfn_catalog_props.rb', line 89

def parameters
  @parameters
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An array of key-value pairs to apply to this resource.



94
95
96
# File 'glue/cfn_catalog_props.rb', line 94

def tags
  @tags
end

#target_redshift_catalogAWSCDK::IResolvable, ... (readonly)

A structure that describes a target catalog for resource linking.



99
100
101
# File 'glue/cfn_catalog_props.rb', line 99

def target_redshift_catalog
  @target_redshift_catalog
end

Class Method Details

.jsii_propertiesObject



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'glue/cfn_catalog_props.rb', line 101

def self.jsii_properties
  {
    :name => "name",
    :allow_full_table_external_data_access => "allowFullTableExternalDataAccess",
    :catalog_properties => "catalogProperties",
    :create_database_default_permissions => "createDatabaseDefaultPermissions",
    :create_table_default_permissions => "createTableDefaultPermissions",
    :description => "description",
    :federated_catalog => "federatedCatalog",
    :overwrite_child_resource_permissions_with_default => "overwriteChildResourcePermissionsWithDefault",
    :parameters => "parameters",
    :tags => "tags",
    :target_redshift_catalog => "targetRedshiftCatalog",
  }
end

Instance Method Details

#to_jsiiObject



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'glue/cfn_catalog_props.rb', line 117

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "allowFullTableExternalDataAccess" => @allow_full_table_external_data_access,
    "catalogProperties" => @catalog_properties,
    "createDatabaseDefaultPermissions" => @create_database_default_permissions,
    "createTableDefaultPermissions" => @create_table_default_permissions,
    "description" => @description,
    "federatedCatalog" => @federated_catalog,
    "overwriteChildResourcePermissionsWithDefault" => @overwrite_child_resource_permissions_with_default,
    "parameters" => @parameters,
    "tags" => @tags,
    "targetRedshiftCatalog" => @target_redshift_catalog,
  })
  result.compact
end