/**
* 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 CloudDirectory
{
/**
* Amazon Cloud Directory Amazon Cloud Directory is a
* component of the AWS Directory Service that simplifies the development and
* management of cloud-scale web, mobile, and IoT applications. This guide
* describes the Cloud Directory operations that you can call programmatically and
* includes detailed information on data types and errors. For information about
* Cloud Directory features, see AWS Directory Service and
* the Amazon
* Cloud Directory Developer Guide.
*/
class AWS_CLOUDDIRECTORY_API CloudDirectoryClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef CloudDirectoryClientConfiguration ClientConfigurationType;
typedef CloudDirectoryEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CloudDirectoryClient(const Aws::CloudDirectory::CloudDirectoryClientConfiguration& clientConfiguration = Aws::CloudDirectory::CloudDirectoryClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CloudDirectoryClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CloudDirectory::CloudDirectoryClientConfiguration& clientConfiguration = Aws::CloudDirectory::CloudDirectoryClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
CloudDirectoryClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CloudDirectory::CloudDirectoryClientConfiguration& clientConfiguration = Aws::CloudDirectory::CloudDirectoryClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CloudDirectoryClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CloudDirectoryClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
CloudDirectoryClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~CloudDirectoryClient();
/**
* Adds a new Facet to an object. An object can have more than one facet
* applied on it.
See Also:
AWS
* API Reference
*/
virtual Model::AddFacetToObjectOutcome AddFacetToObject(const Model::AddFacetToObjectRequest& request) const;
/**
* A Callable wrapper for AddFacetToObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddFacetToObjectOutcomeCallable AddFacetToObjectCallable(const AddFacetToObjectRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::AddFacetToObject, request);
}
/**
* An Async wrapper for AddFacetToObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddFacetToObjectAsync(const AddFacetToObjectRequestT& request, const AddFacetToObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::AddFacetToObject, request, handler, context);
}
/**
* Copies the input published schema, at the specified version, into the
* Directory with the same name and version as that of the published
* schema.
See Also:
AWS
* API Reference
*/
virtual Model::ApplySchemaOutcome ApplySchema(const Model::ApplySchemaRequest& request) const;
/**
* A Callable wrapper for ApplySchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ApplySchemaOutcomeCallable ApplySchemaCallable(const ApplySchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ApplySchema, request);
}
/**
* An Async wrapper for ApplySchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ApplySchemaAsync(const ApplySchemaRequestT& request, const ApplySchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ApplySchema, request, handler, context);
}
/**
* Attaches an existing object to another object. An object can be accessed in
* two ways:
-
Using the path
-
Using
* ObjectIdentifier
See Also:
AWS
* API Reference
*/
virtual Model::AttachObjectOutcome AttachObject(const Model::AttachObjectRequest& request) const;
/**
* A Callable wrapper for AttachObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AttachObjectOutcomeCallable AttachObjectCallable(const AttachObjectRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::AttachObject, request);
}
/**
* An Async wrapper for AttachObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AttachObjectAsync(const AttachObjectRequestT& request, const AttachObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::AttachObject, request, handler, context);
}
/**
* Attaches a policy object to a regular object. An object can have a limited
* number of attached policies.
See Also:
AWS
* API Reference
*/
virtual Model::AttachPolicyOutcome AttachPolicy(const Model::AttachPolicyRequest& request) const;
/**
* A Callable wrapper for AttachPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AttachPolicyOutcomeCallable AttachPolicyCallable(const AttachPolicyRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::AttachPolicy, request);
}
/**
* An Async wrapper for AttachPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AttachPolicyAsync(const AttachPolicyRequestT& request, const AttachPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::AttachPolicy, request, handler, context);
}
/**
* Attaches the specified object to the specified index.
See
* Also:
AWS
* API Reference
*/
virtual Model::AttachToIndexOutcome AttachToIndex(const Model::AttachToIndexRequest& request) const;
/**
* A Callable wrapper for AttachToIndex that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AttachToIndexOutcomeCallable AttachToIndexCallable(const AttachToIndexRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::AttachToIndex, request);
}
/**
* An Async wrapper for AttachToIndex that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AttachToIndexAsync(const AttachToIndexRequestT& request, const AttachToIndexResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::AttachToIndex, request, handler, context);
}
/**
* Attaches a typed link to a specified source and target object. For more
* information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::AttachTypedLinkOutcome AttachTypedLink(const Model::AttachTypedLinkRequest& request) const;
/**
* A Callable wrapper for AttachTypedLink that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AttachTypedLinkOutcomeCallable AttachTypedLinkCallable(const AttachTypedLinkRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::AttachTypedLink, request);
}
/**
* An Async wrapper for AttachTypedLink that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AttachTypedLinkAsync(const AttachTypedLinkRequestT& request, const AttachTypedLinkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::AttachTypedLink, request, handler, context);
}
/**
* Performs all the read operations in a batch.
See Also:
AWS
* API Reference
*/
virtual Model::BatchReadOutcome BatchRead(const Model::BatchReadRequest& request) const;
/**
* A Callable wrapper for BatchRead that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchReadOutcomeCallable BatchReadCallable(const BatchReadRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::BatchRead, request);
}
/**
* An Async wrapper for BatchRead that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchReadAsync(const BatchReadRequestT& request, const BatchReadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::BatchRead, request, handler, context);
}
/**
* Performs all the write operations in a batch. Either all the operations
* succeed or none.
See Also:
AWS
* API Reference
*/
virtual Model::BatchWriteOutcome BatchWrite(const Model::BatchWriteRequest& request) const;
/**
* A Callable wrapper for BatchWrite that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchWriteOutcomeCallable BatchWriteCallable(const BatchWriteRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::BatchWrite, request);
}
/**
* An Async wrapper for BatchWrite that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchWriteAsync(const BatchWriteRequestT& request, const BatchWriteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::BatchWrite, request, handler, context);
}
/**
* Creates a Directory by copying the published schema into the
* directory. A directory cannot be created without a schema.
You can also
* quickly create a directory using a managed schema, called the
* QuickStartSchema
. For more information, see Managed
* Schema in the Amazon Cloud Directory Developer Guide.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateDirectoryOutcome CreateDirectory(const Model::CreateDirectoryRequest& request) const;
/**
* A Callable wrapper for CreateDirectory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateDirectoryOutcomeCallable CreateDirectoryCallable(const CreateDirectoryRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::CreateDirectory, request);
}
/**
* An Async wrapper for CreateDirectory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateDirectoryAsync(const CreateDirectoryRequestT& request, const CreateDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::CreateDirectory, request, handler, context);
}
/**
* Creates a new Facet in a schema. Facet creation is allowed only in
* development or applied schemas.
See Also:
AWS
* API Reference
*/
virtual Model::CreateFacetOutcome CreateFacet(const Model::CreateFacetRequest& request) const;
/**
* A Callable wrapper for CreateFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateFacetOutcomeCallable CreateFacetCallable(const CreateFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::CreateFacet, request);
}
/**
* An Async wrapper for CreateFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateFacetAsync(const CreateFacetRequestT& request, const CreateFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::CreateFacet, request, handler, context);
}
/**
* Creates an index object. See Indexing
* and search for more information.
See Also:
AWS
* API Reference
*/
virtual Model::CreateIndexOutcome CreateIndex(const Model::CreateIndexRequest& request) const;
/**
* A Callable wrapper for CreateIndex that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateIndexOutcomeCallable CreateIndexCallable(const CreateIndexRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::CreateIndex, request);
}
/**
* An Async wrapper for CreateIndex that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateIndexAsync(const CreateIndexRequestT& request, const CreateIndexResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::CreateIndex, request, handler, context);
}
/**
* Creates an object in a Directory. Additionally attaches the object to
* a parent, if a parent reference and LinkName
is specified. An
* object is simply a collection of Facet attributes. You can also use this
* API call to create a policy object, if the facet from which you create the
* object is a policy facet.
See Also:
AWS
* API Reference
*/
virtual Model::CreateObjectOutcome CreateObject(const Model::CreateObjectRequest& request) const;
/**
* A Callable wrapper for CreateObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateObjectOutcomeCallable CreateObjectCallable(const CreateObjectRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::CreateObject, request);
}
/**
* An Async wrapper for CreateObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateObjectAsync(const CreateObjectRequestT& request, const CreateObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::CreateObject, request, handler, context);
}
/**
* Creates a new schema in a development state. A schema can exist in three
* phases:
-
Development: This is a mutable phase of the
* schema. All new schemas are in the development phase. Once the schema is
* finalized, it can be published.
-
Published: Published
* schemas are immutable and have a version associated with them.
-
*
Applied: Applied schemas are mutable in a way that allows you to add
* new schema facets. You can also add new, nonrequired attributes to existing
* schema facets. You can apply only published schemas to directories.
*
See Also:
AWS
* API Reference
*/
virtual Model::CreateSchemaOutcome CreateSchema(const Model::CreateSchemaRequest& request) const;
/**
* A Callable wrapper for CreateSchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSchemaOutcomeCallable CreateSchemaCallable(const CreateSchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::CreateSchema, request);
}
/**
* An Async wrapper for CreateSchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSchemaAsync(const CreateSchemaRequestT& request, const CreateSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::CreateSchema, request, handler, context);
}
/**
* Creates a TypedLinkFacet. For more information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::CreateTypedLinkFacetOutcome CreateTypedLinkFacet(const Model::CreateTypedLinkFacetRequest& request) const;
/**
* A Callable wrapper for CreateTypedLinkFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateTypedLinkFacetOutcomeCallable CreateTypedLinkFacetCallable(const CreateTypedLinkFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::CreateTypedLinkFacet, request);
}
/**
* An Async wrapper for CreateTypedLinkFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateTypedLinkFacetAsync(const CreateTypedLinkFacetRequestT& request, const CreateTypedLinkFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::CreateTypedLinkFacet, request, handler, context);
}
/**
* Deletes a directory. Only disabled directories can be deleted. A deleted
* directory cannot be undone. Exercise extreme caution when deleting
* directories.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDirectoryOutcome DeleteDirectory(const Model::DeleteDirectoryRequest& request) const;
/**
* A Callable wrapper for DeleteDirectory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDirectoryOutcomeCallable DeleteDirectoryCallable(const DeleteDirectoryRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DeleteDirectory, request);
}
/**
* An Async wrapper for DeleteDirectory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDirectoryAsync(const DeleteDirectoryRequestT& request, const DeleteDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DeleteDirectory, request, handler, context);
}
/**
* Deletes a given Facet. All attributes and Rules that are
* associated with the facet will be deleted. Only development schema facets are
* allowed deletion.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteFacetOutcome DeleteFacet(const Model::DeleteFacetRequest& request) const;
/**
* A Callable wrapper for DeleteFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteFacetOutcomeCallable DeleteFacetCallable(const DeleteFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DeleteFacet, request);
}
/**
* An Async wrapper for DeleteFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteFacetAsync(const DeleteFacetRequestT& request, const DeleteFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DeleteFacet, request, handler, context);
}
/**
* Deletes an object and its associated attributes. Only objects with no
* children and no parents can be deleted. The maximum number of attributes that
* can be deleted during an object deletion is 30. For more information, see Amazon
* Cloud Directory Limits.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteObjectOutcome DeleteObject(const Model::DeleteObjectRequest& request) const;
/**
* A Callable wrapper for DeleteObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const DeleteObjectRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DeleteObject, request);
}
/**
* An Async wrapper for DeleteObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteObjectAsync(const DeleteObjectRequestT& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DeleteObject, request, handler, context);
}
/**
* Deletes a given schema. Schemas in a development and published state can only
* be deleted.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteSchemaOutcome DeleteSchema(const Model::DeleteSchemaRequest& request) const;
/**
* A Callable wrapper for DeleteSchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteSchemaOutcomeCallable DeleteSchemaCallable(const DeleteSchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DeleteSchema, request);
}
/**
* An Async wrapper for DeleteSchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteSchemaAsync(const DeleteSchemaRequestT& request, const DeleteSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DeleteSchema, request, handler, context);
}
/**
* Deletes a TypedLinkFacet. For more information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteTypedLinkFacetOutcome DeleteTypedLinkFacet(const Model::DeleteTypedLinkFacetRequest& request) const;
/**
* A Callable wrapper for DeleteTypedLinkFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteTypedLinkFacetOutcomeCallable DeleteTypedLinkFacetCallable(const DeleteTypedLinkFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DeleteTypedLinkFacet, request);
}
/**
* An Async wrapper for DeleteTypedLinkFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteTypedLinkFacetAsync(const DeleteTypedLinkFacetRequestT& request, const DeleteTypedLinkFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DeleteTypedLinkFacet, request, handler, context);
}
/**
* Detaches the specified object from the specified index.
See
* Also:
AWS
* API Reference
*/
virtual Model::DetachFromIndexOutcome DetachFromIndex(const Model::DetachFromIndexRequest& request) const;
/**
* A Callable wrapper for DetachFromIndex that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DetachFromIndexOutcomeCallable DetachFromIndexCallable(const DetachFromIndexRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DetachFromIndex, request);
}
/**
* An Async wrapper for DetachFromIndex that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DetachFromIndexAsync(const DetachFromIndexRequestT& request, const DetachFromIndexResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DetachFromIndex, request, handler, context);
}
/**
* Detaches a given object from the parent object. The object that is to be
* detached from the parent is specified by the link name.
See Also:
* AWS
* API Reference
*/
virtual Model::DetachObjectOutcome DetachObject(const Model::DetachObjectRequest& request) const;
/**
* A Callable wrapper for DetachObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DetachObjectOutcomeCallable DetachObjectCallable(const DetachObjectRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DetachObject, request);
}
/**
* An Async wrapper for DetachObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DetachObjectAsync(const DetachObjectRequestT& request, const DetachObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DetachObject, request, handler, context);
}
/**
* Detaches a policy from an object.
See Also:
AWS
* API Reference
*/
virtual Model::DetachPolicyOutcome DetachPolicy(const Model::DetachPolicyRequest& request) const;
/**
* A Callable wrapper for DetachPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DetachPolicyOutcomeCallable DetachPolicyCallable(const DetachPolicyRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DetachPolicy, request);
}
/**
* An Async wrapper for DetachPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DetachPolicyAsync(const DetachPolicyRequestT& request, const DetachPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DetachPolicy, request, handler, context);
}
/**
* Detaches a typed link from a specified source and target object. For more
* information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::DetachTypedLinkOutcome DetachTypedLink(const Model::DetachTypedLinkRequest& request) const;
/**
* A Callable wrapper for DetachTypedLink that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DetachTypedLinkOutcomeCallable DetachTypedLinkCallable(const DetachTypedLinkRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DetachTypedLink, request);
}
/**
* An Async wrapper for DetachTypedLink that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DetachTypedLinkAsync(const DetachTypedLinkRequestT& request, const DetachTypedLinkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DetachTypedLink, request, handler, context);
}
/**
* Disables the specified directory. Disabled directories cannot be read or
* written to. Only enabled directories can be disabled. Disabled directories may
* be reenabled.
See Also:
AWS
* API Reference
*/
virtual Model::DisableDirectoryOutcome DisableDirectory(const Model::DisableDirectoryRequest& request) const;
/**
* A Callable wrapper for DisableDirectory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisableDirectoryOutcomeCallable DisableDirectoryCallable(const DisableDirectoryRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::DisableDirectory, request);
}
/**
* An Async wrapper for DisableDirectory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisableDirectoryAsync(const DisableDirectoryRequestT& request, const DisableDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::DisableDirectory, request, handler, context);
}
/**
* Enables the specified directory. Only disabled directories can be enabled.
* Once enabled, the directory can then be read and written to.
See
* Also:
AWS
* API Reference
*/
virtual Model::EnableDirectoryOutcome EnableDirectory(const Model::EnableDirectoryRequest& request) const;
/**
* A Callable wrapper for EnableDirectory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::EnableDirectoryOutcomeCallable EnableDirectoryCallable(const EnableDirectoryRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::EnableDirectory, request);
}
/**
* An Async wrapper for EnableDirectory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void EnableDirectoryAsync(const EnableDirectoryRequestT& request, const EnableDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::EnableDirectory, request, handler, context);
}
/**
* Returns current applied schema version ARN, including the minor version in
* use.
See Also:
AWS
* API Reference
*/
virtual Model::GetAppliedSchemaVersionOutcome GetAppliedSchemaVersion(const Model::GetAppliedSchemaVersionRequest& request) const;
/**
* A Callable wrapper for GetAppliedSchemaVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAppliedSchemaVersionOutcomeCallable GetAppliedSchemaVersionCallable(const GetAppliedSchemaVersionRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetAppliedSchemaVersion, request);
}
/**
* An Async wrapper for GetAppliedSchemaVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAppliedSchemaVersionAsync(const GetAppliedSchemaVersionRequestT& request, const GetAppliedSchemaVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetAppliedSchemaVersion, request, handler, context);
}
/**
* Retrieves metadata about a directory.
See Also:
AWS
* API Reference
*/
virtual Model::GetDirectoryOutcome GetDirectory(const Model::GetDirectoryRequest& request) const;
/**
* A Callable wrapper for GetDirectory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDirectoryOutcomeCallable GetDirectoryCallable(const GetDirectoryRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetDirectory, request);
}
/**
* An Async wrapper for GetDirectory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDirectoryAsync(const GetDirectoryRequestT& request, const GetDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetDirectory, request, handler, context);
}
/**
* Gets details of the Facet, such as facet name, attributes,
* Rules, or ObjectType
. You can call this on all kinds of
* schema facets -- published, development, or applied.
See Also:
* AWS
* API Reference
*/
virtual Model::GetFacetOutcome GetFacet(const Model::GetFacetRequest& request) const;
/**
* A Callable wrapper for GetFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetFacetOutcomeCallable GetFacetCallable(const GetFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetFacet, request);
}
/**
* An Async wrapper for GetFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetFacetAsync(const GetFacetRequestT& request, const GetFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetFacet, request, handler, context);
}
/**
* Retrieves attributes that are associated with a typed link.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetLinkAttributesOutcome GetLinkAttributes(const Model::GetLinkAttributesRequest& request) const;
/**
* A Callable wrapper for GetLinkAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLinkAttributesOutcomeCallable GetLinkAttributesCallable(const GetLinkAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetLinkAttributes, request);
}
/**
* An Async wrapper for GetLinkAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLinkAttributesAsync(const GetLinkAttributesRequestT& request, const GetLinkAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetLinkAttributes, request, handler, context);
}
/**
* Retrieves attributes within a facet that are associated with an
* object.
See Also:
AWS
* API Reference
*/
virtual Model::GetObjectAttributesOutcome GetObjectAttributes(const Model::GetObjectAttributesRequest& request) const;
/**
* A Callable wrapper for GetObjectAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetObjectAttributesOutcomeCallable GetObjectAttributesCallable(const GetObjectAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetObjectAttributes, request);
}
/**
* An Async wrapper for GetObjectAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetObjectAttributesAsync(const GetObjectAttributesRequestT& request, const GetObjectAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetObjectAttributes, request, handler, context);
}
/**
* Retrieves metadata about an object.
See Also:
AWS
* API Reference
*/
virtual Model::GetObjectInformationOutcome GetObjectInformation(const Model::GetObjectInformationRequest& request) const;
/**
* A Callable wrapper for GetObjectInformation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetObjectInformationOutcomeCallable GetObjectInformationCallable(const GetObjectInformationRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetObjectInformation, request);
}
/**
* An Async wrapper for GetObjectInformation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetObjectInformationAsync(const GetObjectInformationRequestT& request, const GetObjectInformationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetObjectInformation, request, handler, context);
}
/**
* Retrieves a JSON representation of the schema. See JSON
* Schema Format for more information.
See Also:
AWS
* API Reference
*/
virtual Model::GetSchemaAsJsonOutcome GetSchemaAsJson(const Model::GetSchemaAsJsonRequest& request) const;
/**
* A Callable wrapper for GetSchemaAsJson that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetSchemaAsJsonOutcomeCallable GetSchemaAsJsonCallable(const GetSchemaAsJsonRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetSchemaAsJson, request);
}
/**
* An Async wrapper for GetSchemaAsJson that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetSchemaAsJsonAsync(const GetSchemaAsJsonRequestT& request, const GetSchemaAsJsonResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetSchemaAsJson, request, handler, context);
}
/**
* Returns the identity attribute order for a specific TypedLinkFacet.
* For more information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::GetTypedLinkFacetInformationOutcome GetTypedLinkFacetInformation(const Model::GetTypedLinkFacetInformationRequest& request) const;
/**
* A Callable wrapper for GetTypedLinkFacetInformation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTypedLinkFacetInformationOutcomeCallable GetTypedLinkFacetInformationCallable(const GetTypedLinkFacetInformationRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::GetTypedLinkFacetInformation, request);
}
/**
* An Async wrapper for GetTypedLinkFacetInformation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTypedLinkFacetInformationAsync(const GetTypedLinkFacetInformationRequestT& request, const GetTypedLinkFacetInformationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::GetTypedLinkFacetInformation, request, handler, context);
}
/**
* Lists schema major versions applied to a directory. If SchemaArn
* is provided, lists the minor version.
See Also:
AWS
* API Reference
*/
virtual Model::ListAppliedSchemaArnsOutcome ListAppliedSchemaArns(const Model::ListAppliedSchemaArnsRequest& request) const;
/**
* A Callable wrapper for ListAppliedSchemaArns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAppliedSchemaArnsOutcomeCallable ListAppliedSchemaArnsCallable(const ListAppliedSchemaArnsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListAppliedSchemaArns, request);
}
/**
* An Async wrapper for ListAppliedSchemaArns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAppliedSchemaArnsAsync(const ListAppliedSchemaArnsRequestT& request, const ListAppliedSchemaArnsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListAppliedSchemaArns, request, handler, context);
}
/**
* Lists indices attached to the specified object.
See Also:
AWS
* API Reference
*/
virtual Model::ListAttachedIndicesOutcome ListAttachedIndices(const Model::ListAttachedIndicesRequest& request) const;
/**
* A Callable wrapper for ListAttachedIndices that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAttachedIndicesOutcomeCallable ListAttachedIndicesCallable(const ListAttachedIndicesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListAttachedIndices, request);
}
/**
* An Async wrapper for ListAttachedIndices that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAttachedIndicesAsync(const ListAttachedIndicesRequestT& request, const ListAttachedIndicesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListAttachedIndices, request, handler, context);
}
/**
* Retrieves each Amazon Resource Name (ARN) of schemas in the development
* state.
See Also:
AWS
* API Reference
*/
virtual Model::ListDevelopmentSchemaArnsOutcome ListDevelopmentSchemaArns(const Model::ListDevelopmentSchemaArnsRequest& request) const;
/**
* A Callable wrapper for ListDevelopmentSchemaArns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDevelopmentSchemaArnsOutcomeCallable ListDevelopmentSchemaArnsCallable(const ListDevelopmentSchemaArnsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListDevelopmentSchemaArns, request);
}
/**
* An Async wrapper for ListDevelopmentSchemaArns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDevelopmentSchemaArnsAsync(const ListDevelopmentSchemaArnsRequestT& request, const ListDevelopmentSchemaArnsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListDevelopmentSchemaArns, request, handler, context);
}
/**
* Lists directories created within an account.
See Also:
AWS
* API Reference
*/
virtual Model::ListDirectoriesOutcome ListDirectories(const Model::ListDirectoriesRequest& request) const;
/**
* A Callable wrapper for ListDirectories that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDirectoriesOutcomeCallable ListDirectoriesCallable(const ListDirectoriesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListDirectories, request);
}
/**
* An Async wrapper for ListDirectories that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDirectoriesAsync(const ListDirectoriesRequestT& request, const ListDirectoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListDirectories, request, handler, context);
}
/**
* Retrieves attributes attached to the facet.
See Also:
AWS
* API Reference
*/
virtual Model::ListFacetAttributesOutcome ListFacetAttributes(const Model::ListFacetAttributesRequest& request) const;
/**
* A Callable wrapper for ListFacetAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFacetAttributesOutcomeCallable ListFacetAttributesCallable(const ListFacetAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListFacetAttributes, request);
}
/**
* An Async wrapper for ListFacetAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFacetAttributesAsync(const ListFacetAttributesRequestT& request, const ListFacetAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListFacetAttributes, request, handler, context);
}
/**
* Retrieves the names of facets that exist in a schema.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListFacetNamesOutcome ListFacetNames(const Model::ListFacetNamesRequest& request) const;
/**
* A Callable wrapper for ListFacetNames that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFacetNamesOutcomeCallable ListFacetNamesCallable(const ListFacetNamesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListFacetNames, request);
}
/**
* An Async wrapper for ListFacetNames that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFacetNamesAsync(const ListFacetNamesRequestT& request, const ListFacetNamesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListFacetNames, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ListIncomingTypedLinksOutcome ListIncomingTypedLinks(const Model::ListIncomingTypedLinksRequest& request) const;
/**
* A Callable wrapper for ListIncomingTypedLinks that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIncomingTypedLinksOutcomeCallable ListIncomingTypedLinksCallable(const ListIncomingTypedLinksRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListIncomingTypedLinks, request);
}
/**
* An Async wrapper for ListIncomingTypedLinks that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIncomingTypedLinksAsync(const ListIncomingTypedLinksRequestT& request, const ListIncomingTypedLinksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListIncomingTypedLinks, request, handler, context);
}
/**
* Lists objects attached to the specified index.
See Also:
AWS
* API Reference
*/
virtual Model::ListIndexOutcome ListIndex(const Model::ListIndexRequest& request) const;
/**
* A Callable wrapper for ListIndex that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIndexOutcomeCallable ListIndexCallable(const ListIndexRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListIndex, request);
}
/**
* An Async wrapper for ListIndex that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIndexAsync(const ListIndexRequestT& request, const ListIndexResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListIndex, request, handler, context);
}
/**
* Lists the major version families of each managed schema. If a major version
* ARN is provided as SchemaArn, the minor version revisions in that family are
* listed instead.
See Also:
AWS
* API Reference
*/
virtual Model::ListManagedSchemaArnsOutcome ListManagedSchemaArns(const Model::ListManagedSchemaArnsRequest& request) const;
/**
* A Callable wrapper for ListManagedSchemaArns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListManagedSchemaArnsOutcomeCallable ListManagedSchemaArnsCallable(const ListManagedSchemaArnsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListManagedSchemaArns, request);
}
/**
* An Async wrapper for ListManagedSchemaArns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListManagedSchemaArnsAsync(const ListManagedSchemaArnsRequestT& request, const ListManagedSchemaArnsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListManagedSchemaArns, request, handler, context);
}
/**
* Lists all attributes that are associated with an object.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListObjectAttributesOutcome ListObjectAttributes(const Model::ListObjectAttributesRequest& request) const;
/**
* A Callable wrapper for ListObjectAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListObjectAttributesOutcomeCallable ListObjectAttributesCallable(const ListObjectAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListObjectAttributes, request);
}
/**
* An Async wrapper for ListObjectAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListObjectAttributesAsync(const ListObjectAttributesRequestT& request, const ListObjectAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListObjectAttributes, request, handler, context);
}
/**
* Returns a paginated list of child objects that are associated with a given
* object.
See Also:
AWS
* API Reference
*/
virtual Model::ListObjectChildrenOutcome ListObjectChildren(const Model::ListObjectChildrenRequest& request) const;
/**
* A Callable wrapper for ListObjectChildren that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListObjectChildrenOutcomeCallable ListObjectChildrenCallable(const ListObjectChildrenRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListObjectChildren, request);
}
/**
* An Async wrapper for ListObjectChildren that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListObjectChildrenAsync(const ListObjectChildrenRequestT& request, const ListObjectChildrenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListObjectChildren, request, handler, context);
}
/**
* 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.
Use this API to evaluate all parents for an object. The
* call returns all objects from the root of the directory up to the requested
* object. The API returns the number of paths based on user-defined
* MaxResults
, in case there are multiple paths to the parent. The
* order of the paths and nodes returned is consistent among multiple API calls
* unless the objects are deleted or moved. Paths not leading to the directory root
* are ignored from the target object.
See Also:
AWS
* API Reference
*/
virtual Model::ListObjectParentPathsOutcome ListObjectParentPaths(const Model::ListObjectParentPathsRequest& request) const;
/**
* A Callable wrapper for ListObjectParentPaths that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListObjectParentPathsOutcomeCallable ListObjectParentPathsCallable(const ListObjectParentPathsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListObjectParentPaths, request);
}
/**
* An Async wrapper for ListObjectParentPaths that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListObjectParentPathsAsync(const ListObjectParentPathsRequestT& request, const ListObjectParentPathsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListObjectParentPaths, request, handler, context);
}
/**
* Lists parent objects that are associated with a given object in pagination
* fashion.
See Also:
AWS
* API Reference
*/
virtual Model::ListObjectParentsOutcome ListObjectParents(const Model::ListObjectParentsRequest& request) const;
/**
* A Callable wrapper for ListObjectParents that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListObjectParentsOutcomeCallable ListObjectParentsCallable(const ListObjectParentsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListObjectParents, request);
}
/**
* An Async wrapper for ListObjectParents that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListObjectParentsAsync(const ListObjectParentsRequestT& request, const ListObjectParentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListObjectParents, request, handler, context);
}
/**
* Returns policies attached to an object in pagination fashion.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListObjectPoliciesOutcome ListObjectPolicies(const Model::ListObjectPoliciesRequest& request) const;
/**
* A Callable wrapper for ListObjectPolicies that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListObjectPoliciesOutcomeCallable ListObjectPoliciesCallable(const ListObjectPoliciesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListObjectPolicies, request);
}
/**
* An Async wrapper for ListObjectPolicies that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListObjectPoliciesAsync(const ListObjectPoliciesRequestT& request, const ListObjectPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListObjectPolicies, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ListOutgoingTypedLinksOutcome ListOutgoingTypedLinks(const Model::ListOutgoingTypedLinksRequest& request) const;
/**
* A Callable wrapper for ListOutgoingTypedLinks that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListOutgoingTypedLinksOutcomeCallable ListOutgoingTypedLinksCallable(const ListOutgoingTypedLinksRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListOutgoingTypedLinks, request);
}
/**
* An Async wrapper for ListOutgoingTypedLinks that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListOutgoingTypedLinksAsync(const ListOutgoingTypedLinksRequestT& request, const ListOutgoingTypedLinksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListOutgoingTypedLinks, request, handler, context);
}
/**
* Returns all of the ObjectIdentifiers
to which a given policy is
* attached.
See Also:
AWS
* API Reference
*/
virtual Model::ListPolicyAttachmentsOutcome ListPolicyAttachments(const Model::ListPolicyAttachmentsRequest& request) const;
/**
* A Callable wrapper for ListPolicyAttachments that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPolicyAttachmentsOutcomeCallable ListPolicyAttachmentsCallable(const ListPolicyAttachmentsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListPolicyAttachments, request);
}
/**
* An Async wrapper for ListPolicyAttachments that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPolicyAttachmentsAsync(const ListPolicyAttachmentsRequestT& request, const ListPolicyAttachmentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListPolicyAttachments, request, handler, context);
}
/**
* Lists the major version families of each published schema. If a major version
* ARN is provided as SchemaArn
, the minor version revisions in that
* family are listed instead.
See Also:
AWS
* API Reference
*/
virtual Model::ListPublishedSchemaArnsOutcome ListPublishedSchemaArns(const Model::ListPublishedSchemaArnsRequest& request) const;
/**
* A Callable wrapper for ListPublishedSchemaArns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPublishedSchemaArnsOutcomeCallable ListPublishedSchemaArnsCallable(const ListPublishedSchemaArnsRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListPublishedSchemaArns, request);
}
/**
* An Async wrapper for ListPublishedSchemaArns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPublishedSchemaArnsAsync(const ListPublishedSchemaArnsRequestT& request, const ListPublishedSchemaArnsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListPublishedSchemaArns, request, handler, context);
}
/**
* Returns tags for a resource. Tagging is currently supported only for
* directories with a limit of 50 tags per directory. All 50 tags are returned for
* a given directory with this API call.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListTagsForResource, request, handler, context);
}
/**
* Returns a paginated list of all attribute definitions for a particular
* TypedLinkFacet. For more information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::ListTypedLinkFacetAttributesOutcome ListTypedLinkFacetAttributes(const Model::ListTypedLinkFacetAttributesRequest& request) const;
/**
* A Callable wrapper for ListTypedLinkFacetAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTypedLinkFacetAttributesOutcomeCallable ListTypedLinkFacetAttributesCallable(const ListTypedLinkFacetAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListTypedLinkFacetAttributes, request);
}
/**
* An Async wrapper for ListTypedLinkFacetAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTypedLinkFacetAttributesAsync(const ListTypedLinkFacetAttributesRequestT& request, const ListTypedLinkFacetAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListTypedLinkFacetAttributes, request, handler, context);
}
/**
* Returns a paginated list of TypedLink
facet names for a
* particular schema. For more information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::ListTypedLinkFacetNamesOutcome ListTypedLinkFacetNames(const Model::ListTypedLinkFacetNamesRequest& request) const;
/**
* A Callable wrapper for ListTypedLinkFacetNames that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTypedLinkFacetNamesOutcomeCallable ListTypedLinkFacetNamesCallable(const ListTypedLinkFacetNamesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::ListTypedLinkFacetNames, request);
}
/**
* An Async wrapper for ListTypedLinkFacetNames that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTypedLinkFacetNamesAsync(const ListTypedLinkFacetNamesRequestT& request, const ListTypedLinkFacetNamesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::ListTypedLinkFacetNames, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::LookupPolicyOutcome LookupPolicy(const Model::LookupPolicyRequest& request) const;
/**
* A Callable wrapper for LookupPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::LookupPolicyOutcomeCallable LookupPolicyCallable(const LookupPolicyRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::LookupPolicy, request);
}
/**
* An Async wrapper for LookupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void LookupPolicyAsync(const LookupPolicyRequestT& request, const LookupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::LookupPolicy, request, handler, context);
}
/**
* Publishes a development schema with a major version and a recommended minor
* version.
See Also:
AWS
* API Reference
*/
virtual Model::PublishSchemaOutcome PublishSchema(const Model::PublishSchemaRequest& request) const;
/**
* A Callable wrapper for PublishSchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PublishSchemaOutcomeCallable PublishSchemaCallable(const PublishSchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::PublishSchema, request);
}
/**
* An Async wrapper for PublishSchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PublishSchemaAsync(const PublishSchemaRequestT& request, const PublishSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::PublishSchema, request, handler, context);
}
/**
* Allows a schema to be updated using JSON upload. Only available for
* development schemas. See JSON
* Schema Format for more information.
See Also:
AWS
* API Reference
*/
virtual Model::PutSchemaFromJsonOutcome PutSchemaFromJson(const Model::PutSchemaFromJsonRequest& request) const;
/**
* A Callable wrapper for PutSchemaFromJson that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutSchemaFromJsonOutcomeCallable PutSchemaFromJsonCallable(const PutSchemaFromJsonRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::PutSchemaFromJson, request);
}
/**
* An Async wrapper for PutSchemaFromJson that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutSchemaFromJsonAsync(const PutSchemaFromJsonRequestT& request, const PutSchemaFromJsonResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::PutSchemaFromJson, request, handler, context);
}
/**
* Removes the specified facet from the specified object.
See
* Also:
AWS
* API Reference
*/
virtual Model::RemoveFacetFromObjectOutcome RemoveFacetFromObject(const Model::RemoveFacetFromObjectRequest& request) const;
/**
* A Callable wrapper for RemoveFacetFromObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RemoveFacetFromObjectOutcomeCallable RemoveFacetFromObjectCallable(const RemoveFacetFromObjectRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::RemoveFacetFromObject, request);
}
/**
* An Async wrapper for RemoveFacetFromObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RemoveFacetFromObjectAsync(const RemoveFacetFromObjectRequestT& request, const RemoveFacetFromObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::RemoveFacetFromObject, request, handler, context);
}
/**
* An API operation for adding tags to a resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::TagResource, request, handler, context);
}
/**
* An API operation for removing tags from a resource.
See Also:
* AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UntagResource, request, handler, context);
}
/**
* Does the following:
-
Adds new Attributes
,
* Rules
, or ObjectTypes
.
-
Updates
* existing Attributes
, Rules
, or
* ObjectTypes
.
-
Deletes existing
* Attributes
, Rules
, or ObjectTypes
.
*
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFacetOutcome UpdateFacet(const Model::UpdateFacetRequest& request) const;
/**
* A Callable wrapper for UpdateFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFacetOutcomeCallable UpdateFacetCallable(const UpdateFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpdateFacet, request);
}
/**
* An Async wrapper for UpdateFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFacetAsync(const UpdateFacetRequestT& request, const UpdateFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpdateFacet, request, handler, context);
}
/**
* Updates a given typed link’s attributes. Attributes to be updated must not
* contribute to the typed link’s identity, as defined by its
* IdentityAttributeOrder
.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateLinkAttributesOutcome UpdateLinkAttributes(const Model::UpdateLinkAttributesRequest& request) const;
/**
* A Callable wrapper for UpdateLinkAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateLinkAttributesOutcomeCallable UpdateLinkAttributesCallable(const UpdateLinkAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpdateLinkAttributes, request);
}
/**
* An Async wrapper for UpdateLinkAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateLinkAttributesAsync(const UpdateLinkAttributesRequestT& request, const UpdateLinkAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpdateLinkAttributes, request, handler, context);
}
/**
* Updates a given object's attributes.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateObjectAttributesOutcome UpdateObjectAttributes(const Model::UpdateObjectAttributesRequest& request) const;
/**
* A Callable wrapper for UpdateObjectAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateObjectAttributesOutcomeCallable UpdateObjectAttributesCallable(const UpdateObjectAttributesRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpdateObjectAttributes, request);
}
/**
* An Async wrapper for UpdateObjectAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateObjectAttributesAsync(const UpdateObjectAttributesRequestT& request, const UpdateObjectAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpdateObjectAttributes, request, handler, context);
}
/**
* Updates the schema name with a new name. Only development schema names can be
* updated.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateSchemaOutcome UpdateSchema(const Model::UpdateSchemaRequest& request) const;
/**
* A Callable wrapper for UpdateSchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateSchemaOutcomeCallable UpdateSchemaCallable(const UpdateSchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpdateSchema, request);
}
/**
* An Async wrapper for UpdateSchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateSchemaAsync(const UpdateSchemaRequestT& request, const UpdateSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpdateSchema, request, handler, context);
}
/**
* Updates a TypedLinkFacet. For more information, see Typed
* Links.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateTypedLinkFacetOutcome UpdateTypedLinkFacet(const Model::UpdateTypedLinkFacetRequest& request) const;
/**
* A Callable wrapper for UpdateTypedLinkFacet that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateTypedLinkFacetOutcomeCallable UpdateTypedLinkFacetCallable(const UpdateTypedLinkFacetRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpdateTypedLinkFacet, request);
}
/**
* An Async wrapper for UpdateTypedLinkFacet that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateTypedLinkFacetAsync(const UpdateTypedLinkFacetRequestT& request, const UpdateTypedLinkFacetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpdateTypedLinkFacet, request, handler, context);
}
/**
* Upgrades a single directory in-place using the
* PublishedSchemaArn
with schema updates found in
* MinorVersion
. Backwards-compatible minor version upgrades are
* instantaneously available for readers on all objects in the directory. Note:
* This is a synchronous API call and upgrades only one schema on a given directory
* per call. To upgrade multiple directories from one schema, you would need to
* call this API on each directory.
See Also:
AWS
* API Reference
*/
virtual Model::UpgradeAppliedSchemaOutcome UpgradeAppliedSchema(const Model::UpgradeAppliedSchemaRequest& request) const;
/**
* A Callable wrapper for UpgradeAppliedSchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpgradeAppliedSchemaOutcomeCallable UpgradeAppliedSchemaCallable(const UpgradeAppliedSchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpgradeAppliedSchema, request);
}
/**
* An Async wrapper for UpgradeAppliedSchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpgradeAppliedSchemaAsync(const UpgradeAppliedSchemaRequestT& request, const UpgradeAppliedSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpgradeAppliedSchema, request, handler, context);
}
/**
* Upgrades a published schema under a new minor version revision using the
* current contents of DevelopmentSchemaArn
.
See Also:
* AWS
* API Reference
*/
virtual Model::UpgradePublishedSchemaOutcome UpgradePublishedSchema(const Model::UpgradePublishedSchemaRequest& request) const;
/**
* A Callable wrapper for UpgradePublishedSchema that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpgradePublishedSchemaOutcomeCallable UpgradePublishedSchemaCallable(const UpgradePublishedSchemaRequestT& request) const
{
return SubmitCallable(&CloudDirectoryClient::UpgradePublishedSchema, request);
}
/**
* An Async wrapper for UpgradePublishedSchema that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpgradePublishedSchemaAsync(const UpgradePublishedSchemaRequestT& request, const UpgradePublishedSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CloudDirectoryClient::UpgradePublishedSchema, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const CloudDirectoryClientConfiguration& clientConfiguration);
CloudDirectoryClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace CloudDirectory
} // namespace Aws