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

Specifies the SAML application configuration for the domain.

See * Also:

AWS * API Reference

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

True if SAML is enabled.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

True if SAML is enabled.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

True if SAML is enabled.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

True if SAML is enabled.

*/ inline SAMLOptionsInput& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

Specifies the SAML Identity Provider's information.

*/ inline const SAMLIdp& GetIdp() const{ return m_idp; } /** *

Specifies the SAML Identity Provider's information.

*/ inline bool IdpHasBeenSet() const { return m_idpHasBeenSet; } /** *

Specifies the SAML Identity Provider's information.

*/ inline void SetIdp(const SAMLIdp& value) { m_idpHasBeenSet = true; m_idp = value; } /** *

Specifies the SAML Identity Provider's information.

*/ inline void SetIdp(SAMLIdp&& value) { m_idpHasBeenSet = true; m_idp = std::move(value); } /** *

Specifies the SAML Identity Provider's information.

*/ inline SAMLOptionsInput& WithIdp(const SAMLIdp& value) { SetIdp(value); return *this;} /** *

Specifies the SAML Identity Provider's information.

*/ inline SAMLOptionsInput& WithIdp(SAMLIdp&& value) { SetIdp(std::move(value)); return *this;} /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline const Aws::String& GetMasterUserName() const{ return m_masterUserName; } /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline bool MasterUserNameHasBeenSet() const { return m_masterUserNameHasBeenSet; } /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline void SetMasterUserName(const Aws::String& value) { m_masterUserNameHasBeenSet = true; m_masterUserName = value; } /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline void SetMasterUserName(Aws::String&& value) { m_masterUserNameHasBeenSet = true; m_masterUserName = std::move(value); } /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline void SetMasterUserName(const char* value) { m_masterUserNameHasBeenSet = true; m_masterUserName.assign(value); } /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline SAMLOptionsInput& WithMasterUserName(const Aws::String& value) { SetMasterUserName(value); return *this;} /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline SAMLOptionsInput& WithMasterUserName(Aws::String&& value) { SetMasterUserName(std::move(value)); return *this;} /** *

The SAML master username, which is stored in the Amazon Elasticsearch Service * domain's internal database.

*/ inline SAMLOptionsInput& WithMasterUserName(const char* value) { SetMasterUserName(value); return *this;} /** *

The backend role to which the SAML master user is mapped to.

*/ inline const Aws::String& GetMasterBackendRole() const{ return m_masterBackendRole; } /** *

The backend role to which the SAML master user is mapped to.

*/ inline bool MasterBackendRoleHasBeenSet() const { return m_masterBackendRoleHasBeenSet; } /** *

The backend role to which the SAML master user is mapped to.

*/ inline void SetMasterBackendRole(const Aws::String& value) { m_masterBackendRoleHasBeenSet = true; m_masterBackendRole = value; } /** *

The backend role to which the SAML master user is mapped to.

*/ inline void SetMasterBackendRole(Aws::String&& value) { m_masterBackendRoleHasBeenSet = true; m_masterBackendRole = std::move(value); } /** *

The backend role to which the SAML master user is mapped to.

*/ inline void SetMasterBackendRole(const char* value) { m_masterBackendRoleHasBeenSet = true; m_masterBackendRole.assign(value); } /** *

The backend role to which the SAML master user is mapped to.

*/ inline SAMLOptionsInput& WithMasterBackendRole(const Aws::String& value) { SetMasterBackendRole(value); return *this;} /** *

The backend role to which the SAML master user is mapped to.

*/ inline SAMLOptionsInput& WithMasterBackendRole(Aws::String&& value) { SetMasterBackendRole(std::move(value)); return *this;} /** *

The backend role to which the SAML master user is mapped to.

*/ inline SAMLOptionsInput& WithMasterBackendRole(const char* value) { SetMasterBackendRole(value); return *this;} /** *

The key to use for matching the SAML Subject attribute.

*/ inline const Aws::String& GetSubjectKey() const{ return m_subjectKey; } /** *

The key to use for matching the SAML Subject attribute.

*/ inline bool SubjectKeyHasBeenSet() const { return m_subjectKeyHasBeenSet; } /** *

The key to use for matching the SAML Subject attribute.

*/ inline void SetSubjectKey(const Aws::String& value) { m_subjectKeyHasBeenSet = true; m_subjectKey = value; } /** *

The key to use for matching the SAML Subject attribute.

*/ inline void SetSubjectKey(Aws::String&& value) { m_subjectKeyHasBeenSet = true; m_subjectKey = std::move(value); } /** *

The key to use for matching the SAML Subject attribute.

*/ inline void SetSubjectKey(const char* value) { m_subjectKeyHasBeenSet = true; m_subjectKey.assign(value); } /** *

The key to use for matching the SAML Subject attribute.

*/ inline SAMLOptionsInput& WithSubjectKey(const Aws::String& value) { SetSubjectKey(value); return *this;} /** *

The key to use for matching the SAML Subject attribute.

*/ inline SAMLOptionsInput& WithSubjectKey(Aws::String&& value) { SetSubjectKey(std::move(value)); return *this;} /** *

The key to use for matching the SAML Subject attribute.

*/ inline SAMLOptionsInput& WithSubjectKey(const char* value) { SetSubjectKey(value); return *this;} /** *

The key to use for matching the SAML Roles attribute.

*/ inline const Aws::String& GetRolesKey() const{ return m_rolesKey; } /** *

The key to use for matching the SAML Roles attribute.

*/ inline bool RolesKeyHasBeenSet() const { return m_rolesKeyHasBeenSet; } /** *

The key to use for matching the SAML Roles attribute.

*/ inline void SetRolesKey(const Aws::String& value) { m_rolesKeyHasBeenSet = true; m_rolesKey = value; } /** *

The key to use for matching the SAML Roles attribute.

*/ inline void SetRolesKey(Aws::String&& value) { m_rolesKeyHasBeenSet = true; m_rolesKey = std::move(value); } /** *

The key to use for matching the SAML Roles attribute.

*/ inline void SetRolesKey(const char* value) { m_rolesKeyHasBeenSet = true; m_rolesKey.assign(value); } /** *

The key to use for matching the SAML Roles attribute.

*/ inline SAMLOptionsInput& WithRolesKey(const Aws::String& value) { SetRolesKey(value); return *this;} /** *

The key to use for matching the SAML Roles attribute.

*/ inline SAMLOptionsInput& WithRolesKey(Aws::String&& value) { SetRolesKey(std::move(value)); return *this;} /** *

The key to use for matching the SAML Roles attribute.

*/ inline SAMLOptionsInput& WithRolesKey(const char* value) { SetRolesKey(value); return *this;} /** *

The duration, in minutes, after which a user session becomes inactive. * Acceptable values are between 1 and 1440, and the default value is 60.

*/ inline int GetSessionTimeoutMinutes() const{ return m_sessionTimeoutMinutes; } /** *

The duration, in minutes, after which a user session becomes inactive. * Acceptable values are between 1 and 1440, and the default value is 60.

*/ inline bool SessionTimeoutMinutesHasBeenSet() const { return m_sessionTimeoutMinutesHasBeenSet; } /** *

The duration, in minutes, after which a user session becomes inactive. * Acceptable values are between 1 and 1440, and the default value is 60.

*/ inline void SetSessionTimeoutMinutes(int value) { m_sessionTimeoutMinutesHasBeenSet = true; m_sessionTimeoutMinutes = value; } /** *

The duration, in minutes, after which a user session becomes inactive. * Acceptable values are between 1 and 1440, and the default value is 60.

*/ inline SAMLOptionsInput& WithSessionTimeoutMinutes(int value) { SetSessionTimeoutMinutes(value); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; SAMLIdp m_idp; bool m_idpHasBeenSet = false; Aws::String m_masterUserName; bool m_masterUserNameHasBeenSet = false; Aws::String m_masterBackendRole; bool m_masterBackendRoleHasBeenSet = false; Aws::String m_subjectKey; bool m_subjectKeyHasBeenSet = false; Aws::String m_rolesKey; bool m_rolesKeyHasBeenSet = false; int m_sessionTimeoutMinutes; bool m_sessionTimeoutMinutesHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws