/** * 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 finspace { namespace Model { /** *

Configuration information when authentication mode is * FEDERATED.

See Also:

AWS * API Reference

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

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline const Aws::String& GetSamlMetadataDocument() const{ return m_samlMetadataDocument; } /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline bool SamlMetadataDocumentHasBeenSet() const { return m_samlMetadataDocumentHasBeenSet; } /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline void SetSamlMetadataDocument(const Aws::String& value) { m_samlMetadataDocumentHasBeenSet = true; m_samlMetadataDocument = value; } /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline void SetSamlMetadataDocument(Aws::String&& value) { m_samlMetadataDocumentHasBeenSet = true; m_samlMetadataDocument = std::move(value); } /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline void SetSamlMetadataDocument(const char* value) { m_samlMetadataDocumentHasBeenSet = true; m_samlMetadataDocument.assign(value); } /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline FederationParameters& WithSamlMetadataDocument(const Aws::String& value) { SetSamlMetadataDocument(value); return *this;} /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline FederationParameters& WithSamlMetadataDocument(Aws::String&& value) { SetSamlMetadataDocument(std::move(value)); return *this;} /** *

SAML 2.0 Metadata document from identity provider (IdP).

*/ inline FederationParameters& WithSamlMetadataDocument(const char* value) { SetSamlMetadataDocument(value); return *this;} /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline const Aws::String& GetSamlMetadataURL() const{ return m_samlMetadataURL; } /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline bool SamlMetadataURLHasBeenSet() const { return m_samlMetadataURLHasBeenSet; } /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline void SetSamlMetadataURL(const Aws::String& value) { m_samlMetadataURLHasBeenSet = true; m_samlMetadataURL = value; } /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline void SetSamlMetadataURL(Aws::String&& value) { m_samlMetadataURLHasBeenSet = true; m_samlMetadataURL = std::move(value); } /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline void SetSamlMetadataURL(const char* value) { m_samlMetadataURLHasBeenSet = true; m_samlMetadataURL.assign(value); } /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline FederationParameters& WithSamlMetadataURL(const Aws::String& value) { SetSamlMetadataURL(value); return *this;} /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline FederationParameters& WithSamlMetadataURL(Aws::String&& value) { SetSamlMetadataURL(std::move(value)); return *this;} /** *

Provide the metadata URL from your SAML 2.0 compliant identity provider * (IdP).

*/ inline FederationParameters& WithSamlMetadataURL(const char* value) { SetSamlMetadataURL(value); return *this;} /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline const Aws::String& GetApplicationCallBackURL() const{ return m_applicationCallBackURL; } /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline bool ApplicationCallBackURLHasBeenSet() const { return m_applicationCallBackURLHasBeenSet; } /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline void SetApplicationCallBackURL(const Aws::String& value) { m_applicationCallBackURLHasBeenSet = true; m_applicationCallBackURL = value; } /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline void SetApplicationCallBackURL(Aws::String&& value) { m_applicationCallBackURLHasBeenSet = true; m_applicationCallBackURL = std::move(value); } /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline void SetApplicationCallBackURL(const char* value) { m_applicationCallBackURLHasBeenSet = true; m_applicationCallBackURL.assign(value); } /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline FederationParameters& WithApplicationCallBackURL(const Aws::String& value) { SetApplicationCallBackURL(value); return *this;} /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline FederationParameters& WithApplicationCallBackURL(Aws::String&& value) { SetApplicationCallBackURL(std::move(value)); return *this;} /** *

The redirect or sign-in URL that should be entered into the SAML 2.0 * compliant identity provider configuration (IdP).

*/ inline FederationParameters& WithApplicationCallBackURL(const char* value) { SetApplicationCallBackURL(value); return *this;} /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline const Aws::String& GetFederationURN() const{ return m_federationURN; } /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline bool FederationURNHasBeenSet() const { return m_federationURNHasBeenSet; } /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline void SetFederationURN(const Aws::String& value) { m_federationURNHasBeenSet = true; m_federationURN = value; } /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline void SetFederationURN(Aws::String&& value) { m_federationURNHasBeenSet = true; m_federationURN = std::move(value); } /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline void SetFederationURN(const char* value) { m_federationURNHasBeenSet = true; m_federationURN.assign(value); } /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline FederationParameters& WithFederationURN(const Aws::String& value) { SetFederationURN(value); return *this;} /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline FederationParameters& WithFederationURN(Aws::String&& value) { SetFederationURN(std::move(value)); return *this;} /** *

The Uniform Resource Name (URN). Also referred as Service Provider URN or * Audience URI or Service Provider Entity ID.

*/ inline FederationParameters& WithFederationURN(const char* value) { SetFederationURN(value); return *this;} /** *

Name of the identity provider (IdP).

*/ inline const Aws::String& GetFederationProviderName() const{ return m_federationProviderName; } /** *

Name of the identity provider (IdP).

*/ inline bool FederationProviderNameHasBeenSet() const { return m_federationProviderNameHasBeenSet; } /** *

Name of the identity provider (IdP).

*/ inline void SetFederationProviderName(const Aws::String& value) { m_federationProviderNameHasBeenSet = true; m_federationProviderName = value; } /** *

Name of the identity provider (IdP).

*/ inline void SetFederationProviderName(Aws::String&& value) { m_federationProviderNameHasBeenSet = true; m_federationProviderName = std::move(value); } /** *

Name of the identity provider (IdP).

*/ inline void SetFederationProviderName(const char* value) { m_federationProviderNameHasBeenSet = true; m_federationProviderName.assign(value); } /** *

Name of the identity provider (IdP).

*/ inline FederationParameters& WithFederationProviderName(const Aws::String& value) { SetFederationProviderName(value); return *this;} /** *

Name of the identity provider (IdP).

*/ inline FederationParameters& WithFederationProviderName(Aws::String&& value) { SetFederationProviderName(std::move(value)); return *this;} /** *

Name of the identity provider (IdP).

*/ inline FederationParameters& WithFederationProviderName(const char* value) { SetFederationProviderName(value); return *this;} /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline const Aws::Map& GetAttributeMap() const{ return m_attributeMap; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline bool AttributeMapHasBeenSet() const { return m_attributeMapHasBeenSet; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline void SetAttributeMap(const Aws::Map& value) { m_attributeMapHasBeenSet = true; m_attributeMap = value; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline void SetAttributeMap(Aws::Map&& value) { m_attributeMapHasBeenSet = true; m_attributeMap = std::move(value); } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& WithAttributeMap(const Aws::Map& value) { SetAttributeMap(value); return *this;} /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& WithAttributeMap(Aws::Map&& value) { SetAttributeMap(std::move(value)); return *this;} /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(const Aws::String& key, const Aws::String& value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(key, value); return *this; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(Aws::String&& key, const Aws::String& value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(std::move(key), value); return *this; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(const Aws::String& key, Aws::String&& value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(key, std::move(value)); return *this; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(Aws::String&& key, Aws::String&& value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(std::move(key), std::move(value)); return *this; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(const char* key, Aws::String&& value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(key, std::move(value)); return *this; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(Aws::String&& key, const char* value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(std::move(key), value); return *this; } /** *

SAML attribute name and value. The name must always be Email and * the value should be set to the attribute definition in which user email is set. * For example, name would be Email and value * http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. * Please check your SAML 2.0 compliant identity provider (IdP) documentation for * details.

*/ inline FederationParameters& AddAttributeMap(const char* key, const char* value) { m_attributeMapHasBeenSet = true; m_attributeMap.emplace(key, value); return *this; } private: Aws::String m_samlMetadataDocument; bool m_samlMetadataDocumentHasBeenSet = false; Aws::String m_samlMetadataURL; bool m_samlMetadataURLHasBeenSet = false; Aws::String m_applicationCallBackURL; bool m_applicationCallBackURLHasBeenSet = false; Aws::String m_federationURN; bool m_federationURNHasBeenSet = false; Aws::String m_federationProviderName; bool m_federationProviderNameHasBeenSet = false; Aws::Map m_attributeMap; bool m_attributeMapHasBeenSet = false; }; } // namespace Model } // namespace finspace } // namespace Aws