/** * 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 { /** *

Describes the SAML application configured for the domain.

See * Also:

AWS * API Reference

*/ class SAMLOptionsOutput { public: AWS_ELASTICSEARCHSERVICE_API SAMLOptionsOutput(); AWS_ELASTICSEARCHSERVICE_API SAMLOptionsOutput(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICSEARCHSERVICE_API SAMLOptionsOutput& 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 SAMLOptionsOutput& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

Describes the SAML Identity Provider's information.

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

Describes the SAML Identity Provider's information.

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

Describes the SAML Identity Provider's information.

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

Describes the SAML Identity Provider's information.

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

Describes the SAML Identity Provider's information.

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

Describes the SAML Identity Provider's information.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Subject attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The key used for matching the SAML Roles attribute.

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

The duration, in minutes, after which a user session becomes inactive.

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

The duration, in minutes, after which a user session becomes inactive.

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

The duration, in minutes, after which a user session becomes inactive.

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

The duration, in minutes, after which a user session becomes inactive.

*/ inline SAMLOptionsOutput& 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_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