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

Defines the resource configuration when creating an auth resource in your * Amplify project.

See Also:

AWS * API Reference

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

Defines whether you want to configure only authentication or both * authentication and authorization settings.

*/ inline const AuthResources& GetAuthResources() const{ return m_authResources; } /** *

Defines whether you want to configure only authentication or both * authentication and authorization settings.

*/ inline bool AuthResourcesHasBeenSet() const { return m_authResourcesHasBeenSet; } /** *

Defines whether you want to configure only authentication or both * authentication and authorization settings.

*/ inline void SetAuthResources(const AuthResources& value) { m_authResourcesHasBeenSet = true; m_authResources = value; } /** *

Defines whether you want to configure only authentication or both * authentication and authorization settings.

*/ inline void SetAuthResources(AuthResources&& value) { m_authResourcesHasBeenSet = true; m_authResources = std::move(value); } /** *

Defines whether you want to configure only authentication or both * authentication and authorization settings.

*/ inline CreateBackendAuthResourceConfig& WithAuthResources(const AuthResources& value) { SetAuthResources(value); return *this;} /** *

Defines whether you want to configure only authentication or both * authentication and authorization settings.

*/ inline CreateBackendAuthResourceConfig& WithAuthResources(AuthResources&& value) { SetAuthResources(std::move(value)); return *this;} /** *

Describes the authorization configuration for the Amazon Cognito identity * pool, provisioned as a part of your auth resource in the Amplify project.

*/ inline const CreateBackendAuthIdentityPoolConfig& GetIdentityPoolConfigs() const{ return m_identityPoolConfigs; } /** *

Describes the authorization configuration for the Amazon Cognito identity * pool, provisioned as a part of your auth resource in the Amplify project.

*/ inline bool IdentityPoolConfigsHasBeenSet() const { return m_identityPoolConfigsHasBeenSet; } /** *

Describes the authorization configuration for the Amazon Cognito identity * pool, provisioned as a part of your auth resource in the Amplify project.

*/ inline void SetIdentityPoolConfigs(const CreateBackendAuthIdentityPoolConfig& value) { m_identityPoolConfigsHasBeenSet = true; m_identityPoolConfigs = value; } /** *

Describes the authorization configuration for the Amazon Cognito identity * pool, provisioned as a part of your auth resource in the Amplify project.

*/ inline void SetIdentityPoolConfigs(CreateBackendAuthIdentityPoolConfig&& value) { m_identityPoolConfigsHasBeenSet = true; m_identityPoolConfigs = std::move(value); } /** *

Describes the authorization configuration for the Amazon Cognito identity * pool, provisioned as a part of your auth resource in the Amplify project.

*/ inline CreateBackendAuthResourceConfig& WithIdentityPoolConfigs(const CreateBackendAuthIdentityPoolConfig& value) { SetIdentityPoolConfigs(value); return *this;} /** *

Describes the authorization configuration for the Amazon Cognito identity * pool, provisioned as a part of your auth resource in the Amplify project.

*/ inline CreateBackendAuthResourceConfig& WithIdentityPoolConfigs(CreateBackendAuthIdentityPoolConfig&& value) { SetIdentityPoolConfigs(std::move(value)); return *this;} /** *

Defines the service name to use when configuring an authentication resource * in your Amplify project.

*/ inline const Service& GetService() const{ return m_service; } /** *

Defines the service name to use when configuring an authentication resource * in your Amplify project.

*/ inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } /** *

Defines the service name to use when configuring an authentication resource * in your Amplify project.

*/ inline void SetService(const Service& value) { m_serviceHasBeenSet = true; m_service = value; } /** *

Defines the service name to use when configuring an authentication resource * in your Amplify project.

*/ inline void SetService(Service&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } /** *

Defines the service name to use when configuring an authentication resource * in your Amplify project.

*/ inline CreateBackendAuthResourceConfig& WithService(const Service& value) { SetService(value); return *this;} /** *

Defines the service name to use when configuring an authentication resource * in your Amplify project.

*/ inline CreateBackendAuthResourceConfig& WithService(Service&& value) { SetService(std::move(value)); return *this;} /** *

Describes authentication configuration for the Amazon Cognito user pool, * provisioned as a part of your auth resource in the Amplify project.

*/ inline const CreateBackendAuthUserPoolConfig& GetUserPoolConfigs() const{ return m_userPoolConfigs; } /** *

Describes authentication configuration for the Amazon Cognito user pool, * provisioned as a part of your auth resource in the Amplify project.

*/ inline bool UserPoolConfigsHasBeenSet() const { return m_userPoolConfigsHasBeenSet; } /** *

Describes authentication configuration for the Amazon Cognito user pool, * provisioned as a part of your auth resource in the Amplify project.

*/ inline void SetUserPoolConfigs(const CreateBackendAuthUserPoolConfig& value) { m_userPoolConfigsHasBeenSet = true; m_userPoolConfigs = value; } /** *

Describes authentication configuration for the Amazon Cognito user pool, * provisioned as a part of your auth resource in the Amplify project.

*/ inline void SetUserPoolConfigs(CreateBackendAuthUserPoolConfig&& value) { m_userPoolConfigsHasBeenSet = true; m_userPoolConfigs = std::move(value); } /** *

Describes authentication configuration for the Amazon Cognito user pool, * provisioned as a part of your auth resource in the Amplify project.

*/ inline CreateBackendAuthResourceConfig& WithUserPoolConfigs(const CreateBackendAuthUserPoolConfig& value) { SetUserPoolConfigs(value); return *this;} /** *

Describes authentication configuration for the Amazon Cognito user pool, * provisioned as a part of your auth resource in the Amplify project.

*/ inline CreateBackendAuthResourceConfig& WithUserPoolConfigs(CreateBackendAuthUserPoolConfig&& value) { SetUserPoolConfigs(std::move(value)); return *this;} private: AuthResources m_authResources; bool m_authResourcesHasBeenSet = false; CreateBackendAuthIdentityPoolConfig m_identityPoolConfigs; bool m_identityPoolConfigsHasBeenSet = false; Service m_service; bool m_serviceHasBeenSet = false; CreateBackendAuthUserPoolConfig m_userPoolConfigs; bool m_userPoolConfigsHasBeenSet = false; }; } // namespace Model } // namespace AmplifyBackend } // namespace Aws