/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Provides the configuration information to connect to Confluence as your data * source.

See Also:

AWS * API Reference

*/ class ConfluenceConfiguration { public: AWS_KENDRA_API ConfluenceConfiguration(); AWS_KENDRA_API ConfluenceConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API ConfluenceConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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/.

*/ inline const Aws::String& GetServerUrl() const{ return m_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/.

*/ inline bool ServerUrlHasBeenSet() const { return m_serverUrlHasBeenSet; } /** *

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/.

*/ inline void SetServerUrl(const Aws::String& value) { m_serverUrlHasBeenSet = true; m_serverUrl = value; } /** *

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/.

*/ inline void SetServerUrl(Aws::String&& value) { m_serverUrlHasBeenSet = true; m_serverUrl = std::move(value); } /** *

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/.

*/ inline void SetServerUrl(const char* value) { m_serverUrlHasBeenSet = true; m_serverUrl.assign(value); } /** *

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/.

*/ inline ConfluenceConfiguration& WithServerUrl(const Aws::String& value) { SetServerUrl(value); return *this;} /** *

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/.

*/ inline ConfluenceConfiguration& WithServerUrl(Aws::String&& value) { SetServerUrl(std::move(value)); return *this;} /** *

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/.

*/ inline ConfluenceConfiguration& WithServerUrl(const char* value) { SetServerUrl(value); return *this;} /** *

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.

*/ inline const Aws::String& GetSecretArn() const{ return m_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.

*/ inline bool SecretArnHasBeenSet() const { return m_secretArnHasBeenSet; } /** *

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.

*/ inline void SetSecretArn(const Aws::String& value) { m_secretArnHasBeenSet = true; m_secretArn = value; } /** *

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.

*/ inline void SetSecretArn(Aws::String&& value) { m_secretArnHasBeenSet = true; m_secretArn = std::move(value); } /** *

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.

*/ inline void SetSecretArn(const char* value) { m_secretArnHasBeenSet = true; m_secretArn.assign(value); } /** *

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.

*/ inline ConfluenceConfiguration& WithSecretArn(const Aws::String& value) { SetSecretArn(value); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& WithSecretArn(Aws::String&& value) { SetSecretArn(std::move(value)); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} /** *

The version or the type of Confluence installation to connect to.

*/ inline const ConfluenceVersion& GetVersion() const{ return m_version; } /** *

The version or the type of Confluence installation to connect to.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version or the type of Confluence installation to connect to.

*/ inline void SetVersion(const ConfluenceVersion& value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version or the type of Confluence installation to connect to.

*/ inline void SetVersion(ConfluenceVersion&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

The version or the type of Confluence installation to connect to.

*/ inline ConfluenceConfiguration& WithVersion(const ConfluenceVersion& value) { SetVersion(value); return *this;} /** *

The version or the type of Confluence installation to connect to.

*/ inline ConfluenceConfiguration& WithVersion(ConfluenceVersion&& value) { SetVersion(std::move(value)); return *this;} /** *

Configuration information for indexing Confluence spaces.

*/ inline const ConfluenceSpaceConfiguration& GetSpaceConfiguration() const{ return m_spaceConfiguration; } /** *

Configuration information for indexing Confluence spaces.

*/ inline bool SpaceConfigurationHasBeenSet() const { return m_spaceConfigurationHasBeenSet; } /** *

Configuration information for indexing Confluence spaces.

*/ inline void SetSpaceConfiguration(const ConfluenceSpaceConfiguration& value) { m_spaceConfigurationHasBeenSet = true; m_spaceConfiguration = value; } /** *

Configuration information for indexing Confluence spaces.

*/ inline void SetSpaceConfiguration(ConfluenceSpaceConfiguration&& value) { m_spaceConfigurationHasBeenSet = true; m_spaceConfiguration = std::move(value); } /** *

Configuration information for indexing Confluence spaces.

*/ inline ConfluenceConfiguration& WithSpaceConfiguration(const ConfluenceSpaceConfiguration& value) { SetSpaceConfiguration(value); return *this;} /** *

Configuration information for indexing Confluence spaces.

*/ inline ConfluenceConfiguration& WithSpaceConfiguration(ConfluenceSpaceConfiguration&& value) { SetSpaceConfiguration(std::move(value)); return *this;} /** *

Configuration information for indexing Confluence pages.

*/ inline const ConfluencePageConfiguration& GetPageConfiguration() const{ return m_pageConfiguration; } /** *

Configuration information for indexing Confluence pages.

*/ inline bool PageConfigurationHasBeenSet() const { return m_pageConfigurationHasBeenSet; } /** *

Configuration information for indexing Confluence pages.

*/ inline void SetPageConfiguration(const ConfluencePageConfiguration& value) { m_pageConfigurationHasBeenSet = true; m_pageConfiguration = value; } /** *

Configuration information for indexing Confluence pages.

*/ inline void SetPageConfiguration(ConfluencePageConfiguration&& value) { m_pageConfigurationHasBeenSet = true; m_pageConfiguration = std::move(value); } /** *

Configuration information for indexing Confluence pages.

*/ inline ConfluenceConfiguration& WithPageConfiguration(const ConfluencePageConfiguration& value) { SetPageConfiguration(value); return *this;} /** *

Configuration information for indexing Confluence pages.

*/ inline ConfluenceConfiguration& WithPageConfiguration(ConfluencePageConfiguration&& value) { SetPageConfiguration(std::move(value)); return *this;} /** *

Configuration information for indexing Confluence blogs.

*/ inline const ConfluenceBlogConfiguration& GetBlogConfiguration() const{ return m_blogConfiguration; } /** *

Configuration information for indexing Confluence blogs.

*/ inline bool BlogConfigurationHasBeenSet() const { return m_blogConfigurationHasBeenSet; } /** *

Configuration information for indexing Confluence blogs.

*/ inline void SetBlogConfiguration(const ConfluenceBlogConfiguration& value) { m_blogConfigurationHasBeenSet = true; m_blogConfiguration = value; } /** *

Configuration information for indexing Confluence blogs.

*/ inline void SetBlogConfiguration(ConfluenceBlogConfiguration&& value) { m_blogConfigurationHasBeenSet = true; m_blogConfiguration = std::move(value); } /** *

Configuration information for indexing Confluence blogs.

*/ inline ConfluenceConfiguration& WithBlogConfiguration(const ConfluenceBlogConfiguration& value) { SetBlogConfiguration(value); return *this;} /** *

Configuration information for indexing Confluence blogs.

*/ inline ConfluenceConfiguration& WithBlogConfiguration(ConfluenceBlogConfiguration&& value) { SetBlogConfiguration(std::move(value)); return *this;} /** *

Configuration information for indexing attachments to Confluence blogs and * pages.

*/ inline const ConfluenceAttachmentConfiguration& GetAttachmentConfiguration() const{ return m_attachmentConfiguration; } /** *

Configuration information for indexing attachments to Confluence blogs and * pages.

*/ inline bool AttachmentConfigurationHasBeenSet() const { return m_attachmentConfigurationHasBeenSet; } /** *

Configuration information for indexing attachments to Confluence blogs and * pages.

*/ inline void SetAttachmentConfiguration(const ConfluenceAttachmentConfiguration& value) { m_attachmentConfigurationHasBeenSet = true; m_attachmentConfiguration = value; } /** *

Configuration information for indexing attachments to Confluence blogs and * pages.

*/ inline void SetAttachmentConfiguration(ConfluenceAttachmentConfiguration&& value) { m_attachmentConfigurationHasBeenSet = true; m_attachmentConfiguration = std::move(value); } /** *

Configuration information for indexing attachments to Confluence blogs and * pages.

*/ inline ConfluenceConfiguration& WithAttachmentConfiguration(const ConfluenceAttachmentConfiguration& value) { SetAttachmentConfiguration(value); return *this;} /** *

Configuration information for indexing attachments to Confluence blogs and * pages.

*/ inline ConfluenceConfiguration& WithAttachmentConfiguration(ConfluenceAttachmentConfiguration&& value) { SetAttachmentConfiguration(std::move(value)); return *this;} /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Confluence. For more information, see Configuring * a VPC.

*/ inline const DataSourceVpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Confluence. For more information, see Configuring * a VPC.

*/ inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Confluence. For more information, see Configuring * a VPC.

*/ inline void SetVpcConfiguration(const DataSourceVpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Confluence. For more information, see Configuring * a VPC.

*/ inline void SetVpcConfiguration(DataSourceVpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Confluence. For more information, see Configuring * a VPC.

*/ inline ConfluenceConfiguration& WithVpcConfiguration(const DataSourceVpcConfiguration& value) { SetVpcConfiguration(value); return *this;} /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Confluence. For more information, see Configuring * a VPC.

*/ inline ConfluenceConfiguration& WithVpcConfiguration(DataSourceVpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Vector& GetInclusionPatterns() const{ return m_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.

*/ inline bool InclusionPatternsHasBeenSet() const { return m_inclusionPatternsHasBeenSet; } /** *

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.

*/ inline void SetInclusionPatterns(const Aws::Vector& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns = value; } /** *

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.

*/ inline void SetInclusionPatterns(Aws::Vector&& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns = std::move(value); } /** *

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.

*/ inline ConfluenceConfiguration& WithInclusionPatterns(const Aws::Vector& value) { SetInclusionPatterns(value); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& WithInclusionPatterns(Aws::Vector&& value) { SetInclusionPatterns(std::move(value)); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& AddInclusionPatterns(const Aws::String& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline ConfluenceConfiguration& AddInclusionPatterns(Aws::String&& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(std::move(value)); return *this; } /** *

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.

*/ inline ConfluenceConfiguration& AddInclusionPatterns(const char* value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetExclusionPatterns() const{ return m_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.

*/ inline bool ExclusionPatternsHasBeenSet() const { return m_exclusionPatternsHasBeenSet; } /** *

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.

*/ inline void SetExclusionPatterns(const Aws::Vector& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns = value; } /** *

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.

*/ inline void SetExclusionPatterns(Aws::Vector&& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns = std::move(value); } /** *

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.

*/ inline ConfluenceConfiguration& WithExclusionPatterns(const Aws::Vector& value) { SetExclusionPatterns(value); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& WithExclusionPatterns(Aws::Vector&& value) { SetExclusionPatterns(std::move(value)); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& AddExclusionPatterns(const Aws::String& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline ConfluenceConfiguration& AddExclusionPatterns(Aws::String&& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(std::move(value)); return *this; } /** *

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.

*/ inline ConfluenceConfiguration& AddExclusionPatterns(const char* value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(value); return *this; } /** *

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.

*/ inline const ProxyConfiguration& GetProxyConfiguration() const{ return m_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.

*/ inline bool ProxyConfigurationHasBeenSet() const { return m_proxyConfigurationHasBeenSet; } /** *

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.

*/ inline void SetProxyConfiguration(const ProxyConfiguration& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = value; } /** *

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.

*/ inline void SetProxyConfiguration(ProxyConfiguration&& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = std::move(value); } /** *

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.

*/ inline ConfluenceConfiguration& WithProxyConfiguration(const ProxyConfiguration& value) { SetProxyConfiguration(value); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& WithProxyConfiguration(ProxyConfiguration&& value) { SetProxyConfiguration(std::move(value)); return *this;} /** *

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.

*/ inline const ConfluenceAuthenticationType& GetAuthenticationType() const{ return m_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.

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

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.

*/ inline void SetAuthenticationType(const ConfluenceAuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

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.

*/ inline void SetAuthenticationType(ConfluenceAuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

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.

*/ inline ConfluenceConfiguration& WithAuthenticationType(const ConfluenceAuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

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.

*/ inline ConfluenceConfiguration& WithAuthenticationType(ConfluenceAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} private: Aws::String m_serverUrl; bool m_serverUrlHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; ConfluenceVersion m_version; bool m_versionHasBeenSet = false; ConfluenceSpaceConfiguration m_spaceConfiguration; bool m_spaceConfigurationHasBeenSet = false; ConfluencePageConfiguration m_pageConfiguration; bool m_pageConfigurationHasBeenSet = false; ConfluenceBlogConfiguration m_blogConfiguration; bool m_blogConfigurationHasBeenSet = false; ConfluenceAttachmentConfiguration m_attachmentConfiguration; bool m_attachmentConfigurationHasBeenSet = false; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet = false; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet = false; ProxyConfiguration m_proxyConfiguration; bool m_proxyConfigurationHasBeenSet = false; ConfluenceAuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws