Class: AWSCDK::Bedrock::CfnKnowledgeBase::PineconeConfigurationProperty

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

Overview

Contains details about the storage configuration of the knowledge base in Pinecone.

For more information, see Create a vector index in Pinecone .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection_string:, credentials_secret_arn:, field_mapping:, namespace: nil) ⇒ PineconeConfigurationProperty

Returns a new instance of PineconeConfigurationProperty.

Parameters:

  • connection_string (String)

    The endpoint URL for your index management page.

  • credentials_secret_arn (String)

    The Amazon Resource Name (ARN) of the secret that you created in AWS Secrets Manager that is linked to your Pinecone API key.

  • field_mapping (AWSCDK::IResolvable, AWSCDK::Bedrock::CfnKnowledgeBase::PineconeFieldMappingProperty)

    Contains the names of the fields to which to map information about the vector store.

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

    The namespace to be used to write new data to your database.



1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
# File 'bedrock/cfn_knowledge_base.rb', line 1564

def initialize(connection_string:, credentials_secret_arn:, field_mapping:, namespace: nil)
  @connection_string = connection_string
  Jsii::Type.check_type(@connection_string, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectionString")
  @credentials_secret_arn = credentials_secret_arn
  Jsii::Type.check_type(@credentials_secret_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "credentialsSecretArn")
  @field_mapping = field_mapping.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnKnowledgeBase::PineconeFieldMappingProperty.new(**field_mapping.transform_keys(&:to_sym)) : field_mapping
  Jsii::Type.check_type(@field_mapping, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbktub3dsZWRnZUJhc2UuUGluZWNvbmVGaWVsZE1hcHBpbmdQcm9wZXJ0eSJ9XX19")), "fieldMapping")
  @namespace = namespace
  Jsii::Type.check_type(@namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespace") unless @namespace.nil?
end

Instance Attribute Details

#connection_stringString (readonly)

The endpoint URL for your index management page.



1579
1580
1581
# File 'bedrock/cfn_knowledge_base.rb', line 1579

def connection_string
  @connection_string
end

#credentials_secret_arnString (readonly)

The Amazon Resource Name (ARN) of the secret that you created in AWS Secrets Manager that is linked to your Pinecone API key.



1584
1585
1586
# File 'bedrock/cfn_knowledge_base.rb', line 1584

def credentials_secret_arn
  @credentials_secret_arn
end

#field_mappingAWSCDK::IResolvable, AWSCDK::Bedrock::CfnKnowledgeBase::PineconeFieldMappingProperty (readonly)

Contains the names of the fields to which to map information about the vector store.



1589
1590
1591
# File 'bedrock/cfn_knowledge_base.rb', line 1589

def field_mapping
  @field_mapping
end

#namespaceString? (readonly)

The namespace to be used to write new data to your database.



1594
1595
1596
# File 'bedrock/cfn_knowledge_base.rb', line 1594

def namespace
  @namespace
end

Class Method Details

.jsii_propertiesObject



1596
1597
1598
1599
1600
1601
1602
1603
# File 'bedrock/cfn_knowledge_base.rb', line 1596

def self.jsii_properties
  {
    :connection_string => "connectionString",
    :credentials_secret_arn => "credentialsSecretArn",
    :field_mapping => "fieldMapping",
    :namespace => "namespace",
  }
end

Instance Method Details

#to_jsiiObject



1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
# File 'bedrock/cfn_knowledge_base.rb', line 1605

def to_jsii
  result = {}
  result.merge!({
    "connectionString" => @connection_string,
    "credentialsSecretArn" => @credentials_secret_arn,
    "fieldMapping" => @field_mapping,
    "namespace" => @namespace,
  })
  result.compact
end