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

See Also:

AWS * API Reference

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

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline const Aws::String& GetHostUrl() const{ return m_hostUrl; } /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline bool HostUrlHasBeenSet() const { return m_hostUrlHasBeenSet; } /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline void SetHostUrl(const Aws::String& value) { m_hostUrlHasBeenSet = true; m_hostUrl = value; } /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline void SetHostUrl(Aws::String&& value) { m_hostUrlHasBeenSet = true; m_hostUrl = std::move(value); } /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline void SetHostUrl(const char* value) { m_hostUrlHasBeenSet = true; m_hostUrl.assign(value); } /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline ServiceNowConfiguration& WithHostUrl(const Aws::String& value) { SetHostUrl(value); return *this;} /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline ServiceNowConfiguration& WithHostUrl(Aws::String&& value) { SetHostUrl(std::move(value)); return *this;} /** *

The ServiceNow instance that the data source connects to. The host endpoint * should look like the following: {instance}.service-now.com.

*/ inline ServiceNowConfiguration& WithHostUrl(const char* value) { SetHostUrl(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The Amazon Resource Name (ARN) of the Secrets Manager secret that contains * the user name and password required to connect to the ServiceNow instance. You * can also provide OAuth authentication credentials of user name, password, client * ID, and client secret. For more information, see Using * a ServiceNow data source.

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

The identifier of the release that the ServiceNow host is running. If the * host is not running the LONDON release, use * OTHERS.

*/ inline const ServiceNowBuildVersionType& GetServiceNowBuildVersion() const{ return m_serviceNowBuildVersion; } /** *

The identifier of the release that the ServiceNow host is running. If the * host is not running the LONDON release, use * OTHERS.

*/ inline bool ServiceNowBuildVersionHasBeenSet() const { return m_serviceNowBuildVersionHasBeenSet; } /** *

The identifier of the release that the ServiceNow host is running. If the * host is not running the LONDON release, use * OTHERS.

*/ inline void SetServiceNowBuildVersion(const ServiceNowBuildVersionType& value) { m_serviceNowBuildVersionHasBeenSet = true; m_serviceNowBuildVersion = value; } /** *

The identifier of the release that the ServiceNow host is running. If the * host is not running the LONDON release, use * OTHERS.

*/ inline void SetServiceNowBuildVersion(ServiceNowBuildVersionType&& value) { m_serviceNowBuildVersionHasBeenSet = true; m_serviceNowBuildVersion = std::move(value); } /** *

The identifier of the release that the ServiceNow host is running. If the * host is not running the LONDON release, use * OTHERS.

*/ inline ServiceNowConfiguration& WithServiceNowBuildVersion(const ServiceNowBuildVersionType& value) { SetServiceNowBuildVersion(value); return *this;} /** *

The identifier of the release that the ServiceNow host is running. If the * host is not running the LONDON release, use * OTHERS.

*/ inline ServiceNowConfiguration& WithServiceNowBuildVersion(ServiceNowBuildVersionType&& value) { SetServiceNowBuildVersion(std::move(value)); return *this;} /** *

Configuration information for crawling knowledge articles in the ServiceNow * site.

*/ inline const ServiceNowKnowledgeArticleConfiguration& GetKnowledgeArticleConfiguration() const{ return m_knowledgeArticleConfiguration; } /** *

Configuration information for crawling knowledge articles in the ServiceNow * site.

*/ inline bool KnowledgeArticleConfigurationHasBeenSet() const { return m_knowledgeArticleConfigurationHasBeenSet; } /** *

Configuration information for crawling knowledge articles in the ServiceNow * site.

*/ inline void SetKnowledgeArticleConfiguration(const ServiceNowKnowledgeArticleConfiguration& value) { m_knowledgeArticleConfigurationHasBeenSet = true; m_knowledgeArticleConfiguration = value; } /** *

Configuration information for crawling knowledge articles in the ServiceNow * site.

*/ inline void SetKnowledgeArticleConfiguration(ServiceNowKnowledgeArticleConfiguration&& value) { m_knowledgeArticleConfigurationHasBeenSet = true; m_knowledgeArticleConfiguration = std::move(value); } /** *

Configuration information for crawling knowledge articles in the ServiceNow * site.

*/ inline ServiceNowConfiguration& WithKnowledgeArticleConfiguration(const ServiceNowKnowledgeArticleConfiguration& value) { SetKnowledgeArticleConfiguration(value); return *this;} /** *

Configuration information for crawling knowledge articles in the ServiceNow * site.

*/ inline ServiceNowConfiguration& WithKnowledgeArticleConfiguration(ServiceNowKnowledgeArticleConfiguration&& value) { SetKnowledgeArticleConfiguration(std::move(value)); return *this;} /** *

Configuration information for crawling service catalogs in the ServiceNow * site.

*/ inline const ServiceNowServiceCatalogConfiguration& GetServiceCatalogConfiguration() const{ return m_serviceCatalogConfiguration; } /** *

Configuration information for crawling service catalogs in the ServiceNow * site.

*/ inline bool ServiceCatalogConfigurationHasBeenSet() const { return m_serviceCatalogConfigurationHasBeenSet; } /** *

Configuration information for crawling service catalogs in the ServiceNow * site.

*/ inline void SetServiceCatalogConfiguration(const ServiceNowServiceCatalogConfiguration& value) { m_serviceCatalogConfigurationHasBeenSet = true; m_serviceCatalogConfiguration = value; } /** *

Configuration information for crawling service catalogs in the ServiceNow * site.

*/ inline void SetServiceCatalogConfiguration(ServiceNowServiceCatalogConfiguration&& value) { m_serviceCatalogConfigurationHasBeenSet = true; m_serviceCatalogConfiguration = std::move(value); } /** *

Configuration information for crawling service catalogs in the ServiceNow * site.

*/ inline ServiceNowConfiguration& WithServiceCatalogConfiguration(const ServiceNowServiceCatalogConfiguration& value) { SetServiceCatalogConfiguration(value); return *this;} /** *

Configuration information for crawling service catalogs in the ServiceNow * site.

*/ inline ServiceNowConfiguration& WithServiceCatalogConfiguration(ServiceNowServiceCatalogConfiguration&& value) { SetServiceCatalogConfiguration(std::move(value)); return *this;} /** *

The type of authentication used to connect to the ServiceNow instance. If you * choose HTTP_BASIC, Amazon Kendra is authenticated using the user * name and password provided in the Secrets Manager secret in the * SecretArn field. If you choose OAUTH2, Amazon Kendra * is authenticated using the credentials of client ID, client secret, user name * and password.

When you use OAUTH2 authentication, you must * generate a token and a client secret using the ServiceNow console. For more * information, see Using * a ServiceNow data source.

*/ inline const ServiceNowAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

The type of authentication used to connect to the ServiceNow instance. If you * choose HTTP_BASIC, Amazon Kendra is authenticated using the user * name and password provided in the Secrets Manager secret in the * SecretArn field. If you choose OAUTH2, Amazon Kendra * is authenticated using the credentials of client ID, client secret, user name * and password.

When you use OAUTH2 authentication, you must * generate a token and a client secret using the ServiceNow console. For more * information, see Using * a ServiceNow data source.

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

The type of authentication used to connect to the ServiceNow instance. If you * choose HTTP_BASIC, Amazon Kendra is authenticated using the user * name and password provided in the Secrets Manager secret in the * SecretArn field. If you choose OAUTH2, Amazon Kendra * is authenticated using the credentials of client ID, client secret, user name * and password.

When you use OAUTH2 authentication, you must * generate a token and a client secret using the ServiceNow console. For more * information, see Using * a ServiceNow data source.

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

The type of authentication used to connect to the ServiceNow instance. If you * choose HTTP_BASIC, Amazon Kendra is authenticated using the user * name and password provided in the Secrets Manager secret in the * SecretArn field. If you choose OAUTH2, Amazon Kendra * is authenticated using the credentials of client ID, client secret, user name * and password.

When you use OAUTH2 authentication, you must * generate a token and a client secret using the ServiceNow console. For more * information, see Using * a ServiceNow data source.

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

The type of authentication used to connect to the ServiceNow instance. If you * choose HTTP_BASIC, Amazon Kendra is authenticated using the user * name and password provided in the Secrets Manager secret in the * SecretArn field. If you choose OAUTH2, Amazon Kendra * is authenticated using the credentials of client ID, client secret, user name * and password.

When you use OAUTH2 authentication, you must * generate a token and a client secret using the ServiceNow console. For more * information, see Using * a ServiceNow data source.

*/ inline ServiceNowConfiguration& WithAuthenticationType(const ServiceNowAuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

The type of authentication used to connect to the ServiceNow instance. If you * choose HTTP_BASIC, Amazon Kendra is authenticated using the user * name and password provided in the Secrets Manager secret in the * SecretArn field. If you choose OAUTH2, Amazon Kendra * is authenticated using the credentials of client ID, client secret, user name * and password.

When you use OAUTH2 authentication, you must * generate a token and a client secret using the ServiceNow console. For more * information, see Using * a ServiceNow data source.

*/ inline ServiceNowConfiguration& WithAuthenticationType(ServiceNowAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} private: Aws::String m_hostUrl; bool m_hostUrlHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; ServiceNowBuildVersionType m_serviceNowBuildVersion; bool m_serviceNowBuildVersionHasBeenSet = false; ServiceNowKnowledgeArticleConfiguration m_knowledgeArticleConfiguration; bool m_knowledgeArticleConfigurationHasBeenSet = false; ServiceNowServiceCatalogConfiguration m_serviceCatalogConfiguration; bool m_serviceCatalogConfigurationHasBeenSet = false; ServiceNowAuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws