/** * 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 #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CloudDirectory { namespace Model { /** *

Represents the output of a BatchRead operation.

See * Also:

AWS * API Reference

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

Lists all attributes that are associated with an object.

*/ inline const BatchListObjectAttributes& GetListObjectAttributes() const{ return m_listObjectAttributes; } /** *

Lists all attributes that are associated with an object.

*/ inline bool ListObjectAttributesHasBeenSet() const { return m_listObjectAttributesHasBeenSet; } /** *

Lists all attributes that are associated with an object.

*/ inline void SetListObjectAttributes(const BatchListObjectAttributes& value) { m_listObjectAttributesHasBeenSet = true; m_listObjectAttributes = value; } /** *

Lists all attributes that are associated with an object.

*/ inline void SetListObjectAttributes(BatchListObjectAttributes&& value) { m_listObjectAttributesHasBeenSet = true; m_listObjectAttributes = std::move(value); } /** *

Lists all attributes that are associated with an object.

*/ inline BatchReadOperation& WithListObjectAttributes(const BatchListObjectAttributes& value) { SetListObjectAttributes(value); return *this;} /** *

Lists all attributes that are associated with an object.

*/ inline BatchReadOperation& WithListObjectAttributes(BatchListObjectAttributes&& value) { SetListObjectAttributes(std::move(value)); return *this;} /** *

Returns a paginated list of child objects that are associated with a given * object.

*/ inline const BatchListObjectChildren& GetListObjectChildren() const{ return m_listObjectChildren; } /** *

Returns a paginated list of child objects that are associated with a given * object.

*/ inline bool ListObjectChildrenHasBeenSet() const { return m_listObjectChildrenHasBeenSet; } /** *

Returns a paginated list of child objects that are associated with a given * object.

*/ inline void SetListObjectChildren(const BatchListObjectChildren& value) { m_listObjectChildrenHasBeenSet = true; m_listObjectChildren = value; } /** *

Returns a paginated list of child objects that are associated with a given * object.

*/ inline void SetListObjectChildren(BatchListObjectChildren&& value) { m_listObjectChildrenHasBeenSet = true; m_listObjectChildren = std::move(value); } /** *

Returns a paginated list of child objects that are associated with a given * object.

*/ inline BatchReadOperation& WithListObjectChildren(const BatchListObjectChildren& value) { SetListObjectChildren(value); return *this;} /** *

Returns a paginated list of child objects that are associated with a given * object.

*/ inline BatchReadOperation& WithListObjectChildren(BatchListObjectChildren&& value) { SetListObjectChildren(std::move(value)); return *this;} /** *

Lists indices attached to an object.

*/ inline const BatchListAttachedIndices& GetListAttachedIndices() const{ return m_listAttachedIndices; } /** *

Lists indices attached to an object.

*/ inline bool ListAttachedIndicesHasBeenSet() const { return m_listAttachedIndicesHasBeenSet; } /** *

Lists indices attached to an object.

*/ inline void SetListAttachedIndices(const BatchListAttachedIndices& value) { m_listAttachedIndicesHasBeenSet = true; m_listAttachedIndices = value; } /** *

Lists indices attached to an object.

*/ inline void SetListAttachedIndices(BatchListAttachedIndices&& value) { m_listAttachedIndicesHasBeenSet = true; m_listAttachedIndices = std::move(value); } /** *

Lists indices attached to an object.

*/ inline BatchReadOperation& WithListAttachedIndices(const BatchListAttachedIndices& value) { SetListAttachedIndices(value); return *this;} /** *

Lists indices attached to an object.

*/ inline BatchReadOperation& WithListAttachedIndices(BatchListAttachedIndices&& value) { SetListAttachedIndices(std::move(value)); return *this;} /** *

Retrieves all available parent paths for any object type such as node, leaf * node, policy node, and index node objects. For more information about objects, * see Directory * Structure.

*/ inline const BatchListObjectParentPaths& GetListObjectParentPaths() const{ return m_listObjectParentPaths; } /** *

Retrieves all available parent paths for any object type such as node, leaf * node, policy node, and index node objects. For more information about objects, * see Directory * Structure.

*/ inline bool ListObjectParentPathsHasBeenSet() const { return m_listObjectParentPathsHasBeenSet; } /** *

Retrieves all available parent paths for any object type such as node, leaf * node, policy node, and index node objects. For more information about objects, * see Directory * Structure.

*/ inline void SetListObjectParentPaths(const BatchListObjectParentPaths& value) { m_listObjectParentPathsHasBeenSet = true; m_listObjectParentPaths = value; } /** *

Retrieves all available parent paths for any object type such as node, leaf * node, policy node, and index node objects. For more information about objects, * see Directory * Structure.

*/ inline void SetListObjectParentPaths(BatchListObjectParentPaths&& value) { m_listObjectParentPathsHasBeenSet = true; m_listObjectParentPaths = std::move(value); } /** *

Retrieves all available parent paths for any object type such as node, leaf * node, policy node, and index node objects. For more information about objects, * see Directory * Structure.

*/ inline BatchReadOperation& WithListObjectParentPaths(const BatchListObjectParentPaths& value) { SetListObjectParentPaths(value); return *this;} /** *

Retrieves all available parent paths for any object type such as node, leaf * node, policy node, and index node objects. For more information about objects, * see Directory * Structure.

*/ inline BatchReadOperation& WithListObjectParentPaths(BatchListObjectParentPaths&& value) { SetListObjectParentPaths(std::move(value)); return *this;} /** *

Retrieves metadata about an object.

*/ inline const BatchGetObjectInformation& GetGetObjectInformation() const{ return m_getObjectInformation; } /** *

Retrieves metadata about an object.

*/ inline bool GetObjectInformationHasBeenSet() const { return m_getObjectInformationHasBeenSet; } /** *

Retrieves metadata about an object.

*/ inline void SetGetObjectInformation(const BatchGetObjectInformation& value) { m_getObjectInformationHasBeenSet = true; m_getObjectInformation = value; } /** *

Retrieves metadata about an object.

*/ inline void SetGetObjectInformation(BatchGetObjectInformation&& value) { m_getObjectInformationHasBeenSet = true; m_getObjectInformation = std::move(value); } /** *

Retrieves metadata about an object.

*/ inline BatchReadOperation& WithGetObjectInformation(const BatchGetObjectInformation& value) { SetGetObjectInformation(value); return *this;} /** *

Retrieves metadata about an object.

*/ inline BatchReadOperation& WithGetObjectInformation(BatchGetObjectInformation&& value) { SetGetObjectInformation(std::move(value)); return *this;} /** *

Retrieves attributes within a facet that are associated with an object.

*/ inline const BatchGetObjectAttributes& GetGetObjectAttributes() const{ return m_getObjectAttributes; } /** *

Retrieves attributes within a facet that are associated with an object.

*/ inline bool GetObjectAttributesHasBeenSet() const { return m_getObjectAttributesHasBeenSet; } /** *

Retrieves attributes within a facet that are associated with an object.

*/ inline void SetGetObjectAttributes(const BatchGetObjectAttributes& value) { m_getObjectAttributesHasBeenSet = true; m_getObjectAttributes = value; } /** *

Retrieves attributes within a facet that are associated with an object.

*/ inline void SetGetObjectAttributes(BatchGetObjectAttributes&& value) { m_getObjectAttributesHasBeenSet = true; m_getObjectAttributes = std::move(value); } /** *

Retrieves attributes within a facet that are associated with an object.

*/ inline BatchReadOperation& WithGetObjectAttributes(const BatchGetObjectAttributes& value) { SetGetObjectAttributes(value); return *this;} /** *

Retrieves attributes within a facet that are associated with an object.

*/ inline BatchReadOperation& WithGetObjectAttributes(BatchGetObjectAttributes&& value) { SetGetObjectAttributes(std::move(value)); return *this;} /** *

Lists parent objects that are associated with a given object in pagination * fashion.

*/ inline const BatchListObjectParents& GetListObjectParents() const{ return m_listObjectParents; } /** *

Lists parent objects that are associated with a given object in pagination * fashion.

*/ inline bool ListObjectParentsHasBeenSet() const { return m_listObjectParentsHasBeenSet; } /** *

Lists parent objects that are associated with a given object in pagination * fashion.

*/ inline void SetListObjectParents(const BatchListObjectParents& value) { m_listObjectParentsHasBeenSet = true; m_listObjectParents = value; } /** *

Lists parent objects that are associated with a given object in pagination * fashion.

*/ inline void SetListObjectParents(BatchListObjectParents&& value) { m_listObjectParentsHasBeenSet = true; m_listObjectParents = std::move(value); } /** *

Lists parent objects that are associated with a given object in pagination * fashion.

*/ inline BatchReadOperation& WithListObjectParents(const BatchListObjectParents& value) { SetListObjectParents(value); return *this;} /** *

Lists parent objects that are associated with a given object in pagination * fashion.

*/ inline BatchReadOperation& WithListObjectParents(BatchListObjectParents&& value) { SetListObjectParents(std::move(value)); return *this;} /** *

Returns policies attached to an object in pagination fashion.

*/ inline const BatchListObjectPolicies& GetListObjectPolicies() const{ return m_listObjectPolicies; } /** *

Returns policies attached to an object in pagination fashion.

*/ inline bool ListObjectPoliciesHasBeenSet() const { return m_listObjectPoliciesHasBeenSet; } /** *

Returns policies attached to an object in pagination fashion.

*/ inline void SetListObjectPolicies(const BatchListObjectPolicies& value) { m_listObjectPoliciesHasBeenSet = true; m_listObjectPolicies = value; } /** *

Returns policies attached to an object in pagination fashion.

*/ inline void SetListObjectPolicies(BatchListObjectPolicies&& value) { m_listObjectPoliciesHasBeenSet = true; m_listObjectPolicies = std::move(value); } /** *

Returns policies attached to an object in pagination fashion.

*/ inline BatchReadOperation& WithListObjectPolicies(const BatchListObjectPolicies& value) { SetListObjectPolicies(value); return *this;} /** *

Returns policies attached to an object in pagination fashion.

*/ inline BatchReadOperation& WithListObjectPolicies(BatchListObjectPolicies&& value) { SetListObjectPolicies(std::move(value)); return *this;} /** *

Returns all of the ObjectIdentifiers to which a given policy is * attached.

*/ inline const BatchListPolicyAttachments& GetListPolicyAttachments() const{ return m_listPolicyAttachments; } /** *

Returns all of the ObjectIdentifiers to which a given policy is * attached.

*/ inline bool ListPolicyAttachmentsHasBeenSet() const { return m_listPolicyAttachmentsHasBeenSet; } /** *

Returns all of the ObjectIdentifiers to which a given policy is * attached.

*/ inline void SetListPolicyAttachments(const BatchListPolicyAttachments& value) { m_listPolicyAttachmentsHasBeenSet = true; m_listPolicyAttachments = value; } /** *

Returns all of the ObjectIdentifiers to which a given policy is * attached.

*/ inline void SetListPolicyAttachments(BatchListPolicyAttachments&& value) { m_listPolicyAttachmentsHasBeenSet = true; m_listPolicyAttachments = std::move(value); } /** *

Returns all of the ObjectIdentifiers to which a given policy is * attached.

*/ inline BatchReadOperation& WithListPolicyAttachments(const BatchListPolicyAttachments& value) { SetListPolicyAttachments(value); return *this;} /** *

Returns all of the ObjectIdentifiers to which a given policy is * attached.

*/ inline BatchReadOperation& WithListPolicyAttachments(BatchListPolicyAttachments&& value) { SetListPolicyAttachments(std::move(value)); return *this;} /** *

Lists all policies from the root of the Directory to the object * specified. If there are no policies present, an empty list is returned. If * policies are present, and if some objects don't have the policies attached, it * returns the ObjectIdentifier for such objects. If policies are * present, it returns ObjectIdentifier, policyId, and * policyType. Paths that don't lead to the root from the target * object are ignored. For more information, see Policies.

*/ inline const BatchLookupPolicy& GetLookupPolicy() const{ return m_lookupPolicy; } /** *

Lists all policies from the root of the Directory to the object * specified. If there are no policies present, an empty list is returned. If * policies are present, and if some objects don't have the policies attached, it * returns the ObjectIdentifier for such objects. If policies are * present, it returns ObjectIdentifier, policyId, and * policyType. Paths that don't lead to the root from the target * object are ignored. For more information, see Policies.

*/ inline bool LookupPolicyHasBeenSet() const { return m_lookupPolicyHasBeenSet; } /** *

Lists all policies from the root of the Directory to the object * specified. If there are no policies present, an empty list is returned. If * policies are present, and if some objects don't have the policies attached, it * returns the ObjectIdentifier for such objects. If policies are * present, it returns ObjectIdentifier, policyId, and * policyType. Paths that don't lead to the root from the target * object are ignored. For more information, see Policies.

*/ inline void SetLookupPolicy(const BatchLookupPolicy& value) { m_lookupPolicyHasBeenSet = true; m_lookupPolicy = value; } /** *

Lists all policies from the root of the Directory to the object * specified. If there are no policies present, an empty list is returned. If * policies are present, and if some objects don't have the policies attached, it * returns the ObjectIdentifier for such objects. If policies are * present, it returns ObjectIdentifier, policyId, and * policyType. Paths that don't lead to the root from the target * object are ignored. For more information, see Policies.

*/ inline void SetLookupPolicy(BatchLookupPolicy&& value) { m_lookupPolicyHasBeenSet = true; m_lookupPolicy = std::move(value); } /** *

Lists all policies from the root of the Directory to the object * specified. If there are no policies present, an empty list is returned. If * policies are present, and if some objects don't have the policies attached, it * returns the ObjectIdentifier for such objects. If policies are * present, it returns ObjectIdentifier, policyId, and * policyType. Paths that don't lead to the root from the target * object are ignored. For more information, see Policies.

*/ inline BatchReadOperation& WithLookupPolicy(const BatchLookupPolicy& value) { SetLookupPolicy(value); return *this;} /** *

Lists all policies from the root of the Directory to the object * specified. If there are no policies present, an empty list is returned. If * policies are present, and if some objects don't have the policies attached, it * returns the ObjectIdentifier for such objects. If policies are * present, it returns ObjectIdentifier, policyId, and * policyType. Paths that don't lead to the root from the target * object are ignored. For more information, see Policies.

*/ inline BatchReadOperation& WithLookupPolicy(BatchLookupPolicy&& value) { SetLookupPolicy(std::move(value)); return *this;} /** *

Lists objects attached to the specified index.

*/ inline const BatchListIndex& GetListIndex() const{ return m_listIndex; } /** *

Lists objects attached to the specified index.

*/ inline bool ListIndexHasBeenSet() const { return m_listIndexHasBeenSet; } /** *

Lists objects attached to the specified index.

*/ inline void SetListIndex(const BatchListIndex& value) { m_listIndexHasBeenSet = true; m_listIndex = value; } /** *

Lists objects attached to the specified index.

*/ inline void SetListIndex(BatchListIndex&& value) { m_listIndexHasBeenSet = true; m_listIndex = std::move(value); } /** *

Lists objects attached to the specified index.

*/ inline BatchReadOperation& WithListIndex(const BatchListIndex& value) { SetListIndex(value); return *this;} /** *

Lists objects attached to the specified index.

*/ inline BatchReadOperation& WithListIndex(BatchListIndex&& value) { SetListIndex(std::move(value)); return *this;} /** *

Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline const BatchListOutgoingTypedLinks& GetListOutgoingTypedLinks() const{ return m_listOutgoingTypedLinks; } /** *

Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline bool ListOutgoingTypedLinksHasBeenSet() const { return m_listOutgoingTypedLinksHasBeenSet; } /** *

Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline void SetListOutgoingTypedLinks(const BatchListOutgoingTypedLinks& value) { m_listOutgoingTypedLinksHasBeenSet = true; m_listOutgoingTypedLinks = value; } /** *

Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline void SetListOutgoingTypedLinks(BatchListOutgoingTypedLinks&& value) { m_listOutgoingTypedLinksHasBeenSet = true; m_listOutgoingTypedLinks = std::move(value); } /** *

Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline BatchReadOperation& WithListOutgoingTypedLinks(const BatchListOutgoingTypedLinks& value) { SetListOutgoingTypedLinks(value); return *this;} /** *

Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline BatchReadOperation& WithListOutgoingTypedLinks(BatchListOutgoingTypedLinks&& value) { SetListOutgoingTypedLinks(std::move(value)); return *this;} /** *

Returns a paginated list of all the incoming TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline const BatchListIncomingTypedLinks& GetListIncomingTypedLinks() const{ return m_listIncomingTypedLinks; } /** *

Returns a paginated list of all the incoming TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline bool ListIncomingTypedLinksHasBeenSet() const { return m_listIncomingTypedLinksHasBeenSet; } /** *

Returns a paginated list of all the incoming TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline void SetListIncomingTypedLinks(const BatchListIncomingTypedLinks& value) { m_listIncomingTypedLinksHasBeenSet = true; m_listIncomingTypedLinks = value; } /** *

Returns a paginated list of all the incoming TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline void SetListIncomingTypedLinks(BatchListIncomingTypedLinks&& value) { m_listIncomingTypedLinksHasBeenSet = true; m_listIncomingTypedLinks = std::move(value); } /** *

Returns a paginated list of all the incoming TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline BatchReadOperation& WithListIncomingTypedLinks(const BatchListIncomingTypedLinks& value) { SetListIncomingTypedLinks(value); return *this;} /** *

Returns a paginated list of all the incoming TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and * identity attributes. For more information, see Typed * Links.

*/ inline BatchReadOperation& WithListIncomingTypedLinks(BatchListIncomingTypedLinks&& value) { SetListIncomingTypedLinks(std::move(value)); return *this;} /** *

Retrieves attributes that are associated with a typed link.

*/ inline const BatchGetLinkAttributes& GetGetLinkAttributes() const{ return m_getLinkAttributes; } /** *

Retrieves attributes that are associated with a typed link.

*/ inline bool GetLinkAttributesHasBeenSet() const { return m_getLinkAttributesHasBeenSet; } /** *

Retrieves attributes that are associated with a typed link.

*/ inline void SetGetLinkAttributes(const BatchGetLinkAttributes& value) { m_getLinkAttributesHasBeenSet = true; m_getLinkAttributes = value; } /** *

Retrieves attributes that are associated with a typed link.

*/ inline void SetGetLinkAttributes(BatchGetLinkAttributes&& value) { m_getLinkAttributesHasBeenSet = true; m_getLinkAttributes = std::move(value); } /** *

Retrieves attributes that are associated with a typed link.

*/ inline BatchReadOperation& WithGetLinkAttributes(const BatchGetLinkAttributes& value) { SetGetLinkAttributes(value); return *this;} /** *

Retrieves attributes that are associated with a typed link.

*/ inline BatchReadOperation& WithGetLinkAttributes(BatchGetLinkAttributes&& value) { SetGetLinkAttributes(std::move(value)); return *this;} private: BatchListObjectAttributes m_listObjectAttributes; bool m_listObjectAttributesHasBeenSet = false; BatchListObjectChildren m_listObjectChildren; bool m_listObjectChildrenHasBeenSet = false; BatchListAttachedIndices m_listAttachedIndices; bool m_listAttachedIndicesHasBeenSet = false; BatchListObjectParentPaths m_listObjectParentPaths; bool m_listObjectParentPathsHasBeenSet = false; BatchGetObjectInformation m_getObjectInformation; bool m_getObjectInformationHasBeenSet = false; BatchGetObjectAttributes m_getObjectAttributes; bool m_getObjectAttributesHasBeenSet = false; BatchListObjectParents m_listObjectParents; bool m_listObjectParentsHasBeenSet = false; BatchListObjectPolicies m_listObjectPolicies; bool m_listObjectPoliciesHasBeenSet = false; BatchListPolicyAttachments m_listPolicyAttachments; bool m_listPolicyAttachmentsHasBeenSet = false; BatchLookupPolicy m_lookupPolicy; bool m_lookupPolicyHasBeenSet = false; BatchListIndex m_listIndex; bool m_listIndexHasBeenSet = false; BatchListOutgoingTypedLinks m_listOutgoingTypedLinks; bool m_listOutgoingTypedLinksHasBeenSet = false; BatchListIncomingTypedLinks m_listIncomingTypedLinks; bool m_listIncomingTypedLinksHasBeenSet = false; BatchGetLinkAttributes m_getLinkAttributes; bool m_getLinkAttributesHasBeenSet = false; }; } // namespace Model } // namespace CloudDirectory } // namespace Aws