/** * 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 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 Amazon FSx as your data * source.

See Also:

AWS * API Reference

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

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline FsxConfiguration& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline FsxConfiguration& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *

The identifier of the Amazon FSx file system.

You can find your file * system ID on the file system dashboard in the Amazon FSx console. For * information on how to create a file system in Amazon FSx console, using Windows * File Server as an example, see Amazon * FSx Getting started guide.

*/ inline FsxConfiguration& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} /** *

The Amazon FSx file system type. Windows is currently the only supported * type.

*/ inline const FsxFileSystemType& GetFileSystemType() const{ return m_fileSystemType; } /** *

The Amazon FSx file system type. Windows is currently the only supported * type.

*/ inline bool FileSystemTypeHasBeenSet() const { return m_fileSystemTypeHasBeenSet; } /** *

The Amazon FSx file system type. Windows is currently the only supported * type.

*/ inline void SetFileSystemType(const FsxFileSystemType& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = value; } /** *

The Amazon FSx file system type. Windows is currently the only supported * type.

*/ inline void SetFileSystemType(FsxFileSystemType&& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = std::move(value); } /** *

The Amazon FSx file system type. Windows is currently the only supported * type.

*/ inline FsxConfiguration& WithFileSystemType(const FsxFileSystemType& value) { SetFileSystemType(value); return *this;} /** *

The Amazon FSx file system type. Windows is currently the only supported * type.

*/ inline FsxConfiguration& WithFileSystemType(FsxFileSystemType&& value) { SetFileSystemType(std::move(value)); return *this;} /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Amazon FSx. Your Amazon FSx instance must reside inside your VPC.

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

Configuration information for an Amazon Virtual Private Cloud to connect to * your Amazon FSx. Your Amazon FSx instance must reside inside your VPC.

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

Configuration information for an Amazon Virtual Private Cloud to connect to * your Amazon FSx. Your Amazon FSx instance must reside inside your 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 Amazon FSx. Your Amazon FSx instance must reside inside your 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 Amazon FSx. Your Amazon FSx instance must reside inside your VPC.

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

Configuration information for an Amazon Virtual Private Cloud to connect to * your Amazon FSx. Your Amazon FSx instance must reside inside your VPC.

*/ inline FsxConfiguration& WithVpcConfiguration(DataSourceVpcConfiguration&& value) { SetVpcConfiguration(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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ inline FsxConfiguration& 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

*/ inline FsxConfiguration& 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 Amazon FSx file system. Windows is * currently the only supported type. The secret must contain a JSON structure with * the following keys:

  • username—The Active Directory user name, * along with the Domain Name System (DNS) domain name. For example, * user@corp.example.com. The Active Directory user account must have read * and mounting access to the Amazon FSx file system for Windows.

  • *

    password—The password of the Active Directory user account with read and * mounting access to the Amazon FSx Windows file system.

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

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

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

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

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

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

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

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

*/ inline FsxConfiguration& 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 in your Amazon * FSx file system. Files that match the patterns are included in the index. Files * that don't match the patterns are excluded from the index. If a file matches * both an inclusion and exclusion pattern, the exclusion pattern takes precedence * and the file isn't included in the index.

*/ inline FsxConfiguration& 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 in your Amazon * FSx file system. Files that match the patterns are included in the index. Files * that don't match the patterns are excluded from the index. If a file matches * both an inclusion and exclusion pattern, the exclusion pattern takes precedence * and the file isn't included in the index.

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

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

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

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

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

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

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

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

*/ inline FsxConfiguration& 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 in your Amazon * FSx file system. Files that match the patterns are excluded from the index. * Files that don't match the patterns are included in the index. If a file matches * both an inclusion and exclusion pattern, the exclusion pattern takes precedence * and the file isn't included in the index.

*/ inline FsxConfiguration& 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 in your Amazon * FSx file system. Files that match the patterns are excluded from the index. * Files that don't match the patterns are included in the index. If a file matches * both an inclusion and exclusion pattern, the exclusion pattern takes precedence * and the file isn't included in the index.

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

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

*/ inline const Aws::Vector& GetFieldMappings() const{ return m_fieldMappings; } /** *

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

*/ inline bool FieldMappingsHasBeenSet() const { return m_fieldMappingsHasBeenSet; } /** *

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

*/ inline void SetFieldMappings(const Aws::Vector& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = value; } /** *

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

*/ inline void SetFieldMappings(Aws::Vector&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = std::move(value); } /** *

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

*/ inline FsxConfiguration& WithFieldMappings(const Aws::Vector& value) { SetFieldMappings(value); return *this;} /** *

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

*/ inline FsxConfiguration& WithFieldMappings(Aws::Vector&& value) { SetFieldMappings(std::move(value)); return *this;} /** *

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

*/ inline FsxConfiguration& AddFieldMappings(const DataSourceToIndexFieldMapping& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(value); return *this; } /** *

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

*/ inline FsxConfiguration& AddFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(std::move(value)); return *this; } private: Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; FsxFileSystemType m_fileSystemType; bool m_fileSystemTypeHasBeenSet = false; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet = false; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet = false; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws