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

Contains information about an app authorization.

See Also:

* AWS * API Reference

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

The Amazon Resource Name (ARN) of the app authorization.

*/ inline const Aws::String& GetAppAuthorizationArn() const{ return m_appAuthorizationArn; } /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline bool AppAuthorizationArnHasBeenSet() const { return m_appAuthorizationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline void SetAppAuthorizationArn(const Aws::String& value) { m_appAuthorizationArnHasBeenSet = true; m_appAuthorizationArn = value; } /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline void SetAppAuthorizationArn(Aws::String&& value) { m_appAuthorizationArnHasBeenSet = true; m_appAuthorizationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline void SetAppAuthorizationArn(const char* value) { m_appAuthorizationArnHasBeenSet = true; m_appAuthorizationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline AppAuthorization& WithAppAuthorizationArn(const Aws::String& value) { SetAppAuthorizationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline AppAuthorization& WithAppAuthorizationArn(Aws::String&& value) { SetAppAuthorizationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the app authorization.

*/ inline AppAuthorization& WithAppAuthorizationArn(const char* value) { SetAppAuthorizationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline const Aws::String& GetAppBundleArn() const{ return m_appBundleArn; } /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline bool AppBundleArnHasBeenSet() const { return m_appBundleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline void SetAppBundleArn(const Aws::String& value) { m_appBundleArnHasBeenSet = true; m_appBundleArn = value; } /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline void SetAppBundleArn(Aws::String&& value) { m_appBundleArnHasBeenSet = true; m_appBundleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline void SetAppBundleArn(const char* value) { m_appBundleArnHasBeenSet = true; m_appBundleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline AppAuthorization& WithAppBundleArn(const Aws::String& value) { SetAppBundleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline AppAuthorization& WithAppBundleArn(Aws::String&& value) { SetAppBundleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the app bundle for the app * authorization.

*/ inline AppAuthorization& WithAppBundleArn(const char* value) { SetAppBundleArn(value); return *this;} /** *

The name of the application.

*/ inline const Aws::String& GetApp() const{ return m_app; } /** *

The name of the application.

*/ inline bool AppHasBeenSet() const { return m_appHasBeenSet; } /** *

The name of the application.

*/ inline void SetApp(const Aws::String& value) { m_appHasBeenSet = true; m_app = value; } /** *

The name of the application.

*/ inline void SetApp(Aws::String&& value) { m_appHasBeenSet = true; m_app = std::move(value); } /** *

The name of the application.

*/ inline void SetApp(const char* value) { m_appHasBeenSet = true; m_app.assign(value); } /** *

The name of the application.

*/ inline AppAuthorization& WithApp(const Aws::String& value) { SetApp(value); return *this;} /** *

The name of the application.

*/ inline AppAuthorization& WithApp(Aws::String&& value) { SetApp(std::move(value)); return *this;} /** *

The name of the application.

*/ inline AppAuthorization& WithApp(const char* value) { SetApp(value); return *this;} /** *

Contains information about an application tenant, such as the application * display name and identifier.

*/ inline const Tenant& GetTenant() const{ return m_tenant; } /** *

Contains information about an application tenant, such as the application * display name and identifier.

*/ inline bool TenantHasBeenSet() const { return m_tenantHasBeenSet; } /** *

Contains information about an application tenant, such as the application * display name and identifier.

*/ inline void SetTenant(const Tenant& value) { m_tenantHasBeenSet = true; m_tenant = value; } /** *

Contains information about an application tenant, such as the application * display name and identifier.

*/ inline void SetTenant(Tenant&& value) { m_tenantHasBeenSet = true; m_tenant = std::move(value); } /** *

Contains information about an application tenant, such as the application * display name and identifier.

*/ inline AppAuthorization& WithTenant(const Tenant& value) { SetTenant(value); return *this;} /** *

Contains information about an application tenant, such as the application * display name and identifier.

*/ inline AppAuthorization& WithTenant(Tenant&& value) { SetTenant(std::move(value)); return *this;} /** *

The authorization type.

*/ inline const AuthType& GetAuthType() const{ return m_authType; } /** *

The authorization type.

*/ inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; } /** *

The authorization type.

*/ inline void SetAuthType(const AuthType& value) { m_authTypeHasBeenSet = true; m_authType = value; } /** *

The authorization type.

*/ inline void SetAuthType(AuthType&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); } /** *

The authorization type.

*/ inline AppAuthorization& WithAuthType(const AuthType& value) { SetAuthType(value); return *this;} /** *

The authorization type.

*/ inline AppAuthorization& WithAuthType(AuthType&& value) { SetAuthType(std::move(value)); return *this;} /** *

The state of the app authorization.

The following states are * possible:

  • PendingConnect: The initial state of * the app authorization. The app authorization is created but not yet * connected.

  • Connected: The app authorization is * connected to the application, and is ready to be used.

  • * ConnectionValidationFailed: The app authorization received a * validation exception when trying to connect to the application. If the app * authorization is in this state, you should verify the configured credentials and * try to connect the app authorization again.

  • * TokenAutoRotationFailed: AppFabric failed to refresh the access * token. If the app authorization is in this state, you should try to reconnect * the app authorization.

*/ inline const AppAuthorizationStatus& GetStatus() const{ return m_status; } /** *

The state of the app authorization.

The following states are * possible:

  • PendingConnect: The initial state of * the app authorization. The app authorization is created but not yet * connected.

  • Connected: The app authorization is * connected to the application, and is ready to be used.

  • * ConnectionValidationFailed: The app authorization received a * validation exception when trying to connect to the application. If the app * authorization is in this state, you should verify the configured credentials and * try to connect the app authorization again.

  • * TokenAutoRotationFailed: AppFabric failed to refresh the access * token. If the app authorization is in this state, you should try to reconnect * the app authorization.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The state of the app authorization.

The following states are * possible:

  • PendingConnect: The initial state of * the app authorization. The app authorization is created but not yet * connected.

  • Connected: The app authorization is * connected to the application, and is ready to be used.

  • * ConnectionValidationFailed: The app authorization received a * validation exception when trying to connect to the application. If the app * authorization is in this state, you should verify the configured credentials and * try to connect the app authorization again.

  • * TokenAutoRotationFailed: AppFabric failed to refresh the access * token. If the app authorization is in this state, you should try to reconnect * the app authorization.

*/ inline void SetStatus(const AppAuthorizationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The state of the app authorization.

The following states are * possible:

  • PendingConnect: The initial state of * the app authorization. The app authorization is created but not yet * connected.

  • Connected: The app authorization is * connected to the application, and is ready to be used.

  • * ConnectionValidationFailed: The app authorization received a * validation exception when trying to connect to the application. If the app * authorization is in this state, you should verify the configured credentials and * try to connect the app authorization again.

  • * TokenAutoRotationFailed: AppFabric failed to refresh the access * token. If the app authorization is in this state, you should try to reconnect * the app authorization.

*/ inline void SetStatus(AppAuthorizationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The state of the app authorization.

The following states are * possible:

  • PendingConnect: The initial state of * the app authorization. The app authorization is created but not yet * connected.

  • Connected: The app authorization is * connected to the application, and is ready to be used.

  • * ConnectionValidationFailed: The app authorization received a * validation exception when trying to connect to the application. If the app * authorization is in this state, you should verify the configured credentials and * try to connect the app authorization again.

  • * TokenAutoRotationFailed: AppFabric failed to refresh the access * token. If the app authorization is in this state, you should try to reconnect * the app authorization.

*/ inline AppAuthorization& WithStatus(const AppAuthorizationStatus& value) { SetStatus(value); return *this;} /** *

The state of the app authorization.

The following states are * possible:

  • PendingConnect: The initial state of * the app authorization. The app authorization is created but not yet * connected.

  • Connected: The app authorization is * connected to the application, and is ready to be used.

  • * ConnectionValidationFailed: The app authorization received a * validation exception when trying to connect to the application. If the app * authorization is in this state, you should verify the configured credentials and * try to connect the app authorization again.

  • * TokenAutoRotationFailed: AppFabric failed to refresh the access * token. If the app authorization is in this state, you should try to reconnect * the app authorization.

*/ inline AppAuthorization& WithStatus(AppAuthorizationStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The timestamp of when the app authorization was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The timestamp of when the app authorization was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The timestamp of when the app authorization was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The timestamp of when the app authorization was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The timestamp of when the app authorization was created.

*/ inline AppAuthorization& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The timestamp of when the app authorization was created.

*/ inline AppAuthorization& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The timestamp of when the app authorization was last updated.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

The timestamp of when the app authorization was last updated.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

The timestamp of when the app authorization was last updated.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

The timestamp of when the app authorization was last updated.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

The timestamp of when the app authorization was last updated.

*/ inline AppAuthorization& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

The timestamp of when the app authorization was last updated.

*/ inline AppAuthorization& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

The user persona of the app authorization.

This field should always be * admin.

*/ inline const Persona& GetPersona() const{ return m_persona; } /** *

The user persona of the app authorization.

This field should always be * admin.

*/ inline bool PersonaHasBeenSet() const { return m_personaHasBeenSet; } /** *

The user persona of the app authorization.

This field should always be * admin.

*/ inline void SetPersona(const Persona& value) { m_personaHasBeenSet = true; m_persona = value; } /** *

The user persona of the app authorization.

This field should always be * admin.

*/ inline void SetPersona(Persona&& value) { m_personaHasBeenSet = true; m_persona = std::move(value); } /** *

The user persona of the app authorization.

This field should always be * admin.

*/ inline AppAuthorization& WithPersona(const Persona& value) { SetPersona(value); return *this;} /** *

The user persona of the app authorization.

This field should always be * admin.

*/ inline AppAuthorization& WithPersona(Persona&& value) { SetPersona(std::move(value)); return *this;} /** *

The application URL for the OAuth flow.

*/ inline const Aws::String& GetAuthUrl() const{ return m_authUrl; } /** *

The application URL for the OAuth flow.

*/ inline bool AuthUrlHasBeenSet() const { return m_authUrlHasBeenSet; } /** *

The application URL for the OAuth flow.

*/ inline void SetAuthUrl(const Aws::String& value) { m_authUrlHasBeenSet = true; m_authUrl = value; } /** *

The application URL for the OAuth flow.

*/ inline void SetAuthUrl(Aws::String&& value) { m_authUrlHasBeenSet = true; m_authUrl = std::move(value); } /** *

The application URL for the OAuth flow.

*/ inline void SetAuthUrl(const char* value) { m_authUrlHasBeenSet = true; m_authUrl.assign(value); } /** *

The application URL for the OAuth flow.

*/ inline AppAuthorization& WithAuthUrl(const Aws::String& value) { SetAuthUrl(value); return *this;} /** *

The application URL for the OAuth flow.

*/ inline AppAuthorization& WithAuthUrl(Aws::String&& value) { SetAuthUrl(std::move(value)); return *this;} /** *

The application URL for the OAuth flow.

*/ inline AppAuthorization& WithAuthUrl(const char* value) { SetAuthUrl(value); return *this;} private: Aws::String m_appAuthorizationArn; bool m_appAuthorizationArnHasBeenSet = false; Aws::String m_appBundleArn; bool m_appBundleArnHasBeenSet = false; Aws::String m_app; bool m_appHasBeenSet = false; Tenant m_tenant; bool m_tenantHasBeenSet = false; AuthType m_authType; bool m_authTypeHasBeenSet = false; AppAuthorizationStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Persona m_persona; bool m_personaHasBeenSet = false; Aws::String m_authUrl; bool m_authUrlHasBeenSet = false; }; } // namespace Model } // namespace AppFabric } // namespace Aws