Class: AWSCDK::CleanRooms::CfnConfiguredTableProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
clean_rooms/cfn_configured_table_props.rb

Overview

Properties for defining a CfnConfiguredTable.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allowed_columns:, analysis_method:, name:, table_reference:, analysis_rules: nil, description: nil, selected_analysis_methods: nil, tags: nil) ⇒ CfnConfiguredTableProps

Returns a new instance of CfnConfiguredTableProps.

Parameters:

  • allowed_columns (Array<String>)

    The columns within the underlying AWS Glue table that can be used within collaborations.

  • analysis_method (String)

    The analysis method for the configured table.

  • name (String)

    A name for the configured table.

  • table_reference (AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::TableReferenceProperty)

    The table that this configured table represents.

  • analysis_rules (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::AnalysisRuleProperty>, nil) (defaults to: nil)

    The analysis rule that was created for the configured table.

  • description (String, nil) (defaults to: nil)

    A description for the configured table.

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

    The selected analysis methods for the configured table.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    An optional label that you can assign to a resource when you create it.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'clean_rooms/cfn_configured_table_props.rb', line 17

def initialize(allowed_columns:, analysis_method:, name:, table_reference:, analysis_rules: nil, description: nil, selected_analysis_methods: nil, tags: nil)
  @allowed_columns = allowed_columns
  Jsii::Type.check_type(@allowed_columns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedColumns")
  @analysis_method = analysis_method
  Jsii::Type.check_type(@analysis_method, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "analysisMethod")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @table_reference = table_reference.is_a?(Hash) ? ::AWSCDK::CleanRooms::CfnConfiguredTable::TableReferenceProperty.new(**table_reference.transform_keys(&:to_sym)) : table_reference
  Jsii::Type.check_type(@table_reference, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbGVhbnJvb21zLkNmbkNvbmZpZ3VyZWRUYWJsZS5UYWJsZVJlZmVyZW5jZVByb3BlcnR5In1dfX0=")), "tableReference")
  @analysis_rules = analysis_rules
  Jsii::Type.check_type(@analysis_rules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xlYW5yb29tcy5DZm5Db25maWd1cmVkVGFibGUuQW5hbHlzaXNSdWxlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "analysisRules") unless @analysis_rules.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @selected_analysis_methods = selected_analysis_methods
  Jsii::Type.check_type(@selected_analysis_methods, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "selectedAnalysisMethods") unless @selected_analysis_methods.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?
end

Instance Attribute Details

#allowed_columnsArray<String> (readonly)

The columns within the underlying AWS Glue table that can be used within collaborations.



40
41
42
# File 'clean_rooms/cfn_configured_table_props.rb', line 40

def allowed_columns
  @allowed_columns
end

#analysis_methodString (readonly)

The analysis method for the configured table.

DIRECT_QUERY allows SQL queries to be run directly on this table.

DIRECT_JOB allows PySpark jobs to be run directly on this table.

MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.



51
52
53
# File 'clean_rooms/cfn_configured_table_props.rb', line 51

def analysis_method
  @analysis_method
end

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

The analysis rule that was created for the configured table.



66
67
68
# File 'clean_rooms/cfn_configured_table_props.rb', line 66

def analysis_rules
  @analysis_rules
end

#descriptionString? (readonly)

A description for the configured table.



71
72
73
# File 'clean_rooms/cfn_configured_table_props.rb', line 71

def description
  @description
end

#nameString (readonly)

A name for the configured table.



56
57
58
# File 'clean_rooms/cfn_configured_table_props.rb', line 56

def name
  @name
end

#selected_analysis_methodsArray<String>? (readonly)

The selected analysis methods for the configured table.



76
77
78
# File 'clean_rooms/cfn_configured_table_props.rb', line 76

def selected_analysis_methods
  @selected_analysis_methods
end

#table_referenceAWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::TableReferenceProperty (readonly)

The table that this configured table represents.



61
62
63
# File 'clean_rooms/cfn_configured_table_props.rb', line 61

def table_reference
  @table_reference
end

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

An optional label that you can assign to a resource when you create it.

Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.



83
84
85
# File 'clean_rooms/cfn_configured_table_props.rb', line 83

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



85
86
87
88
89
90
91
92
93
94
95
96
# File 'clean_rooms/cfn_configured_table_props.rb', line 85

def self.jsii_properties
  {
    :allowed_columns => "allowedColumns",
    :analysis_method => "analysisMethod",
    :name => "name",
    :table_reference => "tableReference",
    :analysis_rules => "analysisRules",
    :description => "description",
    :selected_analysis_methods => "selectedAnalysisMethods",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'clean_rooms/cfn_configured_table_props.rb', line 98

def to_jsii
  result = {}
  result.merge!({
    "allowedColumns" => @allowed_columns,
    "analysisMethod" => @analysis_method,
    "name" => @name,
    "tableReference" => @table_reference,
    "analysisRules" => @analysis_rules,
    "description" => @description,
    "selectedAnalysisMethods" => @selected_analysis_methods,
    "tags" => @tags,
  })
  result.compact
end