Class: AWSCDK::CleanRooms::CfnConfiguredTable::AnalysisRuleCustomProperty

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

Overview

A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables.

It supports differential privacy.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allowed_analyses:, additional_analyses: nil, allowed_analysis_providers: nil, differential_privacy: nil, disallowed_output_columns: nil) ⇒ AnalysisRuleCustomProperty

Returns a new instance of AnalysisRuleCustomProperty.

Parameters:

  • allowed_analyses (Array<String>)

    The ARN of the analysis templates that are allowed by the custom analysis rule.

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

    An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.

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

    The IDs of the AWS accounts that are allowed to query by the custom analysis rule.

  • differential_privacy (AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::DifferentialPrivacyProperty, nil) (defaults to: nil)

    The differential privacy configuration.

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

    A list of columns that aren't allowed to be shown in the query output.



836
837
838
839
840
841
842
843
844
845
846
847
# File 'clean_rooms/cfn_configured_table.rb', line 836

def initialize(allowed_analyses:, additional_analyses: nil, allowed_analysis_providers: nil, differential_privacy: nil, disallowed_output_columns: nil)
  @allowed_analyses = allowed_analyses
  Jsii::Type.check_type(@allowed_analyses, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedAnalyses")
  @additional_analyses = additional_analyses
  Jsii::Type.check_type(@additional_analyses, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "additionalAnalyses") unless @additional_analyses.nil?
  @allowed_analysis_providers = allowed_analysis_providers
  Jsii::Type.check_type(@allowed_analysis_providers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedAnalysisProviders") unless @allowed_analysis_providers.nil?
  @differential_privacy = differential_privacy.is_a?(Hash) ? ::AWSCDK::CleanRooms::CfnConfiguredTable::DifferentialPrivacyProperty.new(**differential_privacy.transform_keys(&:to_sym)) : differential_privacy
  Jsii::Type.check_type(@differential_privacy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbGVhbnJvb21zLkNmbkNvbmZpZ3VyZWRUYWJsZS5EaWZmZXJlbnRpYWxQcml2YWN5UHJvcGVydHkifV19fQ==")), "differentialPrivacy") unless @differential_privacy.nil?
  @disallowed_output_columns = disallowed_output_columns
  Jsii::Type.check_type(@disallowed_output_columns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "disallowedOutputColumns") unless @disallowed_output_columns.nil?
end

Instance Attribute Details

#additional_analysesString? (readonly)

An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.



858
859
860
# File 'clean_rooms/cfn_configured_table.rb', line 858

def additional_analyses
  @additional_analyses
end

#allowed_analysesArray<String> (readonly)

The ARN of the analysis templates that are allowed by the custom analysis rule.



853
854
855
# File 'clean_rooms/cfn_configured_table.rb', line 853

def allowed_analyses
  @allowed_analyses
end

#allowed_analysis_providersArray<String>? (readonly)

The IDs of the AWS accounts that are allowed to query by the custom analysis rule.

Required when allowed_analyses is ANY_QUERY .



865
866
867
# File 'clean_rooms/cfn_configured_table.rb', line 865

def allowed_analysis_providers
  @allowed_analysis_providers
end

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

The differential privacy configuration.



870
871
872
# File 'clean_rooms/cfn_configured_table.rb', line 870

def differential_privacy
  @differential_privacy
end

#disallowed_output_columnsArray<String>? (readonly)

A list of columns that aren't allowed to be shown in the query output.



875
876
877
# File 'clean_rooms/cfn_configured_table.rb', line 875

def disallowed_output_columns
  @disallowed_output_columns
end

Class Method Details

.jsii_propertiesObject



877
878
879
880
881
882
883
884
885
# File 'clean_rooms/cfn_configured_table.rb', line 877

def self.jsii_properties
  {
    :allowed_analyses => "allowedAnalyses",
    :additional_analyses => "additionalAnalyses",
    :allowed_analysis_providers => "allowedAnalysisProviders",
    :differential_privacy => "differentialPrivacy",
    :disallowed_output_columns => "disallowedOutputColumns",
  }
end

Instance Method Details

#to_jsiiObject



887
888
889
890
891
892
893
894
895
896
897
# File 'clean_rooms/cfn_configured_table.rb', line 887

def to_jsii
  result = {}
  result.merge!({
    "allowedAnalyses" => @allowed_analyses,
    "additionalAnalyses" => @additional_analyses,
    "allowedAnalysisProviders" => @allowed_analysis_providers,
    "differentialPrivacy" => @differential_privacy,
    "disallowedOutputColumns" => @disallowed_output_columns,
  })
  result.compact
end