/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the SAML application configured for the domain.See
* Also:
AWS
* API Reference
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