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

Describes SAML options for an OpenSearch Serverless security configuration in * the form of a key-value map.

See Also:

AWS * API Reference

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

The group attribute for this SAML integration.

*/ inline const Aws::String& GetGroupAttribute() const{ return m_groupAttribute; } /** *

The group attribute for this SAML integration.

*/ inline bool GroupAttributeHasBeenSet() const { return m_groupAttributeHasBeenSet; } /** *

The group attribute for this SAML integration.

*/ inline void SetGroupAttribute(const Aws::String& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = value; } /** *

The group attribute for this SAML integration.

*/ inline void SetGroupAttribute(Aws::String&& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = std::move(value); } /** *

The group attribute for this SAML integration.

*/ inline void SetGroupAttribute(const char* value) { m_groupAttributeHasBeenSet = true; m_groupAttribute.assign(value); } /** *

The group attribute for this SAML integration.

*/ inline SamlConfigOptions& WithGroupAttribute(const Aws::String& value) { SetGroupAttribute(value); return *this;} /** *

The group attribute for this SAML integration.

*/ inline SamlConfigOptions& WithGroupAttribute(Aws::String&& value) { SetGroupAttribute(std::move(value)); return *this;} /** *

The group attribute for this SAML integration.

*/ inline SamlConfigOptions& WithGroupAttribute(const char* value) { SetGroupAttribute(value); return *this;} /** *

The XML IdP metadata file generated from your identity provider.

*/ inline const Aws::String& GetMetadata() const{ return m_metadata; } /** *

The XML IdP metadata file generated from your identity provider.

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

The XML IdP metadata file generated from your identity provider.

*/ inline void SetMetadata(const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

The XML IdP metadata file generated from your identity provider.

*/ inline void SetMetadata(Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

The XML IdP metadata file generated from your identity provider.

*/ inline void SetMetadata(const char* value) { m_metadataHasBeenSet = true; m_metadata.assign(value); } /** *

The XML IdP metadata file generated from your identity provider.

*/ inline SamlConfigOptions& WithMetadata(const Aws::String& value) { SetMetadata(value); return *this;} /** *

The XML IdP metadata file generated from your identity provider.

*/ inline SamlConfigOptions& WithMetadata(Aws::String&& value) { SetMetadata(std::move(value)); return *this;} /** *

The XML IdP metadata file generated from your identity provider.

*/ inline SamlConfigOptions& WithMetadata(const char* value) { SetMetadata(value); return *this;} /** *

The session timeout, in minutes. Default is 60 minutes (12 hours).

*/ inline int GetSessionTimeout() const{ return m_sessionTimeout; } /** *

The session timeout, in minutes. Default is 60 minutes (12 hours).

*/ inline bool SessionTimeoutHasBeenSet() const { return m_sessionTimeoutHasBeenSet; } /** *

The session timeout, in minutes. Default is 60 minutes (12 hours).

*/ inline void SetSessionTimeout(int value) { m_sessionTimeoutHasBeenSet = true; m_sessionTimeout = value; } /** *

The session timeout, in minutes. Default is 60 minutes (12 hours).

*/ inline SamlConfigOptions& WithSessionTimeout(int value) { SetSessionTimeout(value); return *this;} /** *

A user attribute for this SAML integration.

*/ inline const Aws::String& GetUserAttribute() const{ return m_userAttribute; } /** *

A user attribute for this SAML integration.

*/ inline bool UserAttributeHasBeenSet() const { return m_userAttributeHasBeenSet; } /** *

A user attribute for this SAML integration.

*/ inline void SetUserAttribute(const Aws::String& value) { m_userAttributeHasBeenSet = true; m_userAttribute = value; } /** *

A user attribute for this SAML integration.

*/ inline void SetUserAttribute(Aws::String&& value) { m_userAttributeHasBeenSet = true; m_userAttribute = std::move(value); } /** *

A user attribute for this SAML integration.

*/ inline void SetUserAttribute(const char* value) { m_userAttributeHasBeenSet = true; m_userAttribute.assign(value); } /** *

A user attribute for this SAML integration.

*/ inline SamlConfigOptions& WithUserAttribute(const Aws::String& value) { SetUserAttribute(value); return *this;} /** *

A user attribute for this SAML integration.

*/ inline SamlConfigOptions& WithUserAttribute(Aws::String&& value) { SetUserAttribute(std::move(value)); return *this;} /** *

A user attribute for this SAML integration.

*/ inline SamlConfigOptions& WithUserAttribute(const char* value) { SetUserAttribute(value); return *this;} private: Aws::String m_groupAttribute; bool m_groupAttributeHasBeenSet = false; Aws::String m_metadata; bool m_metadataHasBeenSet = false; int m_sessionTimeout; bool m_sessionTimeoutHasBeenSet = false; Aws::String m_userAttribute; bool m_userAttributeHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchServerless } // namespace Aws