/**
* 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 ResourceExplorer2
{
/**
* Amazon Web Services Resource Explorer is a resource search and discovery
* service. By using Resource Explorer, you can explore your resources using an
* internet search engine-like experience. Examples of resources include Amazon
* Relational Database Service (Amazon RDS) instances, Amazon Simple Storage
* Service (Amazon S3) buckets, or Amazon DynamoDB tables. You can search for your
* resources using resource metadata like names, tags, and IDs. Resource Explorer
* can search across all of the Amazon Web Services Regions in your account in
* which you turn the service on, to simplify your cross-Region workloads.
* Resource Explorer scans the resources in each of the Amazon Web Services
* Regions in your Amazon Web Services account in which you turn on Resource
* Explorer. Resource Explorer creates
* and maintains an index in each Region, with the details of that Region's
* resources.
You can search
* across all of the indexed Regions in your account by designating one of your
* Amazon Web Services Regions to contain the aggregator index for the account.
* When you promote
* a local index in a Region to become the aggregator index for the account,
* Resource Explorer automatically replicates the index information from all local
* indexes in the other Regions to the aggregator index. Therefore, the Region with
* the aggregator index has a copy of all resource information for all Regions in
* the account where you turned on Resource Explorer. As a result, views in the
* aggregator index Region include resources from all of the indexed Regions in
* your account.
For more information about Amazon Web Services Resource
* Explorer, including how to enable and configure the service, see the Amazon
* Web Services Resource Explorer User Guide.
*/
class AWS_RESOURCEEXPLORER2_API ResourceExplorer2Client : 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 ResourceExplorer2ClientConfiguration ClientConfigurationType;
typedef ResourceExplorer2EndpointProvider 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.
*/
ResourceExplorer2Client(const Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration& clientConfiguration = Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration(),
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.
*/
ResourceExplorer2Client(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration& clientConfiguration = Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration());
/**
* 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
*/
ResourceExplorer2Client(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration& clientConfiguration = Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration());
/* 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.
*/
ResourceExplorer2Client(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.
*/
ResourceExplorer2Client(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
*/
ResourceExplorer2Client(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~ResourceExplorer2Client();
/**
* Sets the specified view as the default for the Amazon Web Services Region in
* which you call this operation. When a user performs a Search that doesn't
* explicitly specify which view to use, then Amazon Web Services Resource Explorer
* automatically chooses this default view for searches performed in this Amazon
* Web Services Region.
If an Amazon Web Services Region doesn't have a
* default view configured, then users must explicitly specify a view with every
* Search
operation performed in that Region.
See Also:
* AWS
* API Reference
*/
virtual Model::AssociateDefaultViewOutcome AssociateDefaultView(const Model::AssociateDefaultViewRequest& request) const;
/**
* A Callable wrapper for AssociateDefaultView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateDefaultViewOutcomeCallable AssociateDefaultViewCallable(const AssociateDefaultViewRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::AssociateDefaultView, request);
}
/**
* An Async wrapper for AssociateDefaultView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateDefaultViewAsync(const AssociateDefaultViewRequestT& request, const AssociateDefaultViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::AssociateDefaultView, request, handler, context);
}
/**
* Retrieves details about a list of views.
See Also:
AWS
* API Reference
*/
virtual Model::BatchGetViewOutcome BatchGetView(const Model::BatchGetViewRequest& request) const;
/**
* A Callable wrapper for BatchGetView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchGetViewOutcomeCallable BatchGetViewCallable(const BatchGetViewRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::BatchGetView, request);
}
/**
* An Async wrapper for BatchGetView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchGetViewAsync(const BatchGetViewRequestT& request, const BatchGetViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::BatchGetView, request, handler, context);
}
/**
* Turns on Amazon Web Services Resource Explorer in the Amazon Web Services
* Region in which you called this operation by creating an index. Resource
* Explorer begins discovering the resources in this Region and stores the details
* about the resources in the index so that they can be queried by using the
* Search operation. You can create only one index in a Region.
* This operation creates only a local index. To promote the local index
* in one Amazon Web Services Region into the aggregator index for the Amazon Web
* Services account, use the UpdateIndexType operation. For more
* information, see Turning
* on cross-Region search by creating an aggregator index in the Amazon Web
* Services Resource Explorer User Guide.
For more details about
* what happens when you turn on Resource Explorer in an Amazon Web Services
* Region, see Turn
* on Resource Explorer to index your resources in an Amazon Web Services
* Region in the Amazon Web Services Resource Explorer User Guide.
* If this is the first Amazon Web Services Region in which you've created an
* index for Resource Explorer, then this operation also creates
* a service-linked role in your Amazon Web Services account that allows
* Resource Explorer to enumerate your resources to populate the index.
* -
Action: resource-explorer-2:CreateIndex
* Resource: The ARN of the index (as it will exist after the operation
* completes) in the Amazon Web Services Region and account in which you're trying
* to create the index. Use the wildcard character (*
) at the end of
* the string to match the eventual UUID. For example, the following
* Resource
element restricts the role or user to creating an index in
* only the us-east-2
Region of the specified account.
* "Resource":
* "arn:aws:resource-explorer-2:us-west-2:<account-id>:index/ *"
*
Alternatively, you can use "Resource": "*"
to allow the
* role or user to create an index in any Region.
-
Action:
* iam:CreateServiceLinkedRole
Resource: No specific
* resource (*).
This permission is required only the first time you create
* an index to turn on Resource Explorer in the account. Resource Explorer uses
* this to create the service-linked
* role needed to index the resources in your account. Resource Explorer uses
* the same service-linked role for all additional indexes you create
* afterwards.
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(&ResourceExplorer2Client::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(&ResourceExplorer2Client::CreateIndex, request, handler, context);
}
/**
* Creates a view that users can query by using the Search operation.
* Results from queries that you make using this view include only resources that
* match the view's Filters
. For more information about Amazon Web
* Services Resource Explorer views, see Managing
* views in the Amazon Web Services Resource Explorer User Guide.
* Only the principals with an IAM identity-based policy that grants
* Allow
to the Search
action on a Resource
* with the Amazon
* resource name (ARN) of this view can Search using views you create
* with this operation.
See Also:
AWS
* API Reference
*/
virtual Model::CreateViewOutcome CreateView(const Model::CreateViewRequest& request) const;
/**
* A Callable wrapper for CreateView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateViewOutcomeCallable CreateViewCallable(const CreateViewRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::CreateView, request);
}
/**
* An Async wrapper for CreateView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateViewAsync(const CreateViewRequestT& request, const CreateViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::CreateView, request, handler, context);
}
/**
* Deletes the specified index and turns off Amazon Web Services Resource
* Explorer in the specified Amazon Web Services Region. When you delete an index,
* Resource Explorer stops discovering and indexing resources in that Region.
* Resource Explorer also deletes all views in that Region. These actions occur as
* asynchronous background tasks. You can check to see when the actions are
* complete by using the GetIndex operation and checking the
* Status
response value.
If the index you delete is the
* aggregator index for the Amazon Web Services account, you must wait 24 hours
* before you can promote another local index to be the aggregator index for the
* account. Users can't perform account-wide searches using Resource Explorer until
* another aggregator index is configured.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteIndexOutcome DeleteIndex(const Model::DeleteIndexRequest& request) const;
/**
* A Callable wrapper for DeleteIndex that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteIndexOutcomeCallable DeleteIndexCallable(const DeleteIndexRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::DeleteIndex, request);
}
/**
* An Async wrapper for DeleteIndex that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteIndexAsync(const DeleteIndexRequestT& request, const DeleteIndexResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::DeleteIndex, request, handler, context);
}
/**
* Deletes the specified view.
If the specified view is the default view
* for its Amazon Web Services Region, then all Search operations in that
* Region must explicitly specify the view to use until you configure a new default
* by calling the AssociateDefaultView operation.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteViewOutcome DeleteView(const Model::DeleteViewRequest& request) const;
/**
* A Callable wrapper for DeleteView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteViewOutcomeCallable DeleteViewCallable(const DeleteViewRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::DeleteView, request);
}
/**
* An Async wrapper for DeleteView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteViewAsync(const DeleteViewRequestT& request, const DeleteViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::DeleteView, request, handler, context);
}
/**
* After you call this operation, the affected Amazon Web Services Region no
* longer has a default view. All Search operations in that Region must
* explicitly specify a view or the operation fails. You can configure a new
* default by calling the AssociateDefaultView operation.
If an
* Amazon Web Services Region doesn't have a default view configured, then users
* must explicitly specify a view with every Search
operation
* performed in that Region.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateDefaultViewOutcome DisassociateDefaultView() const;
/**
* A Callable wrapper for DisassociateDefaultView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateDefaultViewOutcomeCallable DisassociateDefaultViewCallable() const
{
return SubmitCallable(&ResourceExplorer2Client::DisassociateDefaultView);
}
/**
* An Async wrapper for DisassociateDefaultView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateDefaultViewAsync(const DisassociateDefaultViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::DisassociateDefaultView, handler, context);
}
/**
* Retrieves the Amazon Resource Name (ARN) of the view that is the default for
* the Amazon Web Services Region in which you call this operation. You can then
* call GetView to retrieve the details of that view.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetDefaultViewOutcome GetDefaultView() const;
/**
* A Callable wrapper for GetDefaultView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDefaultViewOutcomeCallable GetDefaultViewCallable() const
{
return SubmitCallable(&ResourceExplorer2Client::GetDefaultView);
}
/**
* An Async wrapper for GetDefaultView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDefaultViewAsync(const GetDefaultViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::GetDefaultView, handler, context);
}
/**
* Retrieves details about the Amazon Web Services Resource Explorer index in
* the Amazon Web Services Region in which you invoked the operation.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetIndexOutcome GetIndex() const;
/**
* A Callable wrapper for GetIndex that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetIndexOutcomeCallable GetIndexCallable() const
{
return SubmitCallable(&ResourceExplorer2Client::GetIndex);
}
/**
* An Async wrapper for GetIndex that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetIndexAsync(const GetIndexResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::GetIndex, handler, context);
}
/**
* Retrieves details of the specified view.
See Also:
AWS
* API Reference
*/
virtual Model::GetViewOutcome GetView(const Model::GetViewRequest& request) const;
/**
* A Callable wrapper for GetView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetViewOutcomeCallable GetViewCallable(const GetViewRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::GetView, request);
}
/**
* An Async wrapper for GetView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetViewAsync(const GetViewRequestT& request, const GetViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::GetView, request, handler, context);
}
/**
* Retrieves a list of all of the indexes in Amazon Web Services Regions that
* are currently collecting resource information for Amazon Web Services Resource
* Explorer.
See Also:
AWS
* API Reference
*/
virtual Model::ListIndexesOutcome ListIndexes(const Model::ListIndexesRequest& request) const;
/**
* A Callable wrapper for ListIndexes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIndexesOutcomeCallable ListIndexesCallable(const ListIndexesRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::ListIndexes, request);
}
/**
* An Async wrapper for ListIndexes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIndexesAsync(const ListIndexesRequestT& request, const ListIndexesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::ListIndexes, request, handler, context);
}
/**
* Retrieves a list of all resource types currently supported by Amazon Web
* Services Resource Explorer.
See Also:
AWS
* API Reference
*/
virtual Model::ListSupportedResourceTypesOutcome ListSupportedResourceTypes(const Model::ListSupportedResourceTypesRequest& request) const;
/**
* A Callable wrapper for ListSupportedResourceTypes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListSupportedResourceTypesOutcomeCallable ListSupportedResourceTypesCallable(const ListSupportedResourceTypesRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::ListSupportedResourceTypes, request);
}
/**
* An Async wrapper for ListSupportedResourceTypes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListSupportedResourceTypesAsync(const ListSupportedResourceTypesRequestT& request, const ListSupportedResourceTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::ListSupportedResourceTypes, request, handler, context);
}
/**
* Lists the tags that are attached to the specified resource.
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(&ResourceExplorer2Client::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(&ResourceExplorer2Client::ListTagsForResource, request, handler, context);
}
/**
* Lists the Amazon
* resource names (ARNs) of the views available in the Amazon Web Services
* Region in which you call this operation.
Always check the
* NextToken
response parameter for a null
value when
* calling a paginated operation. These operations can occasionally return an empty
* set of results even when there are more results available. The
* NextToken
response parameter value is null
only
* when there are no more results to display.
See Also:
AWS
* API Reference
*/
virtual Model::ListViewsOutcome ListViews(const Model::ListViewsRequest& request) const;
/**
* A Callable wrapper for ListViews that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListViewsOutcomeCallable ListViewsCallable(const ListViewsRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::ListViews, request);
}
/**
* An Async wrapper for ListViews that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListViewsAsync(const ListViewsRequestT& request, const ListViewsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::ListViews, request, handler, context);
}
/**
* Searches for resources and displays details about all resources that match
* the specified criteria. You must specify a query string.
All search
* queries must use a view. If you don't explicitly specify a view, then Amazon Web
* Services Resource Explorer uses the default view for the Amazon Web Services
* Region in which you call this operation. The results are the logical
* intersection of the results that match both the QueryString
* parameter supplied to this operation and the SearchFilter
parameter
* attached to the view.
For the complete syntax supported by the
* QueryString
parameter, see Search
* query syntax reference for Resource Explorer.
If your search results
* are empty, or are missing results that you think should be there, see Troubleshooting
* Resource Explorer search.
See Also:
AWS
* API Reference
*/
virtual Model::SearchOutcome Search(const Model::SearchRequest& request) const;
/**
* A Callable wrapper for Search that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchOutcomeCallable SearchCallable(const SearchRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::Search, request);
}
/**
* An Async wrapper for Search that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchAsync(const SearchRequestT& request, const SearchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::Search, request, handler, context);
}
/**
* Adds one or more tag key and value pairs to an Amazon Web Services Resource
* Explorer view or index.
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(&ResourceExplorer2Client::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(&ResourceExplorer2Client::TagResource, request, handler, context);
}
/**
* Removes one or more tag key and value pairs from an Amazon Web Services
* Resource Explorer view or index.
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(&ResourceExplorer2Client::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(&ResourceExplorer2Client::UntagResource, request, handler, context);
}
/**
* Changes the type of the index from one of the following types to the other.
* For more information about indexes and the role they perform in Amazon Web
* Services Resource Explorer, see Turning
* on cross-Region search by creating an aggregator index in the Amazon Web
* Services Resource Explorer User Guide.
-
* AGGREGATOR
index type
The index contains information
* about resources from all Amazon Web Services Regions in the Amazon Web Services
* account in which you've created a Resource Explorer index. Resource information
* from all other Regions is replicated to this Region's index.
When you
* change the index type to AGGREGATOR
, Resource Explorer turns on
* replication of all discovered resource information from the other Amazon Web
* Services Regions in your account to this index. You can then, from this Region
* only, perform resource search queries that span all Amazon Web Services Regions
* in the Amazon Web Services account. Turning on replication from all other
* Regions is performed by asynchronous background tasks. You can check the status
* of the asynchronous tasks by using the GetIndex operation. When the
* asynchronous tasks complete, the Status
response of that operation
* changes from UPDATING
to ACTIVE
. After that, you can
* start to see results from other Amazon Web Services Regions in query results.
* However, it can take several hours for replication from all other Regions to
* complete.
You can have only one aggregator index per Amazon
* Web Services account. Before you can promote a different index to be the
* aggregator index for the account, you must first demote the existing aggregator
* index to type LOCAL
.
-
* LOCAL
index type
The index contains information about
* resources in only the Amazon Web Services Region in which the index exists. If
* an aggregator index in another Region exists, then information in this local
* index is replicated to the aggregator index.
When you change the index
* type to LOCAL
, Resource Explorer turns off the replication of
* resource information from all other Amazon Web Services Regions in the Amazon
* Web Services account to this Region. The aggregator index remains in the
* UPDATING
state until all replication with other Regions
* successfully stops. You can check the status of the asynchronous task by using
* the GetIndex operation. When Resource Explorer successfully stops all
* replication with other Regions, the Status
response of that
* operation changes from UPDATING
to ACTIVE
. Separately,
* the resource information from other Regions that was previously stored in the
* index is deleted within 30 days by another background task. Until that
* asynchronous task completes, some results from other Regions can continue to
* appear in search results.
After you demote an aggregator
* index to a local index, you must wait 24 hours before you can promote another
* index to be the new aggregator index for the account.
*
See Also:
AWS
* API Reference
*/
virtual Model::UpdateIndexTypeOutcome UpdateIndexType(const Model::UpdateIndexTypeRequest& request) const;
/**
* A Callable wrapper for UpdateIndexType that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateIndexTypeOutcomeCallable UpdateIndexTypeCallable(const UpdateIndexTypeRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::UpdateIndexType, request);
}
/**
* An Async wrapper for UpdateIndexType that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateIndexTypeAsync(const UpdateIndexTypeRequestT& request, const UpdateIndexTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::UpdateIndexType, request, handler, context);
}
/**
* Modifies some of the details of a view. You can change the filter string and
* the list of included properties. You can't change the name of the
* view.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateViewOutcome UpdateView(const Model::UpdateViewRequest& request) const;
/**
* A Callable wrapper for UpdateView that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateViewOutcomeCallable UpdateViewCallable(const UpdateViewRequestT& request) const
{
return SubmitCallable(&ResourceExplorer2Client::UpdateView, request);
}
/**
* An Async wrapper for UpdateView that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateViewAsync(const UpdateViewRequestT& request, const UpdateViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ResourceExplorer2Client::UpdateView, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const ResourceExplorer2ClientConfiguration& clientConfiguration);
ResourceExplorer2ClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace ResourceExplorer2
} // namespace Aws