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

Contains credential information for an application.

See Also:

* AWS * API Reference

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

Contains OAuth2 client credential information.

*/ inline const Oauth2Credential& GetOauth2Credential() const{ return m_oauth2Credential; } /** *

Contains OAuth2 client credential information.

*/ inline bool Oauth2CredentialHasBeenSet() const { return m_oauth2CredentialHasBeenSet; } /** *

Contains OAuth2 client credential information.

*/ inline void SetOauth2Credential(const Oauth2Credential& value) { m_oauth2CredentialHasBeenSet = true; m_oauth2Credential = value; } /** *

Contains OAuth2 client credential information.

*/ inline void SetOauth2Credential(Oauth2Credential&& value) { m_oauth2CredentialHasBeenSet = true; m_oauth2Credential = std::move(value); } /** *

Contains OAuth2 client credential information.

*/ inline Credential& WithOauth2Credential(const Oauth2Credential& value) { SetOauth2Credential(value); return *this;} /** *

Contains OAuth2 client credential information.

*/ inline Credential& WithOauth2Credential(Oauth2Credential&& value) { SetOauth2Credential(std::move(value)); return *this;} /** *

Contains API key credential information.

*/ inline const ApiKeyCredential& GetApiKeyCredential() const{ return m_apiKeyCredential; } /** *

Contains API key credential information.

*/ inline bool ApiKeyCredentialHasBeenSet() const { return m_apiKeyCredentialHasBeenSet; } /** *

Contains API key credential information.

*/ inline void SetApiKeyCredential(const ApiKeyCredential& value) { m_apiKeyCredentialHasBeenSet = true; m_apiKeyCredential = value; } /** *

Contains API key credential information.

*/ inline void SetApiKeyCredential(ApiKeyCredential&& value) { m_apiKeyCredentialHasBeenSet = true; m_apiKeyCredential = std::move(value); } /** *

Contains API key credential information.

*/ inline Credential& WithApiKeyCredential(const ApiKeyCredential& value) { SetApiKeyCredential(value); return *this;} /** *

Contains API key credential information.

*/ inline Credential& WithApiKeyCredential(ApiKeyCredential&& value) { SetApiKeyCredential(std::move(value)); return *this;} private: Oauth2Credential m_oauth2Credential; bool m_oauth2CredentialHasBeenSet = false; ApiKeyCredential m_apiKeyCredential; bool m_apiKeyCredentialHasBeenSet = false; }; } // namespace Model } // namespace AppFabric } // namespace Aws