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

Details about the shared directory in the directory owner account for which * the share request in the directory consumer account has been * accepted.

See Also:

AWS * API Reference

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

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline const Aws::String& GetOwnerAccountId() const{ return m_ownerAccountId; } /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline bool OwnerAccountIdHasBeenSet() const { return m_ownerAccountIdHasBeenSet; } /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline void SetOwnerAccountId(const Aws::String& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = value; } /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline void SetOwnerAccountId(Aws::String&& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = std::move(value); } /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline void SetOwnerAccountId(const char* value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId.assign(value); } /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline SharedDirectory& WithOwnerAccountId(const Aws::String& value) { SetOwnerAccountId(value); return *this;} /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline SharedDirectory& WithOwnerAccountId(Aws::String&& value) { SetOwnerAccountId(std::move(value)); return *this;} /** *

Identifier of the directory owner account, which contains the directory that * has been shared to the consumer account.

*/ inline SharedDirectory& WithOwnerAccountId(const char* value) { SetOwnerAccountId(value); return *this;} /** *

Identifier of the directory in the directory owner account.

*/ inline const Aws::String& GetOwnerDirectoryId() const{ return m_ownerDirectoryId; } /** *

Identifier of the directory in the directory owner account.

*/ inline bool OwnerDirectoryIdHasBeenSet() const { return m_ownerDirectoryIdHasBeenSet; } /** *

Identifier of the directory in the directory owner account.

*/ inline void SetOwnerDirectoryId(const Aws::String& value) { m_ownerDirectoryIdHasBeenSet = true; m_ownerDirectoryId = value; } /** *

Identifier of the directory in the directory owner account.

*/ inline void SetOwnerDirectoryId(Aws::String&& value) { m_ownerDirectoryIdHasBeenSet = true; m_ownerDirectoryId = std::move(value); } /** *

Identifier of the directory in the directory owner account.

*/ inline void SetOwnerDirectoryId(const char* value) { m_ownerDirectoryIdHasBeenSet = true; m_ownerDirectoryId.assign(value); } /** *

Identifier of the directory in the directory owner account.

*/ inline SharedDirectory& WithOwnerDirectoryId(const Aws::String& value) { SetOwnerDirectoryId(value); return *this;} /** *

Identifier of the directory in the directory owner account.

*/ inline SharedDirectory& WithOwnerDirectoryId(Aws::String&& value) { SetOwnerDirectoryId(std::move(value)); return *this;} /** *

Identifier of the directory in the directory owner account.

*/ inline SharedDirectory& WithOwnerDirectoryId(const char* value) { SetOwnerDirectoryId(value); return *this;} /** *

The method used when sharing a directory to determine whether the directory * should be shared within your Amazon Web Services organization * (ORGANIZATIONS) or with any Amazon Web Services account by sending * a shared directory request (HANDSHAKE).

*/ inline const ShareMethod& GetShareMethod() const{ return m_shareMethod; } /** *

The method used when sharing a directory to determine whether the directory * should be shared within your Amazon Web Services organization * (ORGANIZATIONS) or with any Amazon Web Services account by sending * a shared directory request (HANDSHAKE).

*/ inline bool ShareMethodHasBeenSet() const { return m_shareMethodHasBeenSet; } /** *

The method used when sharing a directory to determine whether the directory * should be shared within your Amazon Web Services organization * (ORGANIZATIONS) or with any Amazon Web Services account by sending * a shared directory request (HANDSHAKE).

*/ inline void SetShareMethod(const ShareMethod& value) { m_shareMethodHasBeenSet = true; m_shareMethod = value; } /** *

The method used when sharing a directory to determine whether the directory * should be shared within your Amazon Web Services organization * (ORGANIZATIONS) or with any Amazon Web Services account by sending * a shared directory request (HANDSHAKE).

*/ inline void SetShareMethod(ShareMethod&& value) { m_shareMethodHasBeenSet = true; m_shareMethod = std::move(value); } /** *

The method used when sharing a directory to determine whether the directory * should be shared within your Amazon Web Services organization * (ORGANIZATIONS) or with any Amazon Web Services account by sending * a shared directory request (HANDSHAKE).

*/ inline SharedDirectory& WithShareMethod(const ShareMethod& value) { SetShareMethod(value); return *this;} /** *

The method used when sharing a directory to determine whether the directory * should be shared within your Amazon Web Services organization * (ORGANIZATIONS) or with any Amazon Web Services account by sending * a shared directory request (HANDSHAKE).

*/ inline SharedDirectory& WithShareMethod(ShareMethod&& value) { SetShareMethod(std::move(value)); return *this;} /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline const Aws::String& GetSharedAccountId() const{ return m_sharedAccountId; } /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline bool SharedAccountIdHasBeenSet() const { return m_sharedAccountIdHasBeenSet; } /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline void SetSharedAccountId(const Aws::String& value) { m_sharedAccountIdHasBeenSet = true; m_sharedAccountId = value; } /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline void SetSharedAccountId(Aws::String&& value) { m_sharedAccountIdHasBeenSet = true; m_sharedAccountId = std::move(value); } /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline void SetSharedAccountId(const char* value) { m_sharedAccountIdHasBeenSet = true; m_sharedAccountId.assign(value); } /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline SharedDirectory& WithSharedAccountId(const Aws::String& value) { SetSharedAccountId(value); return *this;} /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline SharedDirectory& WithSharedAccountId(Aws::String&& value) { SetSharedAccountId(std::move(value)); return *this;} /** *

Identifier of the directory consumer account that has access to the shared * directory (OwnerDirectoryId) in the directory owner account.

*/ inline SharedDirectory& WithSharedAccountId(const char* value) { SetSharedAccountId(value); return *this;} /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline const Aws::String& GetSharedDirectoryId() const{ return m_sharedDirectoryId; } /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline bool SharedDirectoryIdHasBeenSet() const { return m_sharedDirectoryIdHasBeenSet; } /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline void SetSharedDirectoryId(const Aws::String& value) { m_sharedDirectoryIdHasBeenSet = true; m_sharedDirectoryId = value; } /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline void SetSharedDirectoryId(Aws::String&& value) { m_sharedDirectoryIdHasBeenSet = true; m_sharedDirectoryId = std::move(value); } /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline void SetSharedDirectoryId(const char* value) { m_sharedDirectoryIdHasBeenSet = true; m_sharedDirectoryId.assign(value); } /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline SharedDirectory& WithSharedDirectoryId(const Aws::String& value) { SetSharedDirectoryId(value); return *this;} /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline SharedDirectory& WithSharedDirectoryId(Aws::String&& value) { SetSharedDirectoryId(std::move(value)); return *this;} /** *

Identifier of the shared directory in the directory consumer account. This * identifier is different for each directory owner account.

*/ inline SharedDirectory& WithSharedDirectoryId(const char* value) { SetSharedDirectoryId(value); return *this;} /** *

Current directory status of the shared Managed Microsoft AD directory.

*/ inline const ShareStatus& GetShareStatus() const{ return m_shareStatus; } /** *

Current directory status of the shared Managed Microsoft AD directory.

*/ inline bool ShareStatusHasBeenSet() const { return m_shareStatusHasBeenSet; } /** *

Current directory status of the shared Managed Microsoft AD directory.

*/ inline void SetShareStatus(const ShareStatus& value) { m_shareStatusHasBeenSet = true; m_shareStatus = value; } /** *

Current directory status of the shared Managed Microsoft AD directory.

*/ inline void SetShareStatus(ShareStatus&& value) { m_shareStatusHasBeenSet = true; m_shareStatus = std::move(value); } /** *

Current directory status of the shared Managed Microsoft AD directory.

*/ inline SharedDirectory& WithShareStatus(const ShareStatus& value) { SetShareStatus(value); return *this;} /** *

Current directory status of the shared Managed Microsoft AD directory.

*/ inline SharedDirectory& WithShareStatus(ShareStatus&& value) { SetShareStatus(std::move(value)); return *this;} /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline const Aws::String& GetShareNotes() const{ return m_shareNotes; } /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline bool ShareNotesHasBeenSet() const { return m_shareNotesHasBeenSet; } /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline void SetShareNotes(const Aws::String& value) { m_shareNotesHasBeenSet = true; m_shareNotes = value; } /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline void SetShareNotes(Aws::String&& value) { m_shareNotesHasBeenSet = true; m_shareNotes = std::move(value); } /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline void SetShareNotes(const char* value) { m_shareNotesHasBeenSet = true; m_shareNotes.assign(value); } /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline SharedDirectory& WithShareNotes(const Aws::String& value) { SetShareNotes(value); return *this;} /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline SharedDirectory& WithShareNotes(Aws::String&& value) { SetShareNotes(std::move(value)); return *this;} /** *

A directory share request that is sent by the directory owner to the * directory consumer. The request includes a typed message to help the directory * consumer administrator determine whether to approve or reject the share * invitation.

*/ inline SharedDirectory& WithShareNotes(const char* value) { SetShareNotes(value); return *this;} /** *

The date and time that the shared directory was created.

*/ inline const Aws::Utils::DateTime& GetCreatedDateTime() const{ return m_createdDateTime; } /** *

The date and time that the shared directory was created.

*/ inline bool CreatedDateTimeHasBeenSet() const { return m_createdDateTimeHasBeenSet; } /** *

The date and time that the shared directory was created.

*/ inline void SetCreatedDateTime(const Aws::Utils::DateTime& value) { m_createdDateTimeHasBeenSet = true; m_createdDateTime = value; } /** *

The date and time that the shared directory was created.

*/ inline void SetCreatedDateTime(Aws::Utils::DateTime&& value) { m_createdDateTimeHasBeenSet = true; m_createdDateTime = std::move(value); } /** *

The date and time that the shared directory was created.

*/ inline SharedDirectory& WithCreatedDateTime(const Aws::Utils::DateTime& value) { SetCreatedDateTime(value); return *this;} /** *

The date and time that the shared directory was created.

*/ inline SharedDirectory& WithCreatedDateTime(Aws::Utils::DateTime&& value) { SetCreatedDateTime(std::move(value)); return *this;} /** *

The date and time that the shared directory was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } /** *

The date and time that the shared directory was last updated.

*/ inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } /** *

The date and time that the shared directory was last updated.

*/ inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } /** *

The date and time that the shared directory was last updated.

*/ inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } /** *

The date and time that the shared directory was last updated.

*/ inline SharedDirectory& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} /** *

The date and time that the shared directory was last updated.

*/ inline SharedDirectory& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} private: Aws::String m_ownerAccountId; bool m_ownerAccountIdHasBeenSet = false; Aws::String m_ownerDirectoryId; bool m_ownerDirectoryIdHasBeenSet = false; ShareMethod m_shareMethod; bool m_shareMethodHasBeenSet = false; Aws::String m_sharedAccountId; bool m_sharedAccountIdHasBeenSet = false; Aws::String m_sharedDirectoryId; bool m_sharedDirectoryIdHasBeenSet = false; ShareStatus m_shareStatus; bool m_shareStatusHasBeenSet = false; Aws::String m_shareNotes; bool m_shareNotesHasBeenSet = false; Aws::Utils::DateTime m_createdDateTime; bool m_createdDateTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDateTime; bool m_lastUpdatedDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws