/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The identity provider configuration that you gave when the data store was
* created.See Also:
AWS
* API Reference
The authorization strategy that you selected when you created the data * store.
*/ inline const AuthorizationStrategy& GetAuthorizationStrategy() const{ return m_authorizationStrategy; } /** *The authorization strategy that you selected when you created the data * store.
*/ inline bool AuthorizationStrategyHasBeenSet() const { return m_authorizationStrategyHasBeenSet; } /** *The authorization strategy that you selected when you created the data * store.
*/ inline void SetAuthorizationStrategy(const AuthorizationStrategy& value) { m_authorizationStrategyHasBeenSet = true; m_authorizationStrategy = value; } /** *The authorization strategy that you selected when you created the data * store.
*/ inline void SetAuthorizationStrategy(AuthorizationStrategy&& value) { m_authorizationStrategyHasBeenSet = true; m_authorizationStrategy = std::move(value); } /** *The authorization strategy that you selected when you created the data * store.
*/ inline IdentityProviderConfiguration& WithAuthorizationStrategy(const AuthorizationStrategy& value) { SetAuthorizationStrategy(value); return *this;} /** *The authorization strategy that you selected when you created the data * store.
*/ inline IdentityProviderConfiguration& WithAuthorizationStrategy(AuthorizationStrategy&& value) { SetAuthorizationStrategy(std::move(value)); return *this;} /** *If you enabled fine-grained authorization when you created the data * store.
*/ inline bool GetFineGrainedAuthorizationEnabled() const{ return m_fineGrainedAuthorizationEnabled; } /** *If you enabled fine-grained authorization when you created the data * store.
*/ inline bool FineGrainedAuthorizationEnabledHasBeenSet() const { return m_fineGrainedAuthorizationEnabledHasBeenSet; } /** *If you enabled fine-grained authorization when you created the data * store.
*/ inline void SetFineGrainedAuthorizationEnabled(bool value) { m_fineGrainedAuthorizationEnabledHasBeenSet = true; m_fineGrainedAuthorizationEnabled = value; } /** *If you enabled fine-grained authorization when you created the data * store.
*/ inline IdentityProviderConfiguration& WithFineGrainedAuthorizationEnabled(bool value) { SetFineGrainedAuthorizationEnabled(value); return *this;} /** *The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The JSON metadata elements that you want to use in your identity provider * configuration. Required elements are listed based on the launch specification of * the SMART application. For more information on all possible elements, see Metadata * in SMART's App Launch specification.
* authorization_endpoint
: The URL to the OAuth2 authorization
* endpoint.
grant_types_supported
: An array of grant types
* that are supported at the token endpoint. You must provide at least one grant
* type option. Valid options are authorization_code
and
* client_credentials
.
token_endpoint
: The URL to
* the OAuth2 token endpoint.
capabilities
: An array of
* strings of the SMART capabilities that the authorization server supports.
code_challenge_methods_supported
: An array of strings of
* supported PKCE code challenge methods. You must include the S256
* method in the array of PKCE code challenge methods.
The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline const Aws::String& GetIdpLambdaArn() const{ return m_idpLambdaArn; } /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline bool IdpLambdaArnHasBeenSet() const { return m_idpLambdaArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline void SetIdpLambdaArn(const Aws::String& value) { m_idpLambdaArnHasBeenSet = true; m_idpLambdaArn = value; } /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline void SetIdpLambdaArn(Aws::String&& value) { m_idpLambdaArnHasBeenSet = true; m_idpLambdaArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline void SetIdpLambdaArn(const char* value) { m_idpLambdaArnHasBeenSet = true; m_idpLambdaArn.assign(value); } /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline IdentityProviderConfiguration& WithIdpLambdaArn(const Aws::String& value) { SetIdpLambdaArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline IdentityProviderConfiguration& WithIdpLambdaArn(Aws::String&& value) { SetIdpLambdaArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Lambda function that you want to use to * decode the access token created by the authorization server.
*/ inline IdentityProviderConfiguration& WithIdpLambdaArn(const char* value) { SetIdpLambdaArn(value); return *this;} private: AuthorizationStrategy m_authorizationStrategy; bool m_authorizationStrategyHasBeenSet = false; bool m_fineGrainedAuthorizationEnabled; bool m_fineGrainedAuthorizationEnabledHasBeenSet = false; Aws::String m_metadata; bool m_metadataHasBeenSet = false; Aws::String m_idpLambdaArn; bool m_idpLambdaArnHasBeenSet = false; }; } // namespace Model } // namespace HealthLake } // namespace Aws