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

A group object that contains the metadata and attributes for a specified * group.

See Also:

AWS * API Reference

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

The identifier for a group in the identity store.

*/ inline const Aws::String& GetGroupId() const{ return m_groupId; } /** *

The identifier for a group in the identity store.

*/ inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } /** *

The identifier for a group in the identity store.

*/ inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } /** *

The identifier for a group in the identity store.

*/ inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } /** *

The identifier for a group in the identity store.

*/ inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } /** *

The identifier for a group in the identity store.

*/ inline Group& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} /** *

The identifier for a group in the identity store.

*/ inline Group& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} /** *

The identifier for a group in the identity store.

*/ inline Group& WithGroupId(const char* value) { SetGroupId(value); return *this;} /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline Group& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline Group& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The display name value for the group. The length limit is 1,024 characters. * This value can consist of letters, accented characters, symbols, numbers, * punctuation, tab, new line, carriage return, space, and nonbreaking space in * this attribute. This value is specified at the time the group is created and * stored as an attribute of the group object in the identity store.

*/ inline Group& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline const Aws::Vector& GetExternalIds() const{ return m_externalIds; } /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline bool ExternalIdsHasBeenSet() const { return m_externalIdsHasBeenSet; } /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline void SetExternalIds(const Aws::Vector& value) { m_externalIdsHasBeenSet = true; m_externalIds = value; } /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline void SetExternalIds(Aws::Vector&& value) { m_externalIdsHasBeenSet = true; m_externalIds = std::move(value); } /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline Group& WithExternalIds(const Aws::Vector& value) { SetExternalIds(value); return *this;} /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline Group& WithExternalIds(Aws::Vector&& value) { SetExternalIds(std::move(value)); return *this;} /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline Group& AddExternalIds(const ExternalId& value) { m_externalIdsHasBeenSet = true; m_externalIds.push_back(value); return *this; } /** *

A list of ExternalId objects that contains the identifiers * issued to this resource by an external identity provider.

*/ inline Group& AddExternalIds(ExternalId&& value) { m_externalIdsHasBeenSet = true; m_externalIds.push_back(std::move(value)); return *this; } /** *

A string containing a description of the specified group.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A string containing a description of the specified group.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A string containing a description of the specified group.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A string containing a description of the specified group.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A string containing a description of the specified group.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A string containing a description of the specified group.

*/ inline Group& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A string containing a description of the specified group.

*/ inline Group& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A string containing a description of the specified group.

*/ inline Group& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The globally unique identifier for the identity store.

*/ inline const Aws::String& GetIdentityStoreId() const{ return m_identityStoreId; } /** *

The globally unique identifier for the identity store.

*/ inline bool IdentityStoreIdHasBeenSet() const { return m_identityStoreIdHasBeenSet; } /** *

The globally unique identifier for the identity store.

*/ inline void SetIdentityStoreId(const Aws::String& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = value; } /** *

The globally unique identifier for the identity store.

*/ inline void SetIdentityStoreId(Aws::String&& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = std::move(value); } /** *

The globally unique identifier for the identity store.

*/ inline void SetIdentityStoreId(const char* value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId.assign(value); } /** *

The globally unique identifier for the identity store.

*/ inline Group& WithIdentityStoreId(const Aws::String& value) { SetIdentityStoreId(value); return *this;} /** *

The globally unique identifier for the identity store.

*/ inline Group& WithIdentityStoreId(Aws::String&& value) { SetIdentityStoreId(std::move(value)); return *this;} /** *

The globally unique identifier for the identity store.

*/ inline Group& WithIdentityStoreId(const char* value) { SetIdentityStoreId(value); return *this;} private: Aws::String m_groupId; bool m_groupIdHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; Aws::Vector m_externalIds; bool m_externalIdsHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_identityStoreId; bool m_identityStoreIdHasBeenSet = false; }; } // namespace Model } // namespace IdentityStore } // namespace Aws