/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once /* Generic header includes */ #include #include #include #include #include #include #include #include #include /* End of generic header includes */ /* Service model headers required in CloudDirectoryClient header */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* End of service model headers required in CloudDirectoryClient header */ namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace CloudDirectory { using CloudDirectoryClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudDirectoryEndpointProviderBase = Aws::CloudDirectory::Endpoint::CloudDirectoryEndpointProviderBase; using CloudDirectoryEndpointProvider = Aws::CloudDirectory::Endpoint::CloudDirectoryEndpointProvider; namespace Model { /* Service model forward declarations required in CloudDirectoryClient header */ class AddFacetToObjectRequest; class ApplySchemaRequest; class AttachObjectRequest; class AttachPolicyRequest; class AttachToIndexRequest; class AttachTypedLinkRequest; class BatchReadRequest; class BatchWriteRequest; class CreateDirectoryRequest; class CreateFacetRequest; class CreateIndexRequest; class CreateObjectRequest; class CreateSchemaRequest; class CreateTypedLinkFacetRequest; class DeleteDirectoryRequest; class DeleteFacetRequest; class DeleteObjectRequest; class DeleteSchemaRequest; class DeleteTypedLinkFacetRequest; class DetachFromIndexRequest; class DetachObjectRequest; class DetachPolicyRequest; class DetachTypedLinkRequest; class DisableDirectoryRequest; class EnableDirectoryRequest; class GetAppliedSchemaVersionRequest; class GetDirectoryRequest; class GetFacetRequest; class GetLinkAttributesRequest; class GetObjectAttributesRequest; class GetObjectInformationRequest; class GetSchemaAsJsonRequest; class GetTypedLinkFacetInformationRequest; class ListAppliedSchemaArnsRequest; class ListAttachedIndicesRequest; class ListDevelopmentSchemaArnsRequest; class ListDirectoriesRequest; class ListFacetAttributesRequest; class ListFacetNamesRequest; class ListIncomingTypedLinksRequest; class ListIndexRequest; class ListManagedSchemaArnsRequest; class ListObjectAttributesRequest; class ListObjectChildrenRequest; class ListObjectParentPathsRequest; class ListObjectParentsRequest; class ListObjectPoliciesRequest; class ListOutgoingTypedLinksRequest; class ListPolicyAttachmentsRequest; class ListPublishedSchemaArnsRequest; class ListTagsForResourceRequest; class ListTypedLinkFacetAttributesRequest; class ListTypedLinkFacetNamesRequest; class LookupPolicyRequest; class PublishSchemaRequest; class PutSchemaFromJsonRequest; class RemoveFacetFromObjectRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateFacetRequest; class UpdateLinkAttributesRequest; class UpdateObjectAttributesRequest; class UpdateSchemaRequest; class UpdateTypedLinkFacetRequest; class UpgradeAppliedSchemaRequest; class UpgradePublishedSchemaRequest; /* End of service model forward declarations required in CloudDirectoryClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome AddFacetToObjectOutcome; typedef Aws::Utils::Outcome ApplySchemaOutcome; typedef Aws::Utils::Outcome AttachObjectOutcome; typedef Aws::Utils::Outcome AttachPolicyOutcome; typedef Aws::Utils::Outcome AttachToIndexOutcome; typedef Aws::Utils::Outcome AttachTypedLinkOutcome; typedef Aws::Utils::Outcome BatchReadOutcome; typedef Aws::Utils::Outcome BatchWriteOutcome; typedef Aws::Utils::Outcome CreateDirectoryOutcome; typedef Aws::Utils::Outcome CreateFacetOutcome; typedef Aws::Utils::Outcome CreateIndexOutcome; typedef Aws::Utils::Outcome CreateObjectOutcome; typedef Aws::Utils::Outcome CreateSchemaOutcome; typedef Aws::Utils::Outcome CreateTypedLinkFacetOutcome; typedef Aws::Utils::Outcome DeleteDirectoryOutcome; typedef Aws::Utils::Outcome DeleteFacetOutcome; typedef Aws::Utils::Outcome DeleteObjectOutcome; typedef Aws::Utils::Outcome DeleteSchemaOutcome; typedef Aws::Utils::Outcome DeleteTypedLinkFacetOutcome; typedef Aws::Utils::Outcome DetachFromIndexOutcome; typedef Aws::Utils::Outcome DetachObjectOutcome; typedef Aws::Utils::Outcome DetachPolicyOutcome; typedef Aws::Utils::Outcome DetachTypedLinkOutcome; typedef Aws::Utils::Outcome DisableDirectoryOutcome; typedef Aws::Utils::Outcome EnableDirectoryOutcome; typedef Aws::Utils::Outcome GetAppliedSchemaVersionOutcome; typedef Aws::Utils::Outcome GetDirectoryOutcome; typedef Aws::Utils::Outcome GetFacetOutcome; typedef Aws::Utils::Outcome GetLinkAttributesOutcome; typedef Aws::Utils::Outcome GetObjectAttributesOutcome; typedef Aws::Utils::Outcome GetObjectInformationOutcome; typedef Aws::Utils::Outcome GetSchemaAsJsonOutcome; typedef Aws::Utils::Outcome GetTypedLinkFacetInformationOutcome; typedef Aws::Utils::Outcome ListAppliedSchemaArnsOutcome; typedef Aws::Utils::Outcome ListAttachedIndicesOutcome; typedef Aws::Utils::Outcome ListDevelopmentSchemaArnsOutcome; typedef Aws::Utils::Outcome ListDirectoriesOutcome; typedef Aws::Utils::Outcome ListFacetAttributesOutcome; typedef Aws::Utils::Outcome ListFacetNamesOutcome; typedef Aws::Utils::Outcome ListIncomingTypedLinksOutcome; typedef Aws::Utils::Outcome ListIndexOutcome; typedef Aws::Utils::Outcome ListManagedSchemaArnsOutcome; typedef Aws::Utils::Outcome ListObjectAttributesOutcome; typedef Aws::Utils::Outcome ListObjectChildrenOutcome; typedef Aws::Utils::Outcome ListObjectParentPathsOutcome; typedef Aws::Utils::Outcome ListObjectParentsOutcome; typedef Aws::Utils::Outcome ListObjectPoliciesOutcome; typedef Aws::Utils::Outcome ListOutgoingTypedLinksOutcome; typedef Aws::Utils::Outcome ListPolicyAttachmentsOutcome; typedef Aws::Utils::Outcome ListPublishedSchemaArnsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTypedLinkFacetAttributesOutcome; typedef Aws::Utils::Outcome ListTypedLinkFacetNamesOutcome; typedef Aws::Utils::Outcome LookupPolicyOutcome; typedef Aws::Utils::Outcome PublishSchemaOutcome; typedef Aws::Utils::Outcome PutSchemaFromJsonOutcome; typedef Aws::Utils::Outcome RemoveFacetFromObjectOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateFacetOutcome; typedef Aws::Utils::Outcome UpdateLinkAttributesOutcome; typedef Aws::Utils::Outcome UpdateObjectAttributesOutcome; typedef Aws::Utils::Outcome UpdateSchemaOutcome; typedef Aws::Utils::Outcome UpdateTypedLinkFacetOutcome; typedef Aws::Utils::Outcome UpgradeAppliedSchemaOutcome; typedef Aws::Utils::Outcome UpgradePublishedSchemaOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ typedef std::future AddFacetToObjectOutcomeCallable; typedef std::future ApplySchemaOutcomeCallable; typedef std::future AttachObjectOutcomeCallable; typedef std::future AttachPolicyOutcomeCallable; typedef std::future AttachToIndexOutcomeCallable; typedef std::future AttachTypedLinkOutcomeCallable; typedef std::future BatchReadOutcomeCallable; typedef std::future BatchWriteOutcomeCallable; typedef std::future CreateDirectoryOutcomeCallable; typedef std::future CreateFacetOutcomeCallable; typedef std::future CreateIndexOutcomeCallable; typedef std::future CreateObjectOutcomeCallable; typedef std::future CreateSchemaOutcomeCallable; typedef std::future CreateTypedLinkFacetOutcomeCallable; typedef std::future DeleteDirectoryOutcomeCallable; typedef std::future DeleteFacetOutcomeCallable; typedef std::future DeleteObjectOutcomeCallable; typedef std::future DeleteSchemaOutcomeCallable; typedef std::future DeleteTypedLinkFacetOutcomeCallable; typedef std::future DetachFromIndexOutcomeCallable; typedef std::future DetachObjectOutcomeCallable; typedef std::future DetachPolicyOutcomeCallable; typedef std::future DetachTypedLinkOutcomeCallable; typedef std::future DisableDirectoryOutcomeCallable; typedef std::future EnableDirectoryOutcomeCallable; typedef std::future GetAppliedSchemaVersionOutcomeCallable; typedef std::future GetDirectoryOutcomeCallable; typedef std::future GetFacetOutcomeCallable; typedef std::future GetLinkAttributesOutcomeCallable; typedef std::future GetObjectAttributesOutcomeCallable; typedef std::future GetObjectInformationOutcomeCallable; typedef std::future GetSchemaAsJsonOutcomeCallable; typedef std::future GetTypedLinkFacetInformationOutcomeCallable; typedef std::future ListAppliedSchemaArnsOutcomeCallable; typedef std::future ListAttachedIndicesOutcomeCallable; typedef std::future ListDevelopmentSchemaArnsOutcomeCallable; typedef std::future ListDirectoriesOutcomeCallable; typedef std::future ListFacetAttributesOutcomeCallable; typedef std::future ListFacetNamesOutcomeCallable; typedef std::future ListIncomingTypedLinksOutcomeCallable; typedef std::future ListIndexOutcomeCallable; typedef std::future ListManagedSchemaArnsOutcomeCallable; typedef std::future ListObjectAttributesOutcomeCallable; typedef std::future ListObjectChildrenOutcomeCallable; typedef std::future ListObjectParentPathsOutcomeCallable; typedef std::future ListObjectParentsOutcomeCallable; typedef std::future ListObjectPoliciesOutcomeCallable; typedef std::future ListOutgoingTypedLinksOutcomeCallable; typedef std::future ListPolicyAttachmentsOutcomeCallable; typedef std::future ListPublishedSchemaArnsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTypedLinkFacetAttributesOutcomeCallable; typedef std::future ListTypedLinkFacetNamesOutcomeCallable; typedef std::future LookupPolicyOutcomeCallable; typedef std::future PublishSchemaOutcomeCallable; typedef std::future PutSchemaFromJsonOutcomeCallable; typedef std::future RemoveFacetFromObjectOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateFacetOutcomeCallable; typedef std::future UpdateLinkAttributesOutcomeCallable; typedef std::future UpdateObjectAttributesOutcomeCallable; typedef std::future UpdateSchemaOutcomeCallable; typedef std::future UpdateTypedLinkFacetOutcomeCallable; typedef std::future UpgradeAppliedSchemaOutcomeCallable; typedef std::future UpgradePublishedSchemaOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model class CloudDirectoryClient; /* Service model async handlers definitions */ typedef std::function&) > AddFacetToObjectResponseReceivedHandler; typedef std::function&) > ApplySchemaResponseReceivedHandler; typedef std::function&) > AttachObjectResponseReceivedHandler; typedef std::function&) > AttachPolicyResponseReceivedHandler; typedef std::function&) > AttachToIndexResponseReceivedHandler; typedef std::function&) > AttachTypedLinkResponseReceivedHandler; typedef std::function&) > BatchReadResponseReceivedHandler; typedef std::function&) > BatchWriteResponseReceivedHandler; typedef std::function&) > CreateDirectoryResponseReceivedHandler; typedef std::function&) > CreateFacetResponseReceivedHandler; typedef std::function&) > CreateIndexResponseReceivedHandler; typedef std::function&) > CreateObjectResponseReceivedHandler; typedef std::function&) > CreateSchemaResponseReceivedHandler; typedef std::function&) > CreateTypedLinkFacetResponseReceivedHandler; typedef std::function&) > DeleteDirectoryResponseReceivedHandler; typedef std::function&) > DeleteFacetResponseReceivedHandler; typedef std::function&) > DeleteObjectResponseReceivedHandler; typedef std::function&) > DeleteSchemaResponseReceivedHandler; typedef std::function&) > DeleteTypedLinkFacetResponseReceivedHandler; typedef std::function&) > DetachFromIndexResponseReceivedHandler; typedef std::function&) > DetachObjectResponseReceivedHandler; typedef std::function&) > DetachPolicyResponseReceivedHandler; typedef std::function&) > DetachTypedLinkResponseReceivedHandler; typedef std::function&) > DisableDirectoryResponseReceivedHandler; typedef std::function&) > EnableDirectoryResponseReceivedHandler; typedef std::function&) > GetAppliedSchemaVersionResponseReceivedHandler; typedef std::function&) > GetDirectoryResponseReceivedHandler; typedef std::function&) > GetFacetResponseReceivedHandler; typedef std::function&) > GetLinkAttributesResponseReceivedHandler; typedef std::function&) > GetObjectAttributesResponseReceivedHandler; typedef std::function&) > GetObjectInformationResponseReceivedHandler; typedef std::function&) > GetSchemaAsJsonResponseReceivedHandler; typedef std::function&) > GetTypedLinkFacetInformationResponseReceivedHandler; typedef std::function&) > ListAppliedSchemaArnsResponseReceivedHandler; typedef std::function&) > ListAttachedIndicesResponseReceivedHandler; typedef std::function&) > ListDevelopmentSchemaArnsResponseReceivedHandler; typedef std::function&) > ListDirectoriesResponseReceivedHandler; typedef std::function&) > ListFacetAttributesResponseReceivedHandler; typedef std::function&) > ListFacetNamesResponseReceivedHandler; typedef std::function&) > ListIncomingTypedLinksResponseReceivedHandler; typedef std::function&) > ListIndexResponseReceivedHandler; typedef std::function&) > ListManagedSchemaArnsResponseReceivedHandler; typedef std::function&) > ListObjectAttributesResponseReceivedHandler; typedef std::function&) > ListObjectChildrenResponseReceivedHandler; typedef std::function&) > ListObjectParentPathsResponseReceivedHandler; typedef std::function&) > ListObjectParentsResponseReceivedHandler; typedef std::function&) > ListObjectPoliciesResponseReceivedHandler; typedef std::function&) > ListOutgoingTypedLinksResponseReceivedHandler; typedef std::function&) > ListPolicyAttachmentsResponseReceivedHandler; typedef std::function&) > ListPublishedSchemaArnsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTypedLinkFacetAttributesResponseReceivedHandler; typedef std::function&) > ListTypedLinkFacetNamesResponseReceivedHandler; typedef std::function&) > LookupPolicyResponseReceivedHandler; typedef std::function&) > PublishSchemaResponseReceivedHandler; typedef std::function&) > PutSchemaFromJsonResponseReceivedHandler; typedef std::function&) > RemoveFacetFromObjectResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateFacetResponseReceivedHandler; typedef std::function&) > UpdateLinkAttributesResponseReceivedHandler; typedef std::function&) > UpdateObjectAttributesResponseReceivedHandler; typedef std::function&) > UpdateSchemaResponseReceivedHandler; typedef std::function&) > UpdateTypedLinkFacetResponseReceivedHandler; typedef std::function&) > UpgradeAppliedSchemaResponseReceivedHandler; typedef std::function&) > UpgradePublishedSchemaResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace CloudDirectory } // namespace Aws