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

A structure that defines an identity source.

This data type is used as * a request parameter for the ListIdentityStores * operation.

See Also:

AWS * API Reference

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

The date and time the identity source was originally created.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The date and time the identity source was originally created.

*/ inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } /** *

The date and time the identity source was originally created.

*/ inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } /** *

The date and time the identity source was originally created.

*/ inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } /** *

The date and time the identity source was originally created.

*/ inline IdentitySourceItem& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date and time the identity source was originally created.

*/ inline IdentitySourceItem& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} /** *

A structure that contains the details of the associated identity provider * (IdP).

*/ inline const IdentitySourceItemDetails& GetDetails() const{ return m_details; } /** *

A structure that contains the details of the associated identity provider * (IdP).

*/ inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } /** *

A structure that contains the details of the associated identity provider * (IdP).

*/ inline void SetDetails(const IdentitySourceItemDetails& value) { m_detailsHasBeenSet = true; m_details = value; } /** *

A structure that contains the details of the associated identity provider * (IdP).

*/ inline void SetDetails(IdentitySourceItemDetails&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); } /** *

A structure that contains the details of the associated identity provider * (IdP).

*/ inline IdentitySourceItem& WithDetails(const IdentitySourceItemDetails& value) { SetDetails(value); return *this;} /** *

A structure that contains the details of the associated identity provider * (IdP).

*/ inline IdentitySourceItem& WithDetails(IdentitySourceItemDetails&& value) { SetDetails(std::move(value)); return *this;} /** *

The unique identifier of the identity source.

*/ inline const Aws::String& GetIdentitySourceId() const{ return m_identitySourceId; } /** *

The unique identifier of the identity source.

*/ inline bool IdentitySourceIdHasBeenSet() const { return m_identitySourceIdHasBeenSet; } /** *

The unique identifier of the identity source.

*/ inline void SetIdentitySourceId(const Aws::String& value) { m_identitySourceIdHasBeenSet = true; m_identitySourceId = value; } /** *

The unique identifier of the identity source.

*/ inline void SetIdentitySourceId(Aws::String&& value) { m_identitySourceIdHasBeenSet = true; m_identitySourceId = std::move(value); } /** *

The unique identifier of the identity source.

*/ inline void SetIdentitySourceId(const char* value) { m_identitySourceIdHasBeenSet = true; m_identitySourceId.assign(value); } /** *

The unique identifier of the identity source.

*/ inline IdentitySourceItem& WithIdentitySourceId(const Aws::String& value) { SetIdentitySourceId(value); return *this;} /** *

The unique identifier of the identity source.

*/ inline IdentitySourceItem& WithIdentitySourceId(Aws::String&& value) { SetIdentitySourceId(std::move(value)); return *this;} /** *

The unique identifier of the identity source.

*/ inline IdentitySourceItem& WithIdentitySourceId(const char* value) { SetIdentitySourceId(value); return *this;} /** *

The date and time the identity source was most recently updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } /** *

The date and time the identity source was most recently updated.

*/ inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; } /** *

The date and time the identity source was most recently updated.

*/ inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; } /** *

The date and time the identity source was most recently updated.

*/ inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); } /** *

The date and time the identity source was most recently updated.

*/ inline IdentitySourceItem& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} /** *

The date and time the identity source was most recently updated.

*/ inline IdentitySourceItem& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} /** *

The identifier of the policy store that contains the identity source.

*/ inline const Aws::String& GetPolicyStoreId() const{ return m_policyStoreId; } /** *

The identifier of the policy store that contains the identity source.

*/ inline bool PolicyStoreIdHasBeenSet() const { return m_policyStoreIdHasBeenSet; } /** *

The identifier of the policy store that contains the identity source.

*/ inline void SetPolicyStoreId(const Aws::String& value) { m_policyStoreIdHasBeenSet = true; m_policyStoreId = value; } /** *

The identifier of the policy store that contains the identity source.

*/ inline void SetPolicyStoreId(Aws::String&& value) { m_policyStoreIdHasBeenSet = true; m_policyStoreId = std::move(value); } /** *

The identifier of the policy store that contains the identity source.

*/ inline void SetPolicyStoreId(const char* value) { m_policyStoreIdHasBeenSet = true; m_policyStoreId.assign(value); } /** *

The identifier of the policy store that contains the identity source.

*/ inline IdentitySourceItem& WithPolicyStoreId(const Aws::String& value) { SetPolicyStoreId(value); return *this;} /** *

The identifier of the policy store that contains the identity source.

*/ inline IdentitySourceItem& WithPolicyStoreId(Aws::String&& value) { SetPolicyStoreId(std::move(value)); return *this;} /** *

The identifier of the policy store that contains the identity source.

*/ inline IdentitySourceItem& WithPolicyStoreId(const char* value) { SetPolicyStoreId(value); return *this;} /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline const Aws::String& GetPrincipalEntityType() const{ return m_principalEntityType; } /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline bool PrincipalEntityTypeHasBeenSet() const { return m_principalEntityTypeHasBeenSet; } /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline void SetPrincipalEntityType(const Aws::String& value) { m_principalEntityTypeHasBeenSet = true; m_principalEntityType = value; } /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline void SetPrincipalEntityType(Aws::String&& value) { m_principalEntityTypeHasBeenSet = true; m_principalEntityType = std::move(value); } /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline void SetPrincipalEntityType(const char* value) { m_principalEntityTypeHasBeenSet = true; m_principalEntityType.assign(value); } /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline IdentitySourceItem& WithPrincipalEntityType(const Aws::String& value) { SetPrincipalEntityType(value); return *this;} /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline IdentitySourceItem& WithPrincipalEntityType(Aws::String&& value) { SetPrincipalEntityType(std::move(value)); return *this;} /** *

The Cedar entity type of the principals returned from the IdP associated with * this identity source.

*/ inline IdentitySourceItem& WithPrincipalEntityType(const char* value) { SetPrincipalEntityType(value); return *this;} private: Aws::Utils::DateTime m_createdDate; bool m_createdDateHasBeenSet = false; IdentitySourceItemDetails m_details; bool m_detailsHasBeenSet = false; Aws::String m_identitySourceId; bool m_identitySourceIdHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDate; bool m_lastUpdatedDateHasBeenSet = false; Aws::String m_policyStoreId; bool m_policyStoreIdHasBeenSet = false; Aws::String m_principalEntityType; bool m_principalEntityTypeHasBeenSet = false; }; } // namespace Model } // namespace VerifiedPermissions } // namespace Aws