Class: AWSCDK::QBusiness::CfnDataSourceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
q_business/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(application_id:, configuration:, display_name:, index_id:, description: nil, document_enrichment_configuration: nil, media_extraction_configuration: nil, role_arn: nil, sync_schedule: nil, tags: nil, vpc_configuration: nil) ⇒ CfnDataSourceProps

Returns a new instance of CfnDataSourceProps.

Parameters:

  • application_id (String)

    The identifier of the Amazon Q Business application the data source will be attached to.

  • configuration (Object)

    Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business .

  • display_name (String)

    The name of the Amazon Q Business data source.

  • index_id (String)

    The identifier of the index the data source is attached to.

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

    A description for the data source connector.

  • document_enrichment_configuration (AWSCDK::IResolvable, AWSCDK::QBusiness::CfnDataSource::DocumentEnrichmentConfigurationProperty, nil) (defaults to: nil)

    Provides the configuration information for altering document metadata and content during the document ingestion process.

  • media_extraction_configuration (AWSCDK::IResolvable, AWSCDK::QBusiness::CfnDataSource::MediaExtractionConfigurationProperty, nil) (defaults to: nil)

    The configuration for extracting information from media in documents.

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

    The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.

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

    Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index.

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

    A list of key-value pairs that identify or categorize the data source connector.

  • vpc_configuration (AWSCDK::IResolvable, AWSCDK::QBusiness::CfnDataSource::DataSourceVPCConfigurationProperty, nil) (defaults to: nil)

    Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'q_business/cfn_data_source_props.rb', line 20

def initialize(application_id:, configuration:, display_name:, index_id:, description: nil, document_enrichment_configuration: nil, media_extraction_configuration: nil, role_arn: nil, sync_schedule: nil, tags: nil, vpc_configuration: nil)
  @application_id = application_id
  Jsii::Type.check_type(@application_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "applicationId")
  @configuration = configuration
  Jsii::Type.check_type(@configuration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "configuration")
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName")
  @index_id = index_id
  Jsii::Type.check_type(@index_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "indexId")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @document_enrichment_configuration = document_enrichment_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnDataSource::DocumentEnrichmentConfigurationProperty.new(**document_enrichment_configuration.transform_keys(&:to_sym)) : document_enrichment_configuration
  Jsii::Type.check_type(@document_enrichment_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuRGF0YVNvdXJjZS5Eb2N1bWVudEVucmljaG1lbnRDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "documentEnrichmentConfiguration") unless @document_enrichment_configuration.nil?
  @media_extraction_configuration = media_extraction_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnDataSource::MediaExtractionConfigurationProperty.new(**media_extraction_configuration.transform_keys(&:to_sym)) : media_extraction_configuration
  Jsii::Type.check_type(@media_extraction_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuRGF0YVNvdXJjZS5NZWRpYUV4dHJhY3Rpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "mediaExtractionConfiguration") unless @media_extraction_configuration.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") unless @role_arn.nil?
  @sync_schedule = sync_schedule
  Jsii::Type.check_type(@sync_schedule, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "syncSchedule") unless @sync_schedule.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?
  @vpc_configuration = vpc_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnDataSource::DataSourceVPCConfigurationProperty.new(**vpc_configuration.transform_keys(&:to_sym)) : vpc_configuration
  Jsii::Type.check_type(@vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuRGF0YVNvdXJjZS5EYXRhU291cmNlVnBjQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "vpcConfiguration") unless @vpc_configuration.nil?
end

Instance Attribute Details

#application_idString (readonly)

The identifier of the Amazon Q Business application the data source will be attached to.



49
50
51
# File 'q_business/cfn_data_source_props.rb', line 49

def application_id
  @application_id
end

#configurationObject (readonly)

Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business .

You must use the JSON or YAML schema provided by Amazon Q .

The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:

Similarly, you can find configuration templates and properties for your specific data source using the following steps:

  • Navigate to the Supported connectors page in the Amazon Q Business User Guide, and select the data source connector of your choice.
  • Then, from that specific data source connector's page, choose the topic containing Using CloudFormation to find the schemas for your data source connector, including configuration parameter descriptions and examples.


66
67
68
# File 'q_business/cfn_data_source_props.rb', line 66

def configuration
  @configuration
end

#descriptionString? (readonly)

A description for the data source connector.



81
82
83
# File 'q_business/cfn_data_source_props.rb', line 81

def description
  @description
end

#display_nameString (readonly)

The name of the Amazon Q Business data source.



71
72
73
# File 'q_business/cfn_data_source_props.rb', line 71

def display_name
  @display_name
end

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

Provides the configuration information for altering document metadata and content during the document ingestion process.

For more information, see Custom document enrichment .



88
89
90
# File 'q_business/cfn_data_source_props.rb', line 88

def document_enrichment_configuration
  @document_enrichment_configuration
end

#index_idString (readonly)

The identifier of the index the data source is attached to.



76
77
78
# File 'q_business/cfn_data_source_props.rb', line 76

def index_id
  @index_id
end

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

The configuration for extracting information from media in documents.



93
94
95
# File 'q_business/cfn_data_source_props.rb', line 93

def media_extraction_configuration
  @media_extraction_configuration
end

#role_arnString? (readonly)

The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.

This field is required for all connector types except custom connectors, where it is optional.



100
101
102
# File 'q_business/cfn_data_source_props.rb', line 100

def role_arn
  @role_arn
end

#sync_scheduleString? (readonly)

Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index.

If you don't set a schedule, Amazon Q Business won't periodically update the index.

Specify a cron- format schedule string or an empty string to indicate that the index is updated on demand. You can't specify the Schedule parameter when the Type parameter is set to CUSTOM . If you do, you receive a ValidationException exception.



109
110
111
# File 'q_business/cfn_data_source_props.rb', line 109

def sync_schedule
  @sync_schedule
end

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

A list of key-value pairs that identify or categorize the data source connector.

You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -



116
117
118
# File 'q_business/cfn_data_source_props.rb', line 116

def tags
  @tags
end

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

Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source.

For more information, see Using Amazon VPC with Amazon Q Business connectors .



123
124
125
# File 'q_business/cfn_data_source_props.rb', line 123

def vpc_configuration
  @vpc_configuration
end

Class Method Details

.jsii_propertiesObject



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'q_business/cfn_data_source_props.rb', line 125

def self.jsii_properties
  {
    :application_id => "applicationId",
    :configuration => "configuration",
    :display_name => "displayName",
    :index_id => "indexId",
    :description => "description",
    :document_enrichment_configuration => "documentEnrichmentConfiguration",
    :media_extraction_configuration => "mediaExtractionConfiguration",
    :role_arn => "roleArn",
    :sync_schedule => "syncSchedule",
    :tags => "tags",
    :vpc_configuration => "vpcConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'q_business/cfn_data_source_props.rb', line 141

def to_jsii
  result = {}
  result.merge!({
    "applicationId" => @application_id,
    "configuration" => @configuration,
    "displayName" => @display_name,
    "indexId" => @index_id,
    "description" => @description,
    "documentEnrichmentConfiguration" => @document_enrichment_configuration,
    "mediaExtractionConfiguration" => @media_extraction_configuration,
    "roleArn" => @role_arn,
    "syncSchedule" => @sync_schedule,
    "tags" => @tags,
    "vpcConfiguration" => @vpc_configuration,
  })
  result.compact
end