Class: AWSCDK::Wisdom::CfnKnowledgeBaseProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
wisdom/cfn_knowledge_base_props.rb

Overview

Properties for defining a CfnKnowledgeBase.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(knowledge_base_type:, name:, description: nil, rendering_configuration: nil, server_side_encryption_configuration: nil, source_configuration: nil, tags: nil, vector_ingestion_configuration: nil) ⇒ CfnKnowledgeBaseProps

Returns a new instance of CfnKnowledgeBaseProps.

Parameters:



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

def initialize(knowledge_base_type:, name:, description: nil, rendering_configuration: nil, server_side_encryption_configuration: nil, source_configuration: nil, tags: nil, vector_ingestion_configuration: nil)
  @knowledge_base_type = knowledge_base_type
  Jsii::Type.check_type(@knowledge_base_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "knowledgeBaseType")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @rendering_configuration = rendering_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::RenderingConfigurationProperty.new(**rendering_configuration.transform_keys(&:to_sym)) : rendering_configuration
  Jsii::Type.check_type(@rendering_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5SZW5kZXJpbmdDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "renderingConfiguration") unless @rendering_configuration.nil?
  @server_side_encryption_configuration = server_side_encryption_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::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("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5TZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "serverSideEncryptionConfiguration") unless @server_side_encryption_configuration.nil?
  @source_configuration = source_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::SourceConfigurationProperty.new(**source_configuration.transform_keys(&:to_sym)) : source_configuration
  Jsii::Type.check_type(@source_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5Tb3VyY2VDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "sourceConfiguration") unless @source_configuration.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?
  @vector_ingestion_configuration = vector_ingestion_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::VectorIngestionConfigurationProperty.new(**vector_ingestion_configuration.transform_keys(&:to_sym)) : vector_ingestion_configuration
  Jsii::Type.check_type(@vector_ingestion_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5WZWN0b3JJbmdlc3Rpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "vectorIngestionConfiguration") unless @vector_ingestion_configuration.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

The description.



52
53
54
# File 'wisdom/cfn_knowledge_base_props.rb', line 52

def description
  @description
end

#knowledge_base_typeString (readonly)

The type of knowledge base.

Only CUSTOM knowledge bases allow you to upload your own content. EXTERNAL knowledge bases support integrations with third-party systems whose content is synchronized automatically.



42
43
44
# File 'wisdom/cfn_knowledge_base_props.rb', line 42

def knowledge_base_type
  @knowledge_base_type
end

#nameString (readonly)

The name of the knowledge base.



47
48
49
# File 'wisdom/cfn_knowledge_base_props.rb', line 47

def name
  @name
end

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

Information about how to render the content.



57
58
59
# File 'wisdom/cfn_knowledge_base_props.rb', line 57

def rendering_configuration
  @rendering_configuration
end

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

This customer managed key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Connect Customer Wisdom for your instance . For information about valid ID values, see Key identifiers (KeyId) in the AWS Key Management Service Developer Guide .



64
65
66
# File 'wisdom/cfn_knowledge_base_props.rb', line 64

def server_side_encryption_configuration
  @server_side_encryption_configuration
end

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

The source of the knowledge base content.

Only set this argument for EXTERNAL or Managed knowledge bases.



71
72
73
# File 'wisdom/cfn_knowledge_base_props.rb', line 71

def source_configuration
  @source_configuration
end

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

The tags used to organize, track, or control access for this resource.



76
77
78
# File 'wisdom/cfn_knowledge_base_props.rb', line 76

def tags
  @tags
end

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

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



81
82
83
# File 'wisdom/cfn_knowledge_base_props.rb', line 81

def vector_ingestion_configuration
  @vector_ingestion_configuration
end

Class Method Details

.jsii_propertiesObject



83
84
85
86
87
88
89
90
91
92
93
94
# File 'wisdom/cfn_knowledge_base_props.rb', line 83

def self.jsii_properties
  {
    :knowledge_base_type => "knowledgeBaseType",
    :name => "name",
    :description => "description",
    :rendering_configuration => "renderingConfiguration",
    :server_side_encryption_configuration => "serverSideEncryptionConfiguration",
    :source_configuration => "sourceConfiguration",
    :tags => "tags",
    :vector_ingestion_configuration => "vectorIngestionConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'wisdom/cfn_knowledge_base_props.rb', line 96

def to_jsii
  result = {}
  result.merge!({
    "knowledgeBaseType" => @knowledge_base_type,
    "name" => @name,
    "description" => @description,
    "renderingConfiguration" => @rendering_configuration,
    "serverSideEncryptionConfiguration" => @server_side_encryption_configuration,
    "sourceConfiguration" => @source_configuration,
    "tags" => @tags,
    "vectorIngestionConfiguration" => @vector_ingestion_configuration,
  })
  result.compact
end