/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A list of additional authentication providers for the GraphqlApi API.
* See Also:
AWS
* API Reference
The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline const Aws::String& GetAuthenticationType() const{ return m_authenticationType; } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline void SetAuthenticationType(const Aws::String& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline void SetAuthenticationType(Aws::String&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline void SetAuthenticationType(const char* value) { m_authenticationTypeHasBeenSet = true; m_authenticationType.assign(value); } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithAuthenticationType(const Aws::String& value) { SetAuthenticationType(value); return *this;} /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithAuthenticationType(Aws::String&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithAuthenticationType(const char* value) { SetAuthenticationType(value); return *this;} /** *The configuration for Lambda function authorization.
*/ inline const AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails& GetLambdaAuthorizerConfig() const{ return m_lambdaAuthorizerConfig; } /** *The configuration for Lambda function authorization.
*/ inline bool LambdaAuthorizerConfigHasBeenSet() const { return m_lambdaAuthorizerConfigHasBeenSet; } /** *The configuration for Lambda function authorization.
*/ inline void SetLambdaAuthorizerConfig(const AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails& value) { m_lambdaAuthorizerConfigHasBeenSet = true; m_lambdaAuthorizerConfig = value; } /** *The configuration for Lambda function authorization.
*/ inline void SetLambdaAuthorizerConfig(AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails&& value) { m_lambdaAuthorizerConfigHasBeenSet = true; m_lambdaAuthorizerConfig = std::move(value); } /** *The configuration for Lambda function authorization.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithLambdaAuthorizerConfig(const AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails& value) { SetLambdaAuthorizerConfig(value); return *this;} /** *The configuration for Lambda function authorization.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithLambdaAuthorizerConfig(AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails&& value) { SetLambdaAuthorizerConfig(std::move(value)); return *this;} /** *The OpenID Connect configuration.
*/ inline const AwsAppSyncGraphQlApiOpenIdConnectConfigDetails& GetOpenIdConnectConfig() const{ return m_openIdConnectConfig; } /** *The OpenID Connect configuration.
*/ inline bool OpenIdConnectConfigHasBeenSet() const { return m_openIdConnectConfigHasBeenSet; } /** *The OpenID Connect configuration.
*/ inline void SetOpenIdConnectConfig(const AwsAppSyncGraphQlApiOpenIdConnectConfigDetails& value) { m_openIdConnectConfigHasBeenSet = true; m_openIdConnectConfig = value; } /** *The OpenID Connect configuration.
*/ inline void SetOpenIdConnectConfig(AwsAppSyncGraphQlApiOpenIdConnectConfigDetails&& value) { m_openIdConnectConfigHasBeenSet = true; m_openIdConnectConfig = std::move(value); } /** *The OpenID Connect configuration.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithOpenIdConnectConfig(const AwsAppSyncGraphQlApiOpenIdConnectConfigDetails& value) { SetOpenIdConnectConfig(value); return *this;} /** *The OpenID Connect configuration.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithOpenIdConnectConfig(AwsAppSyncGraphQlApiOpenIdConnectConfigDetails&& value) { SetOpenIdConnectConfig(std::move(value)); return *this;} /** *The Amazon Cognito user pools configuration.
*/ inline const AwsAppSyncGraphQlApiUserPoolConfigDetails& GetUserPoolConfig() const{ return m_userPoolConfig; } /** *The Amazon Cognito user pools configuration.
*/ inline bool UserPoolConfigHasBeenSet() const { return m_userPoolConfigHasBeenSet; } /** *The Amazon Cognito user pools configuration.
*/ inline void SetUserPoolConfig(const AwsAppSyncGraphQlApiUserPoolConfigDetails& value) { m_userPoolConfigHasBeenSet = true; m_userPoolConfig = value; } /** *The Amazon Cognito user pools configuration.
*/ inline void SetUserPoolConfig(AwsAppSyncGraphQlApiUserPoolConfigDetails&& value) { m_userPoolConfigHasBeenSet = true; m_userPoolConfig = std::move(value); } /** *The Amazon Cognito user pools configuration.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithUserPoolConfig(const AwsAppSyncGraphQlApiUserPoolConfigDetails& value) { SetUserPoolConfig(value); return *this;} /** *The Amazon Cognito user pools configuration.
*/ inline AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& WithUserPoolConfig(AwsAppSyncGraphQlApiUserPoolConfigDetails&& value) { SetUserPoolConfig(std::move(value)); return *this;} private: Aws::String m_authenticationType; bool m_authenticationTypeHasBeenSet = false; AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails m_lambdaAuthorizerConfig; bool m_lambdaAuthorizerConfigHasBeenSet = false; AwsAppSyncGraphQlApiOpenIdConnectConfigDetails m_openIdConnectConfig; bool m_openIdConnectConfigHasBeenSet = false; AwsAppSyncGraphQlApiUserPoolConfigDetails m_userPoolConfig; bool m_userPoolConfigHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws