/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 Box as your data * source.

See Also:

AWS * API Reference

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

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline const Aws::String& GetEnterpriseId() const{ return m_enterpriseId; } /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline bool EnterpriseIdHasBeenSet() const { return m_enterpriseIdHasBeenSet; } /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline void SetEnterpriseId(const Aws::String& value) { m_enterpriseIdHasBeenSet = true; m_enterpriseId = value; } /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline void SetEnterpriseId(Aws::String&& value) { m_enterpriseIdHasBeenSet = true; m_enterpriseId = std::move(value); } /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline void SetEnterpriseId(const char* value) { m_enterpriseIdHasBeenSet = true; m_enterpriseId.assign(value); } /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline BoxConfiguration& WithEnterpriseId(const Aws::String& value) { SetEnterpriseId(value); return *this;} /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline BoxConfiguration& WithEnterpriseId(Aws::String&& value) { SetEnterpriseId(std::move(value)); return *this;} /** *

The identifier of the Box Enterprise platform. You can find the enterprise ID * in the Box Developer Console settings or when you create an app in Box and * download your authentication credentials. For example, 801234567.

*/ inline BoxConfiguration& WithEnterpriseId(const char* value) { SetEnterpriseId(value); return *this;} /** *

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box data source.

*/ inline const Aws::String& GetSecretArn() const{ return m_secretArn; } /** *

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box data source.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box 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 * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box 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 * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box 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 * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box data source.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box data source.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Box platform. The secret must * contain a JSON structure with the following keys:

  • clientID—The * identifier of the client OAuth 2.0 authentication application created in * Box.

  • clientSecret—A set of characters known only to the OAuth * 2.0 authentication application created in Box.

  • publicKeyId—The * identifier of the public key contained within an identity certificate.

  • *
  • privateKey—A set of characters that make up an encryption key.

  • *
  • passphrase—A set of characters that act like a password.

*

You create an application in Box to generate the keys or credentials required * for the secret. For more information, see Using a * Box data source.

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

TRUE to use the Slack change log to determine which documents * require updating in the index. Depending on the data source change log's size, * it may take longer for Amazon Kendra to use the change log than to scan all of * your documents.

*/ inline bool GetUseChangeLog() const{ return m_useChangeLog; } /** *

TRUE to use the Slack change log to determine which documents * require updating in the index. Depending on the data source change log's size, * it may take longer for Amazon Kendra to use the change log than to scan all of * your documents.

*/ inline bool UseChangeLogHasBeenSet() const { return m_useChangeLogHasBeenSet; } /** *

TRUE to use the Slack change log to determine which documents * require updating in the index. Depending on the data source change log's size, * it may take longer for Amazon Kendra to use the change log than to scan all of * your documents.

*/ inline void SetUseChangeLog(bool value) { m_useChangeLogHasBeenSet = true; m_useChangeLog = value; } /** *

TRUE to use the Slack change log to determine which documents * require updating in the index. Depending on the data source change log's size, * it may take longer for Amazon Kendra to use the change log than to scan all of * your documents.

*/ inline BoxConfiguration& WithUseChangeLog(bool value) { SetUseChangeLog(value); return *this;} /** *

TRUE to index comments.

*/ inline bool GetCrawlComments() const{ return m_crawlComments; } /** *

TRUE to index comments.

*/ inline bool CrawlCommentsHasBeenSet() const { return m_crawlCommentsHasBeenSet; } /** *

TRUE to index comments.

*/ inline void SetCrawlComments(bool value) { m_crawlCommentsHasBeenSet = true; m_crawlComments = value; } /** *

TRUE to index comments.

*/ inline BoxConfiguration& WithCrawlComments(bool value) { SetCrawlComments(value); return *this;} /** *

TRUE to index the contents of tasks.

*/ inline bool GetCrawlTasks() const{ return m_crawlTasks; } /** *

TRUE to index the contents of tasks.

*/ inline bool CrawlTasksHasBeenSet() const { return m_crawlTasksHasBeenSet; } /** *

TRUE to index the contents of tasks.

*/ inline void SetCrawlTasks(bool value) { m_crawlTasksHasBeenSet = true; m_crawlTasks = value; } /** *

TRUE to index the contents of tasks.

*/ inline BoxConfiguration& WithCrawlTasks(bool value) { SetCrawlTasks(value); return *this;} /** *

TRUE to index web links.

*/ inline bool GetCrawlWebLinks() const{ return m_crawlWebLinks; } /** *

TRUE to index web links.

*/ inline bool CrawlWebLinksHasBeenSet() const { return m_crawlWebLinksHasBeenSet; } /** *

TRUE to index web links.

*/ inline void SetCrawlWebLinks(bool value) { m_crawlWebLinksHasBeenSet = true; m_crawlWebLinks = value; } /** *

TRUE to index web links.

*/ inline BoxConfiguration& WithCrawlWebLinks(bool value) { SetCrawlWebLinks(value); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline const Aws::Vector& GetFileFieldMappings() const{ return m_fileFieldMappings; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline bool FileFieldMappingsHasBeenSet() const { return m_fileFieldMappingsHasBeenSet; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetFileFieldMappings(const Aws::Vector& value) { m_fileFieldMappingsHasBeenSet = true; m_fileFieldMappings = value; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetFileFieldMappings(Aws::Vector&& value) { m_fileFieldMappingsHasBeenSet = true; m_fileFieldMappings = std::move(value); } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithFileFieldMappings(const Aws::Vector& value) { SetFileFieldMappings(value); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithFileFieldMappings(Aws::Vector&& value) { SetFileFieldMappings(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddFileFieldMappings(const DataSourceToIndexFieldMapping& value) { m_fileFieldMappingsHasBeenSet = true; m_fileFieldMappings.push_back(value); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box files to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddFileFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fileFieldMappingsHasBeenSet = true; m_fileFieldMappings.push_back(std::move(value)); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline const Aws::Vector& GetTaskFieldMappings() const{ return m_taskFieldMappings; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline bool TaskFieldMappingsHasBeenSet() const { return m_taskFieldMappingsHasBeenSet; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetTaskFieldMappings(const Aws::Vector& value) { m_taskFieldMappingsHasBeenSet = true; m_taskFieldMappings = value; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetTaskFieldMappings(Aws::Vector&& value) { m_taskFieldMappingsHasBeenSet = true; m_taskFieldMappings = std::move(value); } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithTaskFieldMappings(const Aws::Vector& value) { SetTaskFieldMappings(value); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithTaskFieldMappings(Aws::Vector&& value) { SetTaskFieldMappings(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddTaskFieldMappings(const DataSourceToIndexFieldMapping& value) { m_taskFieldMappingsHasBeenSet = true; m_taskFieldMappings.push_back(value); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box tasks to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddTaskFieldMappings(DataSourceToIndexFieldMapping&& value) { m_taskFieldMappingsHasBeenSet = true; m_taskFieldMappings.push_back(std::move(value)); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline const Aws::Vector& GetCommentFieldMappings() const{ return m_commentFieldMappings; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline bool CommentFieldMappingsHasBeenSet() const { return m_commentFieldMappingsHasBeenSet; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetCommentFieldMappings(const Aws::Vector& value) { m_commentFieldMappingsHasBeenSet = true; m_commentFieldMappings = value; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetCommentFieldMappings(Aws::Vector&& value) { m_commentFieldMappingsHasBeenSet = true; m_commentFieldMappings = std::move(value); } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithCommentFieldMappings(const Aws::Vector& value) { SetCommentFieldMappings(value); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithCommentFieldMappings(Aws::Vector&& value) { SetCommentFieldMappings(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddCommentFieldMappings(const DataSourceToIndexFieldMapping& value) { m_commentFieldMappingsHasBeenSet = true; m_commentFieldMappings.push_back(value); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box comments to Amazon Kendra index field names. To * create custom fields, use the UpdateIndex API before you map to Box * fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddCommentFieldMappings(DataSourceToIndexFieldMapping&& value) { m_commentFieldMappingsHasBeenSet = true; m_commentFieldMappings.push_back(std::move(value)); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline const Aws::Vector& GetWebLinkFieldMappings() const{ return m_webLinkFieldMappings; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline bool WebLinkFieldMappingsHasBeenSet() const { return m_webLinkFieldMappingsHasBeenSet; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetWebLinkFieldMappings(const Aws::Vector& value) { m_webLinkFieldMappingsHasBeenSet = true; m_webLinkFieldMappings = value; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline void SetWebLinkFieldMappings(Aws::Vector&& value) { m_webLinkFieldMappingsHasBeenSet = true; m_webLinkFieldMappings = std::move(value); } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithWebLinkFieldMappings(const Aws::Vector& value) { SetWebLinkFieldMappings(value); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& WithWebLinkFieldMappings(Aws::Vector&& value) { SetWebLinkFieldMappings(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddWebLinkFieldMappings(const DataSourceToIndexFieldMapping& value) { m_webLinkFieldMappingsHasBeenSet = true; m_webLinkFieldMappings.push_back(value); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * attributes or field names of Box web links to Amazon Kendra index field names. * To create custom fields, use the UpdateIndex API before you map to * Box fields. For more information, see Mapping * data source fields. The Box field names must exist in your Box custom * metadata.

*/ inline BoxConfiguration& AddWebLinkFieldMappings(DataSourceToIndexFieldMapping&& value) { m_webLinkFieldMappingsHasBeenSet = true; m_webLinkFieldMappings.push_back(std::move(value)); return *this; } /** *

A list of regular expression patterns to include certain files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

*/ inline const Aws::Vector& GetInclusionPatterns() const{ return m_inclusionPatterns; } /** *

A list of regular expression patterns to include certain files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

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

A list of regular expression patterns to include certain files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder 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 files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder 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 files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

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

A list of regular expression patterns to include certain files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

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

A list of regular expression patterns to include certain files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

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

A list of regular expression patterns to include certain files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

*/ inline BoxConfiguration& 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 files and folders in * your Box platform. Files and folders that match the patterns are included in the * index. Files and folders that don't match the patterns are excluded from the * index. If a file or folder matches both an inclusion and exclusion pattern, the * exclusion pattern takes precedence and the file or folder isn't included in the * index.

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

A list of regular expression patterns to exclude certain files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

*/ inline const Aws::Vector& GetExclusionPatterns() const{ return m_exclusionPatterns; } /** *

A list of regular expression patterns to exclude certain files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

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

A list of regular expression patterns to exclude certain files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder 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 files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder 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 files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

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

A list of regular expression patterns to exclude certain files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

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

A list of regular expression patterns to exclude certain files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

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

A list of regular expression patterns to exclude certain files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

*/ inline BoxConfiguration& 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 files and folders * from your Box platform. Files and folders that match the patterns are excluded * from the index.Files and folders that don't match the patterns are included in * the index. If a file or folder matches both an inclusion and exclusion pattern, * the exclusion pattern takes precedence and the file or folder isn't included in * the index.

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

Configuration information for an Amazon VPC to connect to your Box. For more * information, see Configuring * a VPC.

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

Configuration information for an Amazon VPC to connect to your Box. For more * information, see Configuring * a VPC.

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

Configuration information for an Amazon VPC to connect to your Box. For more * information, see Configuring * a VPC.

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

Configuration information for an Amazon VPC to connect to your Box. 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 VPC to connect to your Box. For more * information, see Configuring * a VPC.

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

Configuration information for an Amazon VPC to connect to your Box. For more * information, see Configuring * a VPC.

*/ inline BoxConfiguration& WithVpcConfiguration(DataSourceVpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} private: Aws::String m_enterpriseId; bool m_enterpriseIdHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; bool m_useChangeLog; bool m_useChangeLogHasBeenSet = false; bool m_crawlComments; bool m_crawlCommentsHasBeenSet = false; bool m_crawlTasks; bool m_crawlTasksHasBeenSet = false; bool m_crawlWebLinks; bool m_crawlWebLinksHasBeenSet = false; Aws::Vector m_fileFieldMappings; bool m_fileFieldMappingsHasBeenSet = false; Aws::Vector m_taskFieldMappings; bool m_taskFieldMappingsHasBeenSet = false; Aws::Vector m_commentFieldMappings; bool m_commentFieldMappingsHasBeenSet = false; Aws::Vector m_webLinkFieldMappings; bool m_webLinkFieldMappingsHasBeenSet = false; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet = false; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet = false; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws