/* * 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 Confluence as your data source. /// public partial class ConfluenceConfiguration { private ConfluenceAttachmentConfiguration _attachmentConfiguration; private ConfluenceAuthenticationType _authenticationType; private ConfluenceBlogConfiguration _blogConfiguration; private List _exclusionPatterns = new List(); private List _inclusionPatterns = new List(); private ConfluencePageConfiguration _pageConfiguration; private ProxyConfiguration _proxyConfiguration; private string _secretArn; private string _serverUrl; private ConfluenceSpaceConfiguration _spaceConfiguration; private ConfluenceVersion _version; private DataSourceVpcConfiguration _vpcConfiguration; /// /// Gets and sets the property AttachmentConfiguration. /// /// Configuration information for indexing attachments to Confluence blogs and pages. /// /// public ConfluenceAttachmentConfiguration AttachmentConfiguration { get { return this._attachmentConfiguration; } set { this._attachmentConfiguration = value; } } // Check to see if AttachmentConfiguration property is set internal bool IsSetAttachmentConfiguration() { return this._attachmentConfiguration != null; } /// /// Gets and sets the property AuthenticationType. /// /// Whether you want to connect to Confluence using basic authentication of user name /// and password, or a personal access token. You can use a personal access token for /// Confluence Server. /// /// public ConfluenceAuthenticationType AuthenticationType { get { return this._authenticationType; } set { this._authenticationType = value; } } // Check to see if AuthenticationType property is set internal bool IsSetAuthenticationType() { return this._authenticationType != null; } /// /// Gets and sets the property BlogConfiguration. /// /// Configuration information for indexing Confluence blogs. /// /// public ConfluenceBlogConfiguration BlogConfiguration { get { return this._blogConfiguration; } set { this._blogConfiguration = value; } } // Check to see if BlogConfiguration property is set internal bool IsSetBlogConfiguration() { return this._blogConfiguration != null; } /// /// Gets and sets the property ExclusionPatterns. /// /// A list of regular expression patterns to exclude certain blog posts, pages, spaces, /// or attachments in your Confluence. Content that matches the patterns are excluded /// from the index. Content that doesn't match the patterns is included in the index. /// If content matches both an inclusion and exclusion pattern, the exclusion pattern /// takes precedence and the content 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 blog posts, pages, spaces, /// or attachments in your Confluence. Content that matches the patterns are included /// in the index. Content that doesn't match the patterns is excluded from the index. /// If content matches both an inclusion and exclusion pattern, the exclusion pattern /// takes precedence and the content 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 PageConfiguration. /// /// Configuration information for indexing Confluence pages. /// /// public ConfluencePageConfiguration PageConfiguration { get { return this._pageConfiguration; } set { this._pageConfiguration = value; } } // Check to see if PageConfiguration property is set internal bool IsSetPageConfiguration() { return this._pageConfiguration != null; } /// /// Gets and sets the property ProxyConfiguration. /// /// Configuration information to connect to your Confluence URL instance via a web proxy. /// You can use this option for Confluence Server. /// /// /// /// You must provide the website host name and port number. For example, the host name /// of https://a.example.com/page1.html is "a.example.com" and the port is 443, /// the standard port for HTTPS. /// /// /// /// Web proxy credentials are optional and you can use them to connect to a web proxy /// server that requires basic authentication of user name and password. To store web /// proxy credentials, you use a secret in Secrets Manager. /// /// /// /// It is recommended that you follow best security practices when configuring your web /// proxy. This includes setting up throttling, setting up logging and monitoring, and /// applying security patches on a regular basis. If you use your web proxy with multiple /// data sources, sync jobs that occur at the same time could strain the load on your /// proxy. It is recommended you prepare your proxy beforehand for any security and load /// requirements. /// /// public ProxyConfiguration ProxyConfiguration { get { return this._proxyConfiguration; } set { this._proxyConfiguration = value; } } // Check to see if ProxyConfiguration property is set internal bool IsSetProxyConfiguration() { return this._proxyConfiguration != null; } /// /// Gets and sets the property SecretArn. /// /// The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the user /// name and password required to connect to the Confluence instance. If you use Confluence /// Cloud, you use a generated API token as the password. /// /// /// /// You can also provide authentication credentials in the form of a personal access token. /// For more information, see Using /// a Confluence 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 ServerUrl. /// /// The URL of your Confluence instance. Use the full URL of the server. For example, /// https://server.example.com:port/. You can also use an IP address, for example, /// https://192.168.1.113/. /// /// [AWSProperty(Required=true, Min=1, Max=2048)] public string ServerUrl { get { return this._serverUrl; } set { this._serverUrl = value; } } // Check to see if ServerUrl property is set internal bool IsSetServerUrl() { return this._serverUrl != null; } /// /// Gets and sets the property SpaceConfiguration. /// /// Configuration information for indexing Confluence spaces. /// /// public ConfluenceSpaceConfiguration SpaceConfiguration { get { return this._spaceConfiguration; } set { this._spaceConfiguration = value; } } // Check to see if SpaceConfiguration property is set internal bool IsSetSpaceConfiguration() { return this._spaceConfiguration != null; } /// /// Gets and sets the property Version. /// /// The version or the type of Confluence installation to connect to. /// /// [AWSProperty(Required=true)] public ConfluenceVersion Version { get { return this._version; } set { this._version = value; } } // Check to see if Version property is set internal bool IsSetVersion() { return this._version != null; } /// /// Gets and sets the property VpcConfiguration. /// /// Configuration information for an Amazon Virtual Private Cloud to connect to your Confluence. /// 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; } } }