Class: AWSCDK::LakeFormation::CfnPrincipalPermissions::TableWithColumnsResourceProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
lake_formation/cfn_principal_permissions.rb

Overview

A structure for a table with columns object. This object is only used when granting a SELECT permission.

This object must take a value for at least one of ColumnsNames , ColumnsIndexes , or ColumnsWildcard .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(catalog_id:, database_name:, name:, column_names: nil, column_wildcard: nil) ⇒ TableWithColumnsResourceProperty

Returns a new instance of TableWithColumnsResourceProperty.

Parameters:

  • catalog_id (String)

    The identifier for the Data Catalog where the location is registered with AWS Lake Formation .

  • database_name (String)

    The name of the database for the table with columns resource.

  • name (String)

    The name of the table resource.

  • column_names (Array<String>, nil) (defaults to: nil)

    The list of column names for the table.

  • column_wildcard (AWSCDK::IResolvable, AWSCDK::LakeFormation::CfnPrincipalPermissions::ColumnWildcardProperty, nil) (defaults to: nil)

    A wildcard specified by a ColumnWildcard object.



1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
# File 'lake_formation/cfn_principal_permissions.rb', line 1130

def initialize(catalog_id:, database_name:, name:, column_names: nil, column_wildcard: nil)
  @catalog_id = catalog_id
  Jsii::Type.check_type(@catalog_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "catalogId")
  @database_name = database_name
  Jsii::Type.check_type(@database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseName")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @column_names = column_names
  Jsii::Type.check_type(@column_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "columnNames") unless @column_names.nil?
  @column_wildcard = column_wildcard.is_a?(Hash) ? ::AWSCDK::LakeFormation::CfnPrincipalPermissions::ColumnWildcardProperty.new(**column_wildcard.transform_keys(&:to_sym)) : column_wildcard
  Jsii::Type.check_type(@column_wildcard, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYWtlZm9ybWF0aW9uLkNmblByaW5jaXBhbFBlcm1pc3Npb25zLkNvbHVtbldpbGRjYXJkUHJvcGVydHkifV19fQ==")), "columnWildcard") unless @column_wildcard.nil?
end

Instance Attribute Details

#catalog_idString (readonly)

The identifier for the Data Catalog where the location is registered with AWS Lake Formation .



1147
1148
1149
# File 'lake_formation/cfn_principal_permissions.rb', line 1147

def catalog_id
  @catalog_id
end

#column_namesArray<String>? (readonly)

The list of column names for the table.

At least one of ColumnNames or ColumnWildcard is required.



1168
1169
1170
# File 'lake_formation/cfn_principal_permissions.rb', line 1168

def column_names
  @column_names
end

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

A wildcard specified by a ColumnWildcard object.

At least one of ColumnNames or ColumnWildcard is required.



1175
1176
1177
# File 'lake_formation/cfn_principal_permissions.rb', line 1175

def column_wildcard
  @column_wildcard
end

#database_nameString (readonly)

The name of the database for the table with columns resource.

Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.



1154
1155
1156
# File 'lake_formation/cfn_principal_permissions.rb', line 1154

def database_name
  @database_name
end

#nameString (readonly)

The name of the table resource.

A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.



1161
1162
1163
# File 'lake_formation/cfn_principal_permissions.rb', line 1161

def name
  @name
end

Class Method Details

.jsii_propertiesObject



1177
1178
1179
1180
1181
1182
1183
1184
1185
# File 'lake_formation/cfn_principal_permissions.rb', line 1177

def self.jsii_properties
  {
    :catalog_id => "catalogId",
    :database_name => "databaseName",
    :name => "name",
    :column_names => "columnNames",
    :column_wildcard => "columnWildcard",
  }
end

Instance Method Details

#to_jsiiObject



1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
# File 'lake_formation/cfn_principal_permissions.rb', line 1187

def to_jsii
  result = {}
  result.merge!({
    "catalogId" => @catalog_id,
    "databaseName" => @database_name,
    "name" => @name,
    "columnNames" => @column_names,
    "columnWildcard" => @column_wildcard,
  })
  result.compact
end