Class: AWSCDK::Wisdom::CfnKnowledgeBase::AppIntegrationsConfigurationProperty

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

Overview

Configuration information for Amazon AppIntegrations to automatically ingest content.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app_integration_arn:, object_fields: nil) ⇒ AppIntegrationsConfigurationProperty

Returns a new instance of AppIntegrationsConfigurationProperty.

Parameters:

  • app_integration_arn (String)

    The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

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

    The fields from the source that are made available to your agents in Amazon Q in Connect.



647
648
649
650
651
652
# File 'wisdom/cfn_knowledge_base.rb', line 647

def initialize(app_integration_arn:, object_fields: nil)
  @app_integration_arn = app_integration_arn
  Jsii::Type.check_type(@app_integration_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "appIntegrationArn")
  @object_fields = object_fields
  Jsii::Type.check_type(@object_fields, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "objectFields") unless @object_fields.nil?
end

Instance Attribute Details

#app_integration_arnString (readonly)

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

  • For Salesforce , your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least Id , ArticleNumber , VersionNumber , Title , PublishStatus , and IsDeleted as source fields.
  • For ServiceNow , your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least number , short_description , sys_mod_count , workflow_state , and active as source fields.
  • For Zendesk , your AppIntegrations DataIntegration must have an ObjectConfiguration if object_fields is not provided, including at least id , title , updated_at , and draft as source fields.
  • For SharePoint , your AppIntegrations DataIntegration must have a FileConfiguration, including only file extensions that are among docx , pdf , html , htm , and txt .
  • For Amazon S3 , the ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null. The SourceURI of your DataIntegration must use the following format: s3://your_s3_bucket_name .

The bucket policy of the corresponding S3 bucket must allow the AWS principal app-integrations.amazonaws.com to perform s3:ListBucket , s3:GetObject , and s3:GetBucketLocation against the bucket.



666
667
668
# File 'wisdom/cfn_knowledge_base.rb', line 666

def app_integration_arn
  @app_integration_arn
end

#object_fieldsArray<String>? (readonly)

The fields from the source that are made available to your agents in Amazon Q in Connect.

Optional if ObjectConfiguration is included in the provided DataIntegration.

  • For Salesforce , you must include at least Id , ArticleNumber , VersionNumber , Title , PublishStatus , and IsDeleted .
  • For ServiceNow , you must include at least number , short_description , sys_mod_count , workflow_state , and active .
  • For Zendesk , you must include at least id , title , updated_at , and draft .

Make sure to include additional fields. These fields are indexed and used to source recommendations.



679
680
681
# File 'wisdom/cfn_knowledge_base.rb', line 679

def object_fields
  @object_fields
end

Class Method Details

.jsii_propertiesObject



681
682
683
684
685
686
# File 'wisdom/cfn_knowledge_base.rb', line 681

def self.jsii_properties
  {
    :app_integration_arn => "appIntegrationArn",
    :object_fields => "objectFields",
  }
end

Instance Method Details

#to_jsiiObject



688
689
690
691
692
693
694
695
# File 'wisdom/cfn_knowledge_base.rb', line 688

def to_jsii
  result = {}
  result.merge!({
    "appIntegrationArn" => @app_integration_arn,
    "objectFields" => @object_fields,
  })
  result.compact
end