Class: AWSCDK::Bedrock::CfnDataSourceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
bedrock/cfn_data_source_props.rb

Overview

Properties for defining a CfnDataSource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_source_configuration:, knowledge_base_id:, name:, data_deletion_policy: nil, description: nil, server_side_encryption_configuration: nil, vector_ingestion_configuration: nil) ⇒ CfnDataSourceProps

Returns a new instance of CfnDataSourceProps.

Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'bedrock/cfn_data_source_props.rb', line 16

def initialize(data_source_configuration:, knowledge_base_id:, name:, data_deletion_policy: nil, description: nil, server_side_encryption_configuration: nil, vector_ingestion_configuration: nil)
  @data_source_configuration = data_source_configuration.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnDataSource::DataSourceConfigurationProperty.new(**data_source_configuration.transform_keys(&:to_sym)) : data_source_configuration
  Jsii::Type.check_type(@data_source_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkRhdGFTb3VyY2UuRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "dataSourceConfiguration")
  @knowledge_base_id = knowledge_base_id
  Jsii::Type.check_type(@knowledge_base_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "knowledgeBaseId")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @data_deletion_policy = data_deletion_policy
  Jsii::Type.check_type(@data_deletion_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataDeletionPolicy") unless @data_deletion_policy.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @server_side_encryption_configuration = server_side_encryption_configuration.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnDataSource::ServerSideEncryptionConfigurationProperty.new(**server_side_encryption_configuration.transform_keys(&:to_sym)) : server_side_encryption_configuration
  Jsii::Type.check_type(@server_side_encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkRhdGFTb3VyY2UuU2VydmVyU2lkZUVuY3J5cHRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "serverSideEncryptionConfiguration") unless @server_side_encryption_configuration.nil?
  @vector_ingestion_configuration = vector_ingestion_configuration.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnDataSource::VectorIngestionConfigurationProperty.new(**vector_ingestion_configuration.transform_keys(&:to_sym)) : vector_ingestion_configuration
  Jsii::Type.check_type(@vector_ingestion_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkRhdGFTb3VyY2UuVmVjdG9ySW5nZXN0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "vectorIngestionConfiguration") unless @vector_ingestion_configuration.nil?
end

Instance Attribute Details

#data_deletion_policyString? (readonly)

The data deletion policy for the data source.



52
53
54
# File 'bedrock/cfn_data_source_props.rb', line 52

def data_deletion_policy
  @data_deletion_policy
end

#data_source_configurationAWSCDK::IResolvable, AWSCDK::Bedrock::CfnDataSource::DataSourceConfigurationProperty (readonly)

The connection configuration for the data source.



37
38
39
# File 'bedrock/cfn_data_source_props.rb', line 37

def data_source_configuration
  @data_source_configuration
end

#descriptionString? (readonly)

The description of the data source.



57
58
59
# File 'bedrock/cfn_data_source_props.rb', line 57

def description
  @description
end

#knowledge_base_idString (readonly)

The unique identifier of the knowledge base to which the data source belongs.



42
43
44
# File 'bedrock/cfn_data_source_props.rb', line 42

def knowledge_base_id
  @knowledge_base_id
end

#nameString (readonly)

The name of the data source.



47
48
49
# File 'bedrock/cfn_data_source_props.rb', line 47

def name
  @name
end

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

Contains details about the configuration of the server-side encryption.



62
63
64
# File 'bedrock/cfn_data_source_props.rb', line 62

def server_side_encryption_configuration
  @server_side_encryption_configuration
end

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

Contains details about how to ingest the documents in the data source.



67
68
69
# File 'bedrock/cfn_data_source_props.rb', line 67

def vector_ingestion_configuration
  @vector_ingestion_configuration
end

Class Method Details

.jsii_propertiesObject



69
70
71
72
73
74
75
76
77
78
79
# File 'bedrock/cfn_data_source_props.rb', line 69

def self.jsii_properties
  {
    :data_source_configuration => "dataSourceConfiguration",
    :knowledge_base_id => "knowledgeBaseId",
    :name => "name",
    :data_deletion_policy => "dataDeletionPolicy",
    :description => "description",
    :server_side_encryption_configuration => "serverSideEncryptionConfiguration",
    :vector_ingestion_configuration => "vectorIngestionConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'bedrock/cfn_data_source_props.rb', line 81

def to_jsii
  result = {}
  result.merge!({
    "dataSourceConfiguration" => @data_source_configuration,
    "knowledgeBaseId" => @knowledge_base_id,
    "name" => @name,
    "dataDeletionPolicy" => @data_deletion_policy,
    "description" => @description,
    "serverSideEncryptionConfiguration" => @server_side_encryption_configuration,
    "vectorIngestionConfiguration" => @vector_ingestion_configuration,
  })
  result.compact
end