Class: AWSCDK::Kendra::CfnDataSource::SharePointConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kendra/cfn_data_source.rb

Overview

Provides the configuration information to connect to Microsoft SharePoint as your data source.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(secret_arn:, share_point_version:, urls:, crawl_attachments: nil, disable_local_groups: nil, document_title_field_name: nil, exclusion_patterns: nil, field_mappings: nil, inclusion_patterns: nil, ssl_certificate_s3_path: nil, use_change_log: nil, vpc_configuration: nil) ⇒ SharePointConfigurationProperty

Returns a new instance of SharePointConfigurationProperty.

Parameters:

  • secret_arn (String)

    The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the user name and password required to connect to the SharePoint instance.

  • share_point_version (String)

    The version of Microsoft SharePoint that you use.

  • urls (Array<String>)

    The Microsoft SharePoint site URLs for the documents you want to index.

  • crawl_attachments (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    TRUE to index document attachments.

  • disable_local_groups (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    TRUE to disable local groups information.

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

    The Microsoft SharePoint attribute field that contains the title of the document.

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

    A list of regular expression patterns.

  • field_mappings (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Kendra::CfnDataSource::DataSourceToIndexFieldMappingProperty>, nil) (defaults to: nil)

    A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint attributes or fields to Amazon Kendra index fields.

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

    A list of regular expression patterns to include certain documents in your SharePoint.

  • ssl_certificate_s3_path (AWSCDK::IResolvable, AWSCDK::Kendra::CfnDataSource::S3PathProperty, nil) (defaults to: nil)

    Information required to find a specific file in an Amazon S3 bucket.

  • use_change_log (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    TRUE to use the SharePoint change log to determine which documents require updating in the index.

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

    Provides information for connecting to an Amazon VPC.



3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
# File 'kendra/cfn_data_source.rb', line 3478

def initialize(secret_arn:, share_point_version:, urls:, crawl_attachments: nil, disable_local_groups: nil, document_title_field_name: nil, exclusion_patterns: nil, field_mappings: nil, inclusion_patterns: nil, ssl_certificate_s3_path: nil, use_change_log: nil, vpc_configuration: nil)
  @secret_arn = secret_arn
  Jsii::Type.check_type(@secret_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretArn")
  @share_point_version = share_point_version
  Jsii::Type.check_type(@share_point_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sharePointVersion")
  @urls = urls
  Jsii::Type.check_type(@urls, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "urls")
  @crawl_attachments = crawl_attachments
  Jsii::Type.check_type(@crawl_attachments, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "crawlAttachments") unless @crawl_attachments.nil?
  @disable_local_groups = disable_local_groups
  Jsii::Type.check_type(@disable_local_groups, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "disableLocalGroups") unless @disable_local_groups.nil?
  @document_title_field_name = document_title_field_name
  Jsii::Type.check_type(@document_title_field_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "documentTitleFieldName") unless @document_title_field_name.nil?
  @exclusion_patterns = exclusion_patterns
  Jsii::Type.check_type(@exclusion_patterns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "exclusionPatterns") unless @exclusion_patterns.nil?
  @field_mappings = field_mappings
  Jsii::Type.check_type(@field_mappings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2VuZHJhLkNmbkRhdGFTb3VyY2UuRGF0YVNvdXJjZVRvSW5kZXhGaWVsZE1hcHBpbmdQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "fieldMappings") unless @field_mappings.nil?
  @inclusion_patterns = inclusion_patterns
  Jsii::Type.check_type(@inclusion_patterns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "inclusionPatterns") unless @inclusion_patterns.nil?
  @ssl_certificate_s3_path = ssl_certificate_s3_path.is_a?(Hash) ? ::AWSCDK::Kendra::CfnDataSource::S3PathProperty.new(**ssl_certificate_s3_path.transform_keys(&:to_sym)) : ssl_certificate_s3_path
  Jsii::Type.check_type(@ssl_certificate_s3_path, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rZW5kcmEuQ2ZuRGF0YVNvdXJjZS5TM1BhdGhQcm9wZXJ0eSJ9XX19")), "sslCertificateS3Path") unless @ssl_certificate_s3_path.nil?
  @use_change_log = use_change_log
  Jsii::Type.check_type(@use_change_log, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useChangeLog") unless @use_change_log.nil?
  @vpc_configuration = vpc_configuration.is_a?(Hash) ? ::AWSCDK::Kendra::CfnDataSource::DataSourceVPCConfigurationProperty.new(**vpc_configuration.transform_keys(&:to_sym)) : vpc_configuration
  Jsii::Type.check_type(@vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rZW5kcmEuQ2ZuRGF0YVNvdXJjZS5EYXRhU291cmNlVnBjQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "vpcConfiguration") unless @vpc_configuration.nil?
end

Instance Attribute Details

#crawl_attachmentsBoolean, ... (readonly)

TRUE to index document attachments.



3526
3527
3528
# File 'kendra/cfn_data_source.rb', line 3526

def crawl_attachments
  @crawl_attachments
end

#disable_local_groupsBoolean, ... (readonly)

TRUE to disable local groups information.



3531
3532
3533
# File 'kendra/cfn_data_source.rb', line 3531

def disable_local_groups
  @disable_local_groups
end

#document_title_field_nameString? (readonly)

The Microsoft SharePoint attribute field that contains the title of the document.



3536
3537
3538
# File 'kendra/cfn_data_source.rb', line 3536

def document_title_field_name
  @document_title_field_name
end

#exclusion_patternsArray<String>? (readonly)

A list of regular expression patterns.

Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the display URL of the SharePoint document.



3545
3546
3547
# File 'kendra/cfn_data_source.rb', line 3545

def exclusion_patterns
  @exclusion_patterns
end

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

A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint attributes or fields to Amazon Kendra index fields.

You must first create the index fields using the UpdateIndex operation before you map SharePoint attributes. For more information, see Mapping Data Source Fields .



3552
3553
3554
# File 'kendra/cfn_data_source.rb', line 3552

def field_mappings
  @field_mappings
end

#inclusion_patternsArray<String>? (readonly)

A list of regular expression patterns to include certain documents in your SharePoint.

Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the document isn't included in the index.

The regex applies to the display URL of the SharePoint document.



3561
3562
3563
# File 'kendra/cfn_data_source.rb', line 3561

def inclusion_patterns
  @inclusion_patterns
end

#secret_arnString (readonly)

The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the user name and password required to connect to the SharePoint instance.

For more information, see Microsoft SharePoint .



3511
3512
3513
# File 'kendra/cfn_data_source.rb', line 3511

def secret_arn
  @secret_arn
end

#share_point_versionString (readonly)

The version of Microsoft SharePoint that you use.



3516
3517
3518
# File 'kendra/cfn_data_source.rb', line 3516

def share_point_version
  @share_point_version
end

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

Information required to find a specific file in an Amazon S3 bucket.



3566
3567
3568
# File 'kendra/cfn_data_source.rb', line 3566

def ssl_certificate_s3_path
  @ssl_certificate_s3_path
end

#urlsArray<String> (readonly)

The Microsoft SharePoint site URLs for the documents you want to index.



3521
3522
3523
# File 'kendra/cfn_data_source.rb', line 3521

def urls
  @urls
end

#use_change_logBoolean, ... (readonly)

TRUE to use the SharePoint change log to determine which documents require updating in the index.

Depending on the change log's size, it may take longer for Amazon Kendra to use the change log than to scan all of your documents in SharePoint.



3573
3574
3575
# File 'kendra/cfn_data_source.rb', line 3573

def use_change_log
  @use_change_log
end

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

Provides information for connecting to an Amazon VPC.



3578
3579
3580
# File 'kendra/cfn_data_source.rb', line 3578

def vpc_configuration
  @vpc_configuration
end

Class Method Details

.jsii_propertiesObject



3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
# File 'kendra/cfn_data_source.rb', line 3580

def self.jsii_properties
  {
    :secret_arn => "secretArn",
    :share_point_version => "sharePointVersion",
    :urls => "urls",
    :crawl_attachments => "crawlAttachments",
    :disable_local_groups => "disableLocalGroups",
    :document_title_field_name => "documentTitleFieldName",
    :exclusion_patterns => "exclusionPatterns",
    :field_mappings => "fieldMappings",
    :inclusion_patterns => "inclusionPatterns",
    :ssl_certificate_s3_path => "sslCertificateS3Path",
    :use_change_log => "useChangeLog",
    :vpc_configuration => "vpcConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
# File 'kendra/cfn_data_source.rb', line 3597

def to_jsii
  result = {}
  result.merge!({
    "secretArn" => @secret_arn,
    "sharePointVersion" => @share_point_version,
    "urls" => @urls,
    "crawlAttachments" => @crawl_attachments,
    "disableLocalGroups" => @disable_local_groups,
    "documentTitleFieldName" => @document_title_field_name,
    "exclusionPatterns" => @exclusion_patterns,
    "fieldMappings" => @field_mappings,
    "inclusionPatterns" => @inclusion_patterns,
    "sslCertificateS3Path" => @ssl_certificate_s3_path,
    "useChangeLog" => @use_change_log,
    "vpcConfiguration" => @vpc_configuration,
  })
  result.compact
end