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

The authorization configuration in case the HTTP endpoint requires * authorization.

See Also:

AWS * API Reference

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

The authorization type that the HTTP endpoint requires.

  • * AWS_IAM: The authorization type is Signature Version 4 (SigV4).

  • *
*/ inline const AuthorizationType& GetAuthorizationType() const{ return m_authorizationType; } /** *

The authorization type that the HTTP endpoint requires.

  • * AWS_IAM: The authorization type is Signature Version 4 (SigV4).

  • *
*/ inline bool AuthorizationTypeHasBeenSet() const { return m_authorizationTypeHasBeenSet; } /** *

The authorization type that the HTTP endpoint requires.

  • * AWS_IAM: The authorization type is Signature Version 4 (SigV4).

  • *
*/ inline void SetAuthorizationType(const AuthorizationType& value) { m_authorizationTypeHasBeenSet = true; m_authorizationType = value; } /** *

The authorization type that the HTTP endpoint requires.

  • * AWS_IAM: The authorization type is Signature Version 4 (SigV4).

  • *
*/ inline void SetAuthorizationType(AuthorizationType&& value) { m_authorizationTypeHasBeenSet = true; m_authorizationType = std::move(value); } /** *

The authorization type that the HTTP endpoint requires.

  • * AWS_IAM: The authorization type is Signature Version 4 (SigV4).

  • *
*/ inline AuthorizationConfig& WithAuthorizationType(const AuthorizationType& value) { SetAuthorizationType(value); return *this;} /** *

The authorization type that the HTTP endpoint requires.

  • * AWS_IAM: The authorization type is Signature Version 4 (SigV4).

  • *
*/ inline AuthorizationConfig& WithAuthorizationType(AuthorizationType&& value) { SetAuthorizationType(std::move(value)); return *this;} /** *

The Identity and Access Management (IAM) settings.

*/ inline const AwsIamConfig& GetAwsIamConfig() const{ return m_awsIamConfig; } /** *

The Identity and Access Management (IAM) settings.

*/ inline bool AwsIamConfigHasBeenSet() const { return m_awsIamConfigHasBeenSet; } /** *

The Identity and Access Management (IAM) settings.

*/ inline void SetAwsIamConfig(const AwsIamConfig& value) { m_awsIamConfigHasBeenSet = true; m_awsIamConfig = value; } /** *

The Identity and Access Management (IAM) settings.

*/ inline void SetAwsIamConfig(AwsIamConfig&& value) { m_awsIamConfigHasBeenSet = true; m_awsIamConfig = std::move(value); } /** *

The Identity and Access Management (IAM) settings.

*/ inline AuthorizationConfig& WithAwsIamConfig(const AwsIamConfig& value) { SetAwsIamConfig(value); return *this;} /** *

The Identity and Access Management (IAM) settings.

*/ inline AuthorizationConfig& WithAwsIamConfig(AwsIamConfig&& value) { SetAwsIamConfig(std::move(value)); return *this;} private: AuthorizationType m_authorizationType; bool m_authorizationTypeHasBeenSet = false; AwsIamConfig m_awsIamConfig; bool m_awsIamConfigHasBeenSet = false; }; } // namespace Model } // namespace AppSync } // namespace Aws