/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the kendra-2019-02-03.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Kendra.Model
{
///
/// Provides the configuration information to connect to Jira as your data source.
///
public partial class JiraConfiguration
{
private List _attachmentFieldMappings = new List();
private List _commentFieldMappings = new List();
private List _exclusionPatterns = new List();
private List _inclusionPatterns = new List();
private List _issueFieldMappings = new List();
private List _issueSubEntityFilter = new List();
private List _issueType = new List();
private string _jiraAccountUrl;
private List _project = new List();
private List _projectFieldMappings = new List();
private string _secretArn;
private List _status = new List();
private bool? _useChangeLog;
private DataSourceVpcConfiguration _vpcConfiguration;
private List _workLogFieldMappings = new List();
///
/// Gets and sets the property AttachmentFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Jira attachments to Amazon Kendra index field names. To create custom
/// fields, use the UpdateIndex
API before you map to Jira fields. For more
/// information, see
/// Mapping data source fields. The Jira data source field names must exist in your
/// Jira custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List AttachmentFieldMappings
{
get { return this._attachmentFieldMappings; }
set { this._attachmentFieldMappings = value; }
}
// Check to see if AttachmentFieldMappings property is set
internal bool IsSetAttachmentFieldMappings()
{
return this._attachmentFieldMappings != null && this._attachmentFieldMappings.Count > 0;
}
///
/// Gets and sets the property CommentFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Jira comments to Amazon Kendra index field names. To create custom
/// fields, use the UpdateIndex
API before you map to Jira fields. For more
/// information, see
/// Mapping data source fields. The Jira data source field names must exist in your
/// Jira custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List CommentFieldMappings
{
get { return this._commentFieldMappings; }
set { this._commentFieldMappings = value; }
}
// Check to see if CommentFieldMappings property is set
internal bool IsSetCommentFieldMappings()
{
return this._commentFieldMappings != null && this._commentFieldMappings.Count > 0;
}
///
/// Gets and sets the property ExclusionPatterns.
///
/// A list of regular expression patterns to exclude certain file paths, file names, and
/// file types in your Jira data source. Files that match the patterns are excluded from
/// the index. Files that don’t match the patterns are included in the index. If a file
/// matches both an inclusion pattern and an exclusion pattern, the exclusion pattern
/// takes precedence and the file isn't included in the index.
///
///
[AWSProperty(Min=0, Max=250)]
public List ExclusionPatterns
{
get { return this._exclusionPatterns; }
set { this._exclusionPatterns = value; }
}
// Check to see if ExclusionPatterns property is set
internal bool IsSetExclusionPatterns()
{
return this._exclusionPatterns != null && this._exclusionPatterns.Count > 0;
}
///
/// Gets and sets the property InclusionPatterns.
///
/// A list of regular expression patterns to include certain file paths, file names, and
/// file types in your Jira data source. Files that match the patterns are included in
/// the index. Files that don't match the patterns are excluded from the index. If a file
/// matches both an inclusion pattern and an exclusion pattern, the exclusion pattern
/// takes precedence and the file isn't included in the index.
///
///
[AWSProperty(Min=0, Max=250)]
public List InclusionPatterns
{
get { return this._inclusionPatterns; }
set { this._inclusionPatterns = value; }
}
// Check to see if InclusionPatterns property is set
internal bool IsSetInclusionPatterns()
{
return this._inclusionPatterns != null && this._inclusionPatterns.Count > 0;
}
///
/// Gets and sets the property IssueFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Jira issues to Amazon Kendra index field names. To create custom fields,
/// use the UpdateIndex
API before you map to Jira fields. For more information,
/// see Mapping
/// data source fields. The Jira data source field names must exist in your Jira custom
/// metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List IssueFieldMappings
{
get { return this._issueFieldMappings; }
set { this._issueFieldMappings = value; }
}
// Check to see if IssueFieldMappings property is set
internal bool IsSetIssueFieldMappings()
{
return this._issueFieldMappings != null && this._issueFieldMappings.Count > 0;
}
///
/// Gets and sets the property IssueSubEntityFilter.
///
/// Specify whether to crawl comments, attachments, and work logs. You can specify one
/// or more of these options.
///
///
[AWSProperty(Min=0, Max=3)]
public List IssueSubEntityFilter
{
get { return this._issueSubEntityFilter; }
set { this._issueSubEntityFilter = value; }
}
// Check to see if IssueSubEntityFilter property is set
internal bool IsSetIssueSubEntityFilter()
{
return this._issueSubEntityFilter != null && this._issueSubEntityFilter.Count > 0;
}
///
/// Gets and sets the property IssueType.
///
/// Specify which issue types to crawl in your Jira data source. You can specify one or
/// more of these options to crawl.
///
///
public List IssueType
{
get { return this._issueType; }
set { this._issueType = value; }
}
// Check to see if IssueType property is set
internal bool IsSetIssueType()
{
return this._issueType != null && this._issueType.Count > 0;
}
///
/// Gets and sets the property JiraAccountUrl.
///
/// The URL of the Jira account. For example, company.atlassian.net.
///
///
[AWSProperty(Required=true, Min=1, Max=2048)]
public string JiraAccountUrl
{
get { return this._jiraAccountUrl; }
set { this._jiraAccountUrl = value; }
}
// Check to see if JiraAccountUrl property is set
internal bool IsSetJiraAccountUrl()
{
return this._jiraAccountUrl != null;
}
///
/// Gets and sets the property Project.
///
/// Specify which projects to crawl in your Jira data source. You can specify one or more
/// Jira project IDs.
///
///
public List Project
{
get { return this._project; }
set { this._project = value; }
}
// Check to see if Project property is set
internal bool IsSetProject()
{
return this._project != null && this._project.Count > 0;
}
///
/// Gets and sets the property ProjectFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Jira projects to Amazon Kendra index field names. To create custom
/// fields, use the UpdateIndex
API before you map to Jira fields. For more
/// information, see
/// Mapping data source fields. The Jira data source field names must exist in your
/// Jira custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List ProjectFieldMappings
{
get { return this._projectFieldMappings; }
set { this._projectFieldMappings = value; }
}
// Check to see if ProjectFieldMappings property is set
internal bool IsSetProjectFieldMappings()
{
return this._projectFieldMappings != null && this._projectFieldMappings.Count > 0;
}
///
/// Gets and sets the property SecretArn.
///
/// The Amazon Resource Name (ARN) of a secret in Secrets Manager contains the key-value
/// pairs required to connect to your Jira data source. The secret must contain a JSON
/// structure with the following keys:
///
/// -
///
/// jiraId—The Jira user name or email.
///
///
-
///
/// jiraCredentials—The Jira API token. For more information, see Using
/// a Jira data source.
///
///
///
[AWSProperty(Required=true, Min=1, Max=1284)]
public string SecretArn
{
get { return this._secretArn; }
set { this._secretArn = value; }
}
// Check to see if SecretArn property is set
internal bool IsSetSecretArn()
{
return this._secretArn != null;
}
///
/// Gets and sets the property Status.
///
/// Specify which statuses to crawl in your Jira data source. You can specify one or more
/// of these options to crawl.
///
///
public List Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null && this._status.Count > 0;
}
///
/// Gets and sets the property UseChangeLog.
///
/// TRUE
to use the Jira 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 Jira.
///
///
public bool UseChangeLog
{
get { return this._useChangeLog.GetValueOrDefault(); }
set { this._useChangeLog = value; }
}
// Check to see if UseChangeLog property is set
internal bool IsSetUseChangeLog()
{
return this._useChangeLog.HasValue;
}
///
/// Gets and sets the property VpcConfiguration.
///
/// Configuration information for an Amazon Virtual Private Cloud to connect to your Jira.
/// For more information, see Configuring
/// a VPC.
///
///
public DataSourceVpcConfiguration VpcConfiguration
{
get { return this._vpcConfiguration; }
set { this._vpcConfiguration = value; }
}
// Check to see if VpcConfiguration property is set
internal bool IsSetVpcConfiguration()
{
return this._vpcConfiguration != null;
}
///
/// Gets and sets the property WorkLogFieldMappings.
///
/// A list of DataSourceToIndexFieldMapping
objects that map attributes or
/// field names of Jira work logs to Amazon Kendra index field names. To create custom
/// fields, use the UpdateIndex
API before you map to Jira fields. For more
/// information, see
/// Mapping data source fields. The Jira data source field names must exist in your
/// Jira custom metadata.
///
///
[AWSProperty(Min=1, Max=100)]
public List WorkLogFieldMappings
{
get { return this._workLogFieldMappings; }
set { this._workLogFieldMappings = value; }
}
// Check to see if WorkLogFieldMappings property is set
internal bool IsSetWorkLogFieldMappings()
{
return this._workLogFieldMappings != null && this._workLogFieldMappings.Count > 0;
}
}
}