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

Creates the OAuth configuration for your Amplify project.

See * Also:

AWS * API Reference

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

The domain prefix for your Amplify app.

*/ inline const Aws::String& GetDomainPrefix() const{ return m_domainPrefix; } /** *

The domain prefix for your Amplify app.

*/ inline bool DomainPrefixHasBeenSet() const { return m_domainPrefixHasBeenSet; } /** *

The domain prefix for your Amplify app.

*/ inline void SetDomainPrefix(const Aws::String& value) { m_domainPrefixHasBeenSet = true; m_domainPrefix = value; } /** *

The domain prefix for your Amplify app.

*/ inline void SetDomainPrefix(Aws::String&& value) { m_domainPrefixHasBeenSet = true; m_domainPrefix = std::move(value); } /** *

The domain prefix for your Amplify app.

*/ inline void SetDomainPrefix(const char* value) { m_domainPrefixHasBeenSet = true; m_domainPrefix.assign(value); } /** *

The domain prefix for your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithDomainPrefix(const Aws::String& value) { SetDomainPrefix(value); return *this;} /** *

The domain prefix for your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithDomainPrefix(Aws::String&& value) { SetDomainPrefix(std::move(value)); return *this;} /** *

The domain prefix for your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithDomainPrefix(const char* value) { SetDomainPrefix(value); return *this;} /** *

The OAuth grant type that you use to allow app users to authenticate from * your Amplify app.

*/ inline const OAuthGrantType& GetOAuthGrantType() const{ return m_oAuthGrantType; } /** *

The OAuth grant type that you use to allow app users to authenticate from * your Amplify app.

*/ inline bool OAuthGrantTypeHasBeenSet() const { return m_oAuthGrantTypeHasBeenSet; } /** *

The OAuth grant type that you use to allow app users to authenticate from * your Amplify app.

*/ inline void SetOAuthGrantType(const OAuthGrantType& value) { m_oAuthGrantTypeHasBeenSet = true; m_oAuthGrantType = value; } /** *

The OAuth grant type that you use to allow app users to authenticate from * your Amplify app.

*/ inline void SetOAuthGrantType(OAuthGrantType&& value) { m_oAuthGrantTypeHasBeenSet = true; m_oAuthGrantType = std::move(value); } /** *

The OAuth grant type that you use to allow app users to authenticate from * your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithOAuthGrantType(const OAuthGrantType& value) { SetOAuthGrantType(value); return *this;} /** *

The OAuth grant type that you use to allow app users to authenticate from * your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithOAuthGrantType(OAuthGrantType&& value) { SetOAuthGrantType(std::move(value)); return *this;} /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline const Aws::Vector& GetOAuthScopes() const{ return m_oAuthScopes; } /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline bool OAuthScopesHasBeenSet() const { return m_oAuthScopesHasBeenSet; } /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline void SetOAuthScopes(const Aws::Vector& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes = value; } /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline void SetOAuthScopes(Aws::Vector&& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes = std::move(value); } /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithOAuthScopes(const Aws::Vector& value) { SetOAuthScopes(value); return *this;} /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithOAuthScopes(Aws::Vector&& value) { SetOAuthScopes(std::move(value)); return *this;} /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddOAuthScopes(const OAuthScopesElement& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes.push_back(value); return *this; } /** *

List of OAuth-related flows used to allow your app users to authenticate from * your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddOAuthScopes(OAuthScopesElement&& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes.push_back(std::move(value)); return *this; } /** *

The redirected URI for signing in to your Amplify app.

*/ inline const Aws::Vector& GetRedirectSignInURIs() const{ return m_redirectSignInURIs; } /** *

The redirected URI for signing in to your Amplify app.

*/ inline bool RedirectSignInURIsHasBeenSet() const { return m_redirectSignInURIsHasBeenSet; } /** *

The redirected URI for signing in to your Amplify app.

*/ inline void SetRedirectSignInURIs(const Aws::Vector& value) { m_redirectSignInURIsHasBeenSet = true; m_redirectSignInURIs = value; } /** *

The redirected URI for signing in to your Amplify app.

*/ inline void SetRedirectSignInURIs(Aws::Vector&& value) { m_redirectSignInURIsHasBeenSet = true; m_redirectSignInURIs = std::move(value); } /** *

The redirected URI for signing in to your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithRedirectSignInURIs(const Aws::Vector& value) { SetRedirectSignInURIs(value); return *this;} /** *

The redirected URI for signing in to your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithRedirectSignInURIs(Aws::Vector&& value) { SetRedirectSignInURIs(std::move(value)); return *this;} /** *

The redirected URI for signing in to your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddRedirectSignInURIs(const Aws::String& value) { m_redirectSignInURIsHasBeenSet = true; m_redirectSignInURIs.push_back(value); return *this; } /** *

The redirected URI for signing in to your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddRedirectSignInURIs(Aws::String&& value) { m_redirectSignInURIsHasBeenSet = true; m_redirectSignInURIs.push_back(std::move(value)); return *this; } /** *

The redirected URI for signing in to your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddRedirectSignInURIs(const char* value) { m_redirectSignInURIsHasBeenSet = true; m_redirectSignInURIs.push_back(value); return *this; } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline const Aws::Vector& GetRedirectSignOutURIs() const{ return m_redirectSignOutURIs; } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline bool RedirectSignOutURIsHasBeenSet() const { return m_redirectSignOutURIsHasBeenSet; } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline void SetRedirectSignOutURIs(const Aws::Vector& value) { m_redirectSignOutURIsHasBeenSet = true; m_redirectSignOutURIs = value; } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline void SetRedirectSignOutURIs(Aws::Vector&& value) { m_redirectSignOutURIsHasBeenSet = true; m_redirectSignOutURIs = std::move(value); } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithRedirectSignOutURIs(const Aws::Vector& value) { SetRedirectSignOutURIs(value); return *this;} /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithRedirectSignOutURIs(Aws::Vector&& value) { SetRedirectSignOutURIs(std::move(value)); return *this;} /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddRedirectSignOutURIs(const Aws::String& value) { m_redirectSignOutURIsHasBeenSet = true; m_redirectSignOutURIs.push_back(value); return *this; } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddRedirectSignOutURIs(Aws::String&& value) { m_redirectSignOutURIsHasBeenSet = true; m_redirectSignOutURIs.push_back(std::move(value)); return *this; } /** *

Redirect URLs that OAuth uses when a user signs out of an Amplify app.

*/ inline CreateBackendAuthOAuthConfig& AddRedirectSignOutURIs(const char* value) { m_redirectSignOutURIsHasBeenSet = true; m_redirectSignOutURIs.push_back(value); return *this; } /** *

The settings for using social providers to access your Amplify app.

*/ inline const SocialProviderSettings& GetSocialProviderSettings() const{ return m_socialProviderSettings; } /** *

The settings for using social providers to access your Amplify app.

*/ inline bool SocialProviderSettingsHasBeenSet() const { return m_socialProviderSettingsHasBeenSet; } /** *

The settings for using social providers to access your Amplify app.

*/ inline void SetSocialProviderSettings(const SocialProviderSettings& value) { m_socialProviderSettingsHasBeenSet = true; m_socialProviderSettings = value; } /** *

The settings for using social providers to access your Amplify app.

*/ inline void SetSocialProviderSettings(SocialProviderSettings&& value) { m_socialProviderSettingsHasBeenSet = true; m_socialProviderSettings = std::move(value); } /** *

The settings for using social providers to access your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithSocialProviderSettings(const SocialProviderSettings& value) { SetSocialProviderSettings(value); return *this;} /** *

The settings for using social providers to access your Amplify app.

*/ inline CreateBackendAuthOAuthConfig& WithSocialProviderSettings(SocialProviderSettings&& value) { SetSocialProviderSettings(std::move(value)); return *this;} private: Aws::String m_domainPrefix; bool m_domainPrefixHasBeenSet = false; OAuthGrantType m_oAuthGrantType; bool m_oAuthGrantTypeHasBeenSet = false; Aws::Vector m_oAuthScopes; bool m_oAuthScopesHasBeenSet = false; Aws::Vector m_redirectSignInURIs; bool m_redirectSignInURIsHasBeenSet = false; Aws::Vector m_redirectSignOutURIs; bool m_redirectSignOutURIsHasBeenSet = false; SocialProviderSettings m_socialProviderSettings; bool m_socialProviderSettingsHasBeenSet = false; }; } // namespace Model } // namespace AmplifyBackend } // namespace Aws