/* * 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 GitHub as your data source. /// public partial class GitHubConfiguration { private List _exclusionFileNamePatterns = new List(); private List _exclusionFileTypePatterns = new List(); private List _exclusionFolderNamePatterns = new List(); private List _gitHubCommitConfigurationFieldMappings = new List(); private GitHubDocumentCrawlProperties _gitHubDocumentCrawlProperties; private List _gitHubIssueAttachmentConfigurationFieldMappings = new List(); private List _gitHubIssueCommentConfigurationFieldMappings = new List(); private List _gitHubIssueDocumentConfigurationFieldMappings = new List(); private List _gitHubPullRequestCommentConfigurationFieldMappings = new List(); private List _gitHubPullRequestDocumentAttachmentConfigurationFieldMappings = new List(); private List _gitHubPullRequestDocumentConfigurationFieldMappings = new List(); private List _gitHubRepositoryConfigurationFieldMappings = new List(); private List _inclusionFileNamePatterns = new List(); private List _inclusionFileTypePatterns = new List(); private List _inclusionFolderNamePatterns = new List(); private OnPremiseConfiguration _onPremiseConfiguration; private List _repositoryFilter = new List(); private SaaSConfiguration _saaSConfiguration; private string _secretArn; private Type _type; private bool? _useChangeLog; private DataSourceVpcConfiguration _vpcConfiguration; /// /// Gets and sets the property ExclusionFileNamePatterns. /// /// A list of regular expression patterns to exclude certain file names in your GitHub /// repository or repositories. File names that match the patterns are excluded from the /// index. File names that don't match the patterns are included in the index. If a file /// matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence /// and the file isn't included in the index. /// /// public List ExclusionFileNamePatterns { get { return this._exclusionFileNamePatterns; } set { this._exclusionFileNamePatterns = value; } } // Check to see if ExclusionFileNamePatterns property is set internal bool IsSetExclusionFileNamePatterns() { return this._exclusionFileNamePatterns != null && this._exclusionFileNamePatterns.Count > 0; } /// /// Gets and sets the property ExclusionFileTypePatterns. /// /// A list of regular expression patterns to exclude certain file types in your GitHub /// repository or repositories. File types that match the patterns are excluded from the /// index. File types that don't match the patterns are included in the index. If a file /// matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence /// and the file isn't included in the index. /// /// public List ExclusionFileTypePatterns { get { return this._exclusionFileTypePatterns; } set { this._exclusionFileTypePatterns = value; } } // Check to see if ExclusionFileTypePatterns property is set internal bool IsSetExclusionFileTypePatterns() { return this._exclusionFileTypePatterns != null && this._exclusionFileTypePatterns.Count > 0; } /// /// Gets and sets the property ExclusionFolderNamePatterns. /// /// A list of regular expression patterns to exclude certain folder names in your GitHub /// repository or repositories. Folder names that match the patterns are excluded from /// the index. Folder names that don't match the patterns are included in the index. If /// a folder matches both an exclusion and inclusion pattern, the exclusion pattern takes /// precedence and the folder isn't included in the index. /// /// public List ExclusionFolderNamePatterns { get { return this._exclusionFolderNamePatterns; } set { this._exclusionFolderNamePatterns = value; } } // Check to see if ExclusionFolderNamePatterns property is set internal bool IsSetExclusionFolderNamePatterns() { return this._exclusionFolderNamePatterns != null && this._exclusionFolderNamePatterns.Count > 0; } /// /// Gets and sets the property GitHubCommitConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub commits to Amazon Kendra index field names. To create custom /// fields, use the UpdateIndex API before you map to GitHub fields. For /// more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubCommitConfigurationFieldMappings { get { return this._gitHubCommitConfigurationFieldMappings; } set { this._gitHubCommitConfigurationFieldMappings = value; } } // Check to see if GitHubCommitConfigurationFieldMappings property is set internal bool IsSetGitHubCommitConfigurationFieldMappings() { return this._gitHubCommitConfigurationFieldMappings != null && this._gitHubCommitConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubDocumentCrawlProperties. /// /// Configuration information to include certain types of GitHub content. You can configure /// to index repository files only, or also include issues and pull requests, comments, /// and comment attachments. /// /// public GitHubDocumentCrawlProperties GitHubDocumentCrawlProperties { get { return this._gitHubDocumentCrawlProperties; } set { this._gitHubDocumentCrawlProperties = value; } } // Check to see if GitHubDocumentCrawlProperties property is set internal bool IsSetGitHubDocumentCrawlProperties() { return this._gitHubDocumentCrawlProperties != null; } /// /// Gets and sets the property GitHubIssueAttachmentConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub issue attachments to Amazon Kendra index field names. To create /// custom fields, use the UpdateIndex API before you map to GitHub fields. /// For more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubIssueAttachmentConfigurationFieldMappings { get { return this._gitHubIssueAttachmentConfigurationFieldMappings; } set { this._gitHubIssueAttachmentConfigurationFieldMappings = value; } } // Check to see if GitHubIssueAttachmentConfigurationFieldMappings property is set internal bool IsSetGitHubIssueAttachmentConfigurationFieldMappings() { return this._gitHubIssueAttachmentConfigurationFieldMappings != null && this._gitHubIssueAttachmentConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubIssueCommentConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub issue comments to Amazon Kendra index field names. To create /// custom fields, use the UpdateIndex API before you map to GitHub fields. /// For more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubIssueCommentConfigurationFieldMappings { get { return this._gitHubIssueCommentConfigurationFieldMappings; } set { this._gitHubIssueCommentConfigurationFieldMappings = value; } } // Check to see if GitHubIssueCommentConfigurationFieldMappings property is set internal bool IsSetGitHubIssueCommentConfigurationFieldMappings() { return this._gitHubIssueCommentConfigurationFieldMappings != null && this._gitHubIssueCommentConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubIssueDocumentConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub issues to Amazon Kendra index field names. To create custom /// fields, use the UpdateIndex API before you map to GitHub fields. For /// more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubIssueDocumentConfigurationFieldMappings { get { return this._gitHubIssueDocumentConfigurationFieldMappings; } set { this._gitHubIssueDocumentConfigurationFieldMappings = value; } } // Check to see if GitHubIssueDocumentConfigurationFieldMappings property is set internal bool IsSetGitHubIssueDocumentConfigurationFieldMappings() { return this._gitHubIssueDocumentConfigurationFieldMappings != null && this._gitHubIssueDocumentConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubPullRequestCommentConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub pull request comments to Amazon Kendra index field names. To /// create custom fields, use the UpdateIndex API before you map to GitHub /// fields. For more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubPullRequestCommentConfigurationFieldMappings { get { return this._gitHubPullRequestCommentConfigurationFieldMappings; } set { this._gitHubPullRequestCommentConfigurationFieldMappings = value; } } // Check to see if GitHubPullRequestCommentConfigurationFieldMappings property is set internal bool IsSetGitHubPullRequestCommentConfigurationFieldMappings() { return this._gitHubPullRequestCommentConfigurationFieldMappings != null && this._gitHubPullRequestCommentConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubPullRequestDocumentAttachmentConfigurationFieldMappings. /// /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub pull request attachments to Amazon Kendra index field names. /// To create custom fields, use the UpdateIndex API before you map to GitHub /// fields. For more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubPullRequestDocumentAttachmentConfigurationFieldMappings { get { return this._gitHubPullRequestDocumentAttachmentConfigurationFieldMappings; } set { this._gitHubPullRequestDocumentAttachmentConfigurationFieldMappings = value; } } // Check to see if GitHubPullRequestDocumentAttachmentConfigurationFieldMappings property is set internal bool IsSetGitHubPullRequestDocumentAttachmentConfigurationFieldMappings() { return this._gitHubPullRequestDocumentAttachmentConfigurationFieldMappings != null && this._gitHubPullRequestDocumentAttachmentConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubPullRequestDocumentConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map attributes or /// field names of GitHub pull requests to Amazon Kendra index field names. To create /// custom fields, use the UpdateIndex API before you map to GitHub fields. /// For more information, see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubPullRequestDocumentConfigurationFieldMappings { get { return this._gitHubPullRequestDocumentConfigurationFieldMappings; } set { this._gitHubPullRequestDocumentConfigurationFieldMappings = value; } } // Check to see if GitHubPullRequestDocumentConfigurationFieldMappings property is set internal bool IsSetGitHubPullRequestDocumentConfigurationFieldMappings() { return this._gitHubPullRequestDocumentConfigurationFieldMappings != null && this._gitHubPullRequestDocumentConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property GitHubRepositoryConfigurationFieldMappings. /// /// A list of DataSourceToIndexFieldMapping objects that map GitHub repository /// attributes or field names to Amazon Kendra index field names. To create custom fields, /// use the UpdateIndex API before you map to GitHub fields. For more information, /// see Mapping /// data source fields. The GitHub data source field names must exist in your GitHub /// custom metadata. /// /// [AWSProperty(Min=1, Max=100)] public List GitHubRepositoryConfigurationFieldMappings { get { return this._gitHubRepositoryConfigurationFieldMappings; } set { this._gitHubRepositoryConfigurationFieldMappings = value; } } // Check to see if GitHubRepositoryConfigurationFieldMappings property is set internal bool IsSetGitHubRepositoryConfigurationFieldMappings() { return this._gitHubRepositoryConfigurationFieldMappings != null && this._gitHubRepositoryConfigurationFieldMappings.Count > 0; } /// /// Gets and sets the property InclusionFileNamePatterns. /// /// A list of regular expression patterns to include certain file names in your GitHub /// repository or repositories. File names that match the patterns are included in the /// index. File names that don't match the patterns are excluded from the index. If a /// file matches both an inclusion and exclusion pattern, the exclusion pattern takes /// precedence and the file isn't included in the index. /// /// public List InclusionFileNamePatterns { get { return this._inclusionFileNamePatterns; } set { this._inclusionFileNamePatterns = value; } } // Check to see if InclusionFileNamePatterns property is set internal bool IsSetInclusionFileNamePatterns() { return this._inclusionFileNamePatterns != null && this._inclusionFileNamePatterns.Count > 0; } /// /// Gets and sets the property InclusionFileTypePatterns. /// /// A list of regular expression patterns to include certain file types in your GitHub /// repository or repositories. File types that match the patterns are included in the /// index. File types that don't match the patterns are excluded from the index. If a /// file matches both an inclusion and exclusion pattern, the exclusion pattern takes /// precedence and the file isn't included in the index. /// /// public List InclusionFileTypePatterns { get { return this._inclusionFileTypePatterns; } set { this._inclusionFileTypePatterns = value; } } // Check to see if InclusionFileTypePatterns property is set internal bool IsSetInclusionFileTypePatterns() { return this._inclusionFileTypePatterns != null && this._inclusionFileTypePatterns.Count > 0; } /// /// Gets and sets the property InclusionFolderNamePatterns. /// /// A list of regular expression patterns to include certain folder names in your GitHub /// repository or repositories. Folder names that match the patterns are included in the /// index. Folder names that don't match the patterns are excluded from the index. If /// a folder matches both an inclusion and exclusion pattern, the exclusion pattern takes /// precedence and the folder isn't included in the index. /// /// public List InclusionFolderNamePatterns { get { return this._inclusionFolderNamePatterns; } set { this._inclusionFolderNamePatterns = value; } } // Check to see if InclusionFolderNamePatterns property is set internal bool IsSetInclusionFolderNamePatterns() { return this._inclusionFolderNamePatterns != null && this._inclusionFolderNamePatterns.Count > 0; } /// /// Gets and sets the property OnPremiseConfiguration. /// /// Configuration information to connect to GitHub Enterprise Server (on premises). /// /// public OnPremiseConfiguration OnPremiseConfiguration { get { return this._onPremiseConfiguration; } set { this._onPremiseConfiguration = value; } } // Check to see if OnPremiseConfiguration property is set internal bool IsSetOnPremiseConfiguration() { return this._onPremiseConfiguration != null; } /// /// Gets and sets the property RepositoryFilter. /// /// A list of names of the specific repositories you want to index. /// /// public List RepositoryFilter { get { return this._repositoryFilter; } set { this._repositoryFilter = value; } } // Check to see if RepositoryFilter property is set internal bool IsSetRepositoryFilter() { return this._repositoryFilter != null && this._repositoryFilter.Count > 0; } /// /// Gets and sets the property SaaSConfiguration. /// /// Configuration information to connect to GitHub Enterprise Cloud (SaaS). /// /// public SaaSConfiguration SaaSConfiguration { get { return this._saaSConfiguration; } set { this._saaSConfiguration = value; } } // Check to see if SaaSConfiguration property is set internal bool IsSetSaaSConfiguration() { return this._saaSConfiguration != null; } /// /// Gets and sets the property SecretArn. /// /// The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the key-value /// pairs required to connect to your GitHub. The secret must contain a JSON structure /// with the following keys: /// ///
  • /// /// personalToken—The access token created in GitHub. For more information on creating /// a token in GitHub, see Using /// a GitHub 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 Type. /// /// The type of GitHub service you want to connect to—GitHub Enterprise Cloud (SaaS) or /// GitHub Enterprise Server (on premises). /// /// public Type Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } /// /// Gets and sets the property UseChangeLog. /// /// TRUE to use the GitHub change log to determine which documents require /// updating in the index. Depending on the GitHub change log's size, it may take longer /// for Amazon Kendra to use the change log than to scan all of your documents in GitHub. /// /// 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 of an Amazon Virtual Private Cloud to connect to your GitHub. /// 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; } } }